npm package: @mseep/typesense-mcp-server
Description: A Model Context Protocol server that provides access to Typesense search capabilities
Author: Suhail
Latest version: 1.0.0

# Typesense MCP Server
---
[![npm version](https://badge.fury.io/js/typesense-mcp-server.svg)](https://badge.fury.io/js/typesense-mcp-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/node/v/typesense-mcp-server)](https://nodejs.org/)

A [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol/mcp) server implementation that provides AI models with access to [Typesense](https://typesense.org/) search capabilities. This server enables LLMs to discover, search, and analyze data stored in Typesense collections.

## Demo

[![Typesense MCP Server Demo | Claude Desktop](https://img.youtube.com/vi/your-video-id/0.jpg)](https://www.youtube.com/watch?v=your-video-id)

## 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

```bash
# Global installation
npm install -g typesense-mcp-server

# Local installation
npm install typesense-mcp-server
```

### Via mcp-get

```bash
npx @michaellatman/mcp-get@latest install typesense-mcp-server
```

## Development

Install dependencies:
```bash
npm install
```

Build the server:
```bash
npm run build
```

For development with auto-rebuild:
```bash
npm 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`

```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"
      ]
    },
  }
}
```

### Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:

```bash
npm 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`:

```json
{
  "mcpServers": {
    "typesense": {
      "command": "npx",
      "args": [
        "-y",
        "typesense-mcp-server",
        "--host", "your-typesense-host",
        "--port", "8108",
        "--protocol", "http",
        "--api-key", "your-api-key"
      ]
    }
  }
}
```

## 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.