Sirchmunk MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- 该仓库实现了一个用于 Model Context Protocol (MCP) 的后端服务器,通过 MCP 提供对资源、工具、提示模板等的访问能力,目标是在 LLM 客户端(如 Claude Desktop、Cursor IDE 等)侧以标准化的方式获取上下文、执行外部工具、渲染提示等。
- 主要功能点
- MCP 服务端实现:
- 支持通过 MCP 规范接收请求并返回 JSON-RPC 响应。
- 将 Sirchmunk 的核心能力暴露为 MCP 工具,便于外部代理调用。
- 提供会话管理、能力声明以及多种传输协议的支持入口(如 stdio、SSE、WebSocket)。
- 服务端核心组件(Python 实现):
- SirchmunkService:MCP 服务的生命周期与任务处理入口,负责初始化、查询与会话状态。
- 使用 FastMCP 注册工具并暴露多种工具函数,便于 MCP 客户端执行。
- 与 Sirchmunk 的搜索/知识管理模块对接,实现对知识集群的检索、合并、嵌入向量存储等能力。
- 运行与配置(概要):
- 提供 MCP 服务所需的启动路径与配置接口,便于 MCP 客户端建立连接。
- 安装与运行步骤
- 安装 MCP 组件(仓库中现有实现需要配套环境):
- 确保 Python 环境就绪,安装所需依赖。
- 根据仓库提供的配置方式,准备启动命令及环境变量。
- 启动 MCP 服务器(核心步骤):
- 通过配置生成并启动 MCP 服务器,使其对外暴露 MCP 服务。
- 使用 MCP Inspector(或等效工具)验证服务是否按 MCP 标准工作。
- 服务器配置(MCP 客户端需要的配置描述,JSON 示例) { "server_name": "sirchmunk-mcp", "command": "sirchmunk-mcp", "args": [ "serve" ], "mcp_env_path": "~/.sirchmunk/.mcp_env", "transports": ["stdio", "sse", "websocket"] } 说明:
- server_name: MCP 服务器的名称,客户端在注册时使用的标识。
- command: 启动 MCP 服务器的命令(运行方式依赖工程的具体 CLI/入口)。
- args: 启动命令的参数列表,这里给出一个常用的“serve”启动模式。
- mcp_env_path: MCP 服务需要的环境变量配置文件路径,客户端无需读取该文件,只用于服务器初始化环境。
- transports: 服务器支持的传输协议集合,包含标准的 stdio、SSE、WebSocket 等传输方式,具体可根据部署环境扩展。
- 基本使用方法
- 连接与调用
- 客户端通过 MCP 协议连接到服务器后,按 MCP 标准发送请求,调用暴露的工具、读取资源、获取提示模板等能力。
- 能力与会话管理
- 服务器负责维护会话状态、能力声明,确保多路并发访问的稳定性与安全性。
- 安全与扩展
- 服务器端实现考虑了并发、日志、以及嵌入向量存储等知识管理能力,便于后续扩展与安全控制。
- 额外信息
- MCP 服务器实现位于 src/sirchmunk_mcp/,包含 service.py、server.py、config 等模块,提供核心服务初始化、工具注册与执行、以及 MCP 传输适配逻辑。
- 该实现与 Sirchmunk 的查询、知识管理、嵌入模型等组件紧密耦合,能够在 MCP 客户端发起请求时进行资源读取、工具执行、以及基于提示的渲染与返回。
- 备注
- 若你计划将该 MCP 服务器接入 MCP Inspector 进行测试,请确保相应的 Inspector 版本与 MCP 驱动版本兼容,并按照仓库提供的快速启动与集成文档进行配置。