A Model Context Protocol (MCP) server implementation that provides AI models with access to Typesense search capabilities. This server enables LLMs to discover, search, and analyze data stored in Typesense collections.
- List and access collections via
typesense://URIs - Each collection has a name, description, and document count
- JSON mime type for schema access
-
typesense_query
- Search for documents in Typesense collections with powerful filtering
- Input: Query text, collection name, search fields, filters, sort options, limit
- Returns matching documents with relevance scores
-
typesense_get_document
- Retrieve specific documents by ID from collections
- Input: Collection name, document ID
- Returns complete document data
-
typesense_collection_stats
- Get statistics about a Typesense collection
- Input: Collection name
- Returns collection metadata, document count, and schema information
-
analyze_collection
- Analyze collection structure and contents
- Input: Collection name
- Output: Insights about schema, data types, and statistics
-
search_suggestions
- Get suggestions for effective search queries for a collection
- Input: Collection name
- Output: Recommended search strategies based on collection schema
# Global installation
npm install -g typesense-mcp-server
# Local installation
npm install typesense-mcp-servernpx @michaellatman/mcp-get@latest install typesense-mcp-serverInstall dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchTo use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"typesense": {
"command": "node",
"args": [
"~/typesense-mcp-server/dist/index.js",
"--host", "your-typesense-host",
"--port", "8108",
"--protocol", "http",
"--api-key", "your-api-key"
]
},
}
}Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
The server provides information about Typesense collections:
- Collection Schemas (
typesense://collections/<collection>)- JSON schema information for each collection
- Includes field names and data types
- Sample documents for understanding data structure
The server provides the following tools for interacting with Typesense:
-
typesense_list_collections - List all available collections with their schemas
- Enables zero-conf discovery and routing
- LLM can enumerate collections at runtime and pick the right one(s) before searching
- Useful when collections vary by environment, tenant, or version
- Returns field definitions for schema inference (searchable, facetable, numeric fields)
- Supports
include_fieldsparameter to control detail level
-
typesense_query - Search for documents in a collection
- Full-text search with customizable parameters
- Supports filtering, sorting, and pagination
-
typesense_get_document - Retrieve a specific document by ID
-
typesense_collection_stats - Get detailed statistics about a specific collection
The server provides templates for:
- typesense_search - Template for constructing Typesense search queries
- typesense_collection - Template for viewing Typesense collection details
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host", "your-typesense-host",
"--port", "8108",
"--protocol", "http",
"--api-key", "your-api-key"
]
}
}
}The server logs information to a file located at:
/tmp/typesense-mcp.log
This log contains detailed information about server operations, requests, and any errors that occur.
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

