SNIPER 知识库 MCP 服务器
使用说明(简明实用版本)
-
项目简介
- 该仓库中的 packages/mcp-knowledge 直接实现了一个 MCP 服务器,负责暴露知识库的资源与工具,并提供基于知识索引的检索能力,供 LLM 客户端通过 JSON-RPC 与之交互。
-
主要功能点
- 工具(Tools)
- knowledge_search:基于查询对知识库进行检索,返回匹配条目及分数。
- knowledge_list:列出知识条目,可按 topic 过滤。
- knowledge_get:获取指定ID的知识条目明细。
- 资源(Resources)
- 提供对知识主题的访问入口,例如 sniper-knowledge://topics,用于获取知识主题列表或具体条目。
- 知识索引
- 自动从 .sniper/knowledge 目录下的 Markdown/Headings 提取内容,生成知识索引(knowledge-index.json),并提供基于 token 的估算。
- 服务器类型
- 通过 StdioServerTransport 使用标准输入/输出与 MCP 客户端通信,具备一个标准的服务端入口点。
- 工具(Tools)
-
安装步骤(本地构建与运行)
- 安装依赖
- 进入仓库中的 mcp-knowledge 目录,执行依赖安装(如 pnpm install)。
- 构建
- 运行构建命令将 TypeScript 代码编译为可执行的 Node.js 版本(例如 pnpm build,生成 dist/ 目录)。
- 启动 MCP 服务器
- 使用 Node 直接运行打包后的入口文件,使其通过标准输入输出与 MCP 客户端建立连接。
- 常见启动方式(在构建完成后)为:node dist/index.js
- 注意:实际路径请根据你本地的构建输出调整,确保 dist/index.js 可执行。
- 安装依赖
-
服务器配置(MCP 客户端所需的连接信息,非客户端代码) 配置示例(JSON,客户端需要的最小字段): { "server_name": "sniper-mcp-knowledge", "command": "node", "args": ["path/to/your/project/packages/mcp-knowledge/dist/index.js"] } 注释说明:
- server_name:MCP 服务器的唯一标识,在客户端需要引用时使用。
- command:启动服务器所用的命令,此处为 node。
- args:启动命令的参数,指向打包后的入口文件(dist/index.js)。若你将服务器打包并部署到其他位置,请用实际路径替换。 注意:MCP 客户端本身不需要包含具体实现细节,只需要知道如何启动服务器以及服务器的名称、启动命令和参数即可。
-
基本使用方法
- 架构概要:客户端通过标准化的 MCP 协议与此服务器通信,发送资源/工具相关请求,服务器返回 JSON-RPC 响应或相应的内容。
- 常见工作流:向 knowledge_search 传入查询,获取相关知识条目及分值;使用 knowledge_list 查看主题并可筛选;通过 knowledge_get 获取具体条目详情。
- 配置依赖:MCP 客户端使用你提供的 JSON 配置来启动与连接该 MCP 服务器,记得将服务器的启动命令和路径正确填入客户端配置中。
-
额外信息
- 服务器默认知识目录:.sniper/knowledge,索引文件 knowledge-index.json 会在该目录内生成/更新。
- 服务器版本与名称:在代码中服务器标识为 sniper-mcp-knowledge,版本信息为 3.0.0。