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 客户端通信,具备一个标准的服务端入口点。
  • 安装步骤(本地构建与运行)

    1. 安装依赖
      • 进入仓库中的 mcp-knowledge 目录,执行依赖安装(如 pnpm install)。
    2. 构建
      • 运行构建命令将 TypeScript 代码编译为可执行的 Node.js 版本(例如 pnpm build,生成 dist/ 目录)。
    3. 启动 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。

服务器信息