Typesense MCP Server
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.
Demo
Features
Resources
- List and access collections via
typesense://
URIs - Each collection has a name, description, and document count
- JSON mime type for schema access
Tools
-
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
Prompts
-
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
Installation
Via npm
1# Global installation 2npm install -g typesense-mcp-server 3 4# Local installation 5npm install typesense-mcp-server
Via mcp-get
1npx @michaellatman/mcp-get@latest install typesense-mcp-server
Development
Install dependencies:
1npm install
Build the server:
1npm run build
For development with auto-rebuild:
1npm run watch
Installation for Development
Using Claude Desktop
To 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
1{ 2 "mcpServers": { 3 "typesense": { 4 "command": "node", 5 "args": [ 6 "~/typesense-mcp-server/dist/index.js", 7 "--host", "your-typesense-host", 8 "--port", "8108", 9 "--protocol", "http", 10 "--api-key", "your-api-key" 11 ] 12 }, 13 } 14}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
1npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Components
Resources
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
Resource Templates
The server provides templates for:
- typesense_search - Template for constructing Typesense search queries
- typesense_collection - Template for viewing Typesense collection details
Usage with Claude Desktop
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
1{ 2 "mcpServers": { 3 "typesense": { 4 "command": "npx", 5 "args": [ 6 "-y", 7 "typesense-mcp-server", 8 "--host", "your-typesense-host", 9 "--port", "8108", 10 "--protocol", "http", 11 "--api-key", "your-api-key" 12 ] 13 } 14 } 15}
Logging
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.
License
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.