Knowledge Context Protocol (KCP) MCP 服务器实现集合

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库提供多语言实现的 MCP 服务器,用于把 knowledge.yaml 声明的知识单元暴露为 MCP 的 Resources(资源)、Tools(工具)与 Prompts(提示)。服务器通过 JSON-RPC 风格的交互,与 LLM 客户端对话,支持会话管理、能力声明以及多传输传输通道(如标准输入/输出、SSE、WebSocket 等)。同时实现了知识清单合并、资源读写、工具调用以及提示渲染等核心功能,适合作为后端上下文服务框架。
  • 主要功能点

    • 解析并暴露 knowledge.yaml,构建 KnowledgeManifest、KnowledgeUnit、Relationship 等模型,并暴露成 MCP 资源集合。
    • 提供 MCP 工具(如 search_knowledge、get_unit、get_command_syntax),LLM 客户端可调用外部功能。
    • 提供 MCP 提示(Prompt),如 sdd-review、kcp-explore,用于对话中获取上下文或指引。
    • 支持 sub-manifests 的合并,主清单与子清单单位合并,主清单优先。
    • 提供多语言实现路径:TypeScript、Python、Java,且包含相互对应的映射逻辑,确保跨语言一致性。
    • 实现严格的校验与相应的验证反馈(warnings、errors),并可在启动时输出。
    • 提供命令行界面和库 API,便于直接运行或嵌入到应用中。
    • 提供多种传输选项:stdio、SSE、HTTP 等,方便在不同运行环境中接入 MCP 客户端。
    • 提供辅助工具:生成知识 Instructions(指令文档)、Agent 文件、分文件的指令集等,便于集成到开发流程。
  • 安装与运行(各语言路径可选)

    • TypeScript/Node.js
      • 安装依赖并构建后运行:如 npm install / yarn install,然后运行相应的入口(例如通过 CLI 或作为库导入)。
    • Python
      • 安装依赖(如需要的 mcp 包、yaml、pydantic 等),通过桥接模块运行服务器(如 python -m kcp_mcp --help / 直接运行)。
    • Java
      • 使用 Maven/Gradle 构建后打包为可执行 Jar,运行 Java CLI 启动服务器。
    • 跨语言共性
      • 选择 knowledge.yaml 作为入口清单,确保 knowledge.yaml 与单元文件在正确路径下,必要时提供 sub-manifests 路径。
  • 服务器配置(客户端配置示例,JSON 格式) 说明:MCP 客户端需要知道如何启动并连接到服务器。下面是一个 accuracy 较高的示例,实际值应基于你从 knowledge.yaml 解析得到的 project slug 和实际部署路径来填写。该配置仅用于 MCP 客户端连接服务器时的命令与参数说明,不属于服务端代码。

    { "server_name": "kcp-test-project", "command": "kcp-mcp", "args": [ "knowledge.yaml", "--transport", "stdio" ], "sub_manifests": [], "commands_dir": null }

    说明:

    • server_name:服务器的名称,通常与 knowledge.yaml 所在项目的 slug 有关(示例中使用 test-project 的 slug 形式)。
    • command:用于启动 MCP 服务器的命令名称,如 kcp-mcp。
    • args:启动服务器所需的参数列表,通常包含知识清单文件路径以及传输类型等。
    • sub_manifests:若有子清单合并时的路径列表(可选)。
    • commands_dir:若启用命令清单(用于 get_command_syntax)时的目录路径(可选)。
  • 基本使用方法

    1. 准备阶段
      • 确保 knowledge.yaml 和相关单元内容存在,并按规范组织(可选使用子清单)。
      • 选择合适的语言实现路径(TypeScript/Python/Java),并安装相应运行环境和依赖。
    2. 启动 MCP 服务器
      • 以知识清单为入口启动对应语言实现的服务器(如运行 kcp-mcp 命令或通过库调用)。
      • 服务器会暴露资源、工具与提示,供 MCP 客户端通过 JSON-RPC 访问。
    3. 使用 MCP 客户端
      • 通过 JSON-RPC 客户端调用:资源列表、读取资源、调用工具、获取提示等。
      • 客户端需要提供服务器启动命令和参数(如上面的 JSON 配置示例)来进行连接。
    4. 扩展与集成
      • 可以通过 sub-manifests 合并额外单位,从而扩展知识图谱。
      • 可以通过 generateInstructions/generateAgentFile 等工具生成文档与代理文件,便于团队协作与自动化集成。
  • 关键词 知识图谱、资源管理、工具集成、提示渲染、跨语言桥接

  • 分类(选择性推荐) 1 - 开发者工具

服务器信息