mcpField
T
Typesense MCP Server

Typesense MCP Server

本地服务
github.com/avarant搜索与检索1011 周前更新

关于 Typesense MCP Server

Typesense MCP Server 向 MCP 客户端提供 Typesense 操作,涵盖集合与文档管理,以及关键词和向量搜索,并支持 STDIO、SSE 和 Streamable HTTP 传输。

主要功能

  1. 01检查服务健康状态并列出集合
  2. 02创建、查看、导出和删除集合
  3. 03创建、更新、导入和删除文档
  4. 04执行关键词和向量搜索
  5. 05使用 STDIO、SSE 或 Streamable HTTP

适用场景

  1. 01检查和管理 Typesense 集合
  2. 02导入或更新索引文档
  3. 03按文本或向量搜索集合内容

MCP 相关

它向 MCP 客户端提供 Typesense 健康状态、集合、文档和搜索工具,并支持 STDIO、SSE 和 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Typesense MCP 服务

一个与 Typesense 对接的 Model Context Protocol(MCP)服务

安装

安装 uv

需要 Python 3.11 或更高版本。

在 Mac 上,可以使用 homebrew 安装

brew install uv

克隆此软件包

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

将此服务添加到 MCP 客户端配置中。大多数客户端(Cursor:~/.cursor/mcp.json,Claude Desktop:~/Library/Application Support/Claude/claude_desktop_config.json,Windsurf、Zed、VS Code 等)都接受相同的 mcpServers 格式:

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

有关确切的配置文件位置,请参阅客户端的 MCP 文档。

传输方式

此服务支持三种 MCP 传输方式。STDIO 是默认方式,也是大多数桌面客户端(Claude Desktop、Cursor 等)使用的方式。对于远程客户端或 Web UI,可以使用旧版 SSE 传输方式或较新的 Streamable HTTP 传输方式,将其作为 HTTP 服务运行。

STDIO(默认)
TYPESENSE_API_KEY=xyz uv run python main.py
Streamable HTTP(推荐用于 Web 客户端)

/mcp 上的单一端点。适用于基于浏览器的客户端,例如 llama.cpp 网页聊天。设置 MCP_TRANSPORT=streamable-http(或传入 --http):

TYPESENSE_API_KEY=xyz \
MCP_TRANSPORT=streamable-http \
MCP_STATELESS_HTTP=true \
MCP_CORS_ORIGINS='*' \
uv run python main.py
  • 对于不会在请求之间保留 MCP 会话的客户端,必须启用无状态模式(MCP_STATELESS_HTTP=true)。
  • 浏览器客户端必须启用 CORS(MCP_CORS_ORIGINS)。在生产环境中,请使用 http://localhost:8080 这类特定来源,而不是 *。
SSE(旧版)

包含两个端点:用于事件流的 GET /sse,以及用于 JSON-RPC 的 POST /messages/。设置 MCP_TRANSPORT=sse(或传入 --sse):

TYPESENSE_API_KEY=xyz MCP_TRANSPORT=sse uv run python main.py
配置
环境变量默认值描述
MCP_TRANSPORTstdiostdio、sse 或 streamable-http
MCP_HOST0.0.0.0HTTP 传输方式的绑定地址
MCP_PORT8000HTTP 传输方式的绑定端口
MCP_STATELESS_HTTPfalseHTTP 传输方式的无状态模式(某些 Web 客户端必需)
MCP_CORS_ORIGINS(空)以逗号分隔的允许来源。留空则禁用 CORS。* = 任意来源。

可用工具

Typesense MCP 服务提供以下工具:

服务管理
  • check_typesense_health - 检查已配置的 Typesense 服务的健康状态
  • list_collections - 获取 Typesense 服务中所有集合的列表
集合管理
  • describe_collection - 获取特定集合的架构和元数据
  • export_collection - 导出特定集合中的所有文档
  • create_collection - 使用提供的架构创建新集合
  • delete_collection - 删除特定集合
  • truncate_collection - 删除集合中的所有文档,但保留架构
文档操作
  • create_document - 在特定集合中创建单个新文档
  • upsert_document - 在特定集合中插入或更新单个文档
  • index_multiple_documents - 批量索引多个文档(创建、插入或更新)
  • delete_document - 根据文档 ID 删除特定集合中的单个文档
  • import_documents_from_csv - 将 CSV 数据中的文档导入集合
搜索功能
  • search - 在特定集合中执行关键词搜索
  • vector_search - 在特定集合中执行向量相似度搜索

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。