typesense-mcp-server

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 8 GitHub stars
Code Gecti
  • Code scan — Scanned 3 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This server acts as a bridge between AI clients and the Typesense search engine using the Model Context Protocol (MCP). It allows compatible AI assistants to manage collections, search documents, and check server health directly.

Security Assessment
The tool provides functions to interact directly with a Typesense instance, meaning it handles your search database data. It requires a Typesense API key passed via environment variables, which is a secure standard practice—no hardcoded secrets were found in the codebase. The light code scan revealed no dangerous execution patterns, such as spawning unauthorized shell commands. However, it does make network requests to your Typesense server, and it exposes tools that can delete collections (`delete_collection`) or export massive amounts of data (`export_collection`). It also supports running as an HTTP/SSE server, which can expose the connection to the network if bound to `0.0.0.0`. Overall risk is assessed as Low to Medium: the code itself is safe, but the tool has high privileges over your connected Typesense data.

Quality Assessment
The project is very new and has low community visibility with only 8 GitHub stars, meaning it has not been broadly battle-tested. However, it is actively maintained (last push was today) and benefits from a clear, permissive MIT license. The documentation is excellent, providing straightforward setup instructions for multiple environments.

Verdict
Use with caution: the code itself is clean and safe, but its low community adoption and high-level database access mean you should monitor its actions and avoid exposing its HTTP mode publicly.
SUMMARY

MCP server for Typesense

README.md

Typesense MCP Server

smithery badge

A Model Context Protocol (MCP) Server that interfaces with Typesense

Installation

Installing via Smithery

To install Typesense Server Integration for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @avarant/typesense-mcp-server --client claude

Manual Installation

Install uv

On Mac you can install it using homebrew

brew install uv

Clone the package

git clone [email protected]:avarant/typesense-mcp-server.git ~/typesense-mcp-server

Update your .cursor/mcp.json to use in Cursor

{
  "mcpServers": {
    "typesense": {
      "command": "uv",
      "args": ["--directory", "~/typesense-mcp-server", "run", "mcp", "run", "main.py"],
      "env": {
        "TYPESENSE_HOST": "",
        "TYPESENSE_PORT": "", 
        "TYPESENSE_PROTOCOL": "",
        "TYPESENSE_API_KEY": ""
      }
    }
  }
}

Transports

The server supports two MCP transports. STDIO is the default and is what most desktop clients (Claude Desktop, Cursor, etc.) use. For remote clients, web UIs, or stateless tools like llama.cpp chat, you can run it as an HTTP SSE listener instead.

STDIO (default)

TYPESENSE_API_KEY=xyz uv run python main.py

HTTP / SSE

Set MCP_TRANSPORT=sse (or pass --sse) and optionally override host/port:

TYPESENSE_API_KEY=xyz \
MCP_TRANSPORT=sse \
MCP_HOST=0.0.0.0 \
MCP_PORT=8000 \
uv run python main.py

The server then exposes:

  • GET http://<host>:<port>/sse — SSE event stream (clients connect here)
  • POST http://<host>:<port>/messages/ — JSON-RPC message endpoint
Env var Default Description
MCP_TRANSPORT stdio stdio or sse
MCP_HOST 0.0.0.0 Bind address for SSE mode
MCP_PORT 8000 Bind port for SSE mode

Available Tools

The Typesense MCP Server provides the following tools:

Server Management

  • check_typesense_health - Checks the health status of the configured Typesense server
  • list_collections - Retrieves a list of all collections in the Typesense server

Collection Management

  • describe_collection - Retrieves the schema and metadata for a specific collection
  • export_collection - Exports all documents from a specific collection
  • create_collection - Creates a new collection with the provided schema
  • delete_collection - Deletes a specific collection
  • truncate_collection - Truncates a collection by deleting all documents but keeping the schema

Document Operations

  • create_document - Creates a single new document in a specific collection
  • upsert_document - Upserts (creates or updates) a single document in a specific collection
  • index_multiple_documents - Indexes (creates, upserts, or updates) multiple documents in a batch
  • delete_document - Deletes a single document by its ID from a specific collection
  • import_documents_from_csv - Imports documents from CSV data into a collection

Search Capabilities

  • search - Performs a keyword search on a specific collection
  • vector_search - Performs a vector similarity search on a specific collection

Yorumlar (0)

Sonuc bulunamadi