KTME Knowledge Transfer Me - MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介

    • KTME 的 MCP 服务器实现,核心职责是向 LLM 客户端提供结构化的上下文信息和功能入口。通过 JSON-RPC 进行通信,提供资源、工具、提示模板等管理能力,并且支持多种传输模式(STDIO、SSE、HTTP)。
  • 主要功能点

    • MCP 服务端:实现基于 JSON-RPC 的请求/响应处理,提供 initialize、tools/list、tools/call 等核心方法,以及对外暴露的工具集合。
    • 传输模式:STDIO、SSE(HTTP 流)和 HTTP 服务端口,支持灵活部署环境。
    • Tools 与 Prompts:可注册并执行工具,生成/渲染 Prompts,辅助 LLM 进行上下文管理与文档生成。
    • 会话与状态:服务端维护会话状态,提供状态查询和优雅关闭能力。
    • 与 KTME 生态的集成点:配合现有知识图谱、文档生成、云端文档同步等模块实现端到端的自动化工作流。
  • 安装步骤

    • 使用 Rust 构建并安装(推荐方式)
      • 通过 cargo 构建并安装本项目的二进制
    • 本地运行前提
      • 环境已安装 Rust 工具链,依赖 crate 已正确编译并链接
    • 运行方式示例
      • STDIO 模式(与 LLM 客户端通过管道通信)
        • ktme mcp start --stdio
      • 守护进程/HTTP 模式(对外提供端口,HTTP/SSE 访问)
        • ktme mcp start --daemon
        • 或显式指定端口,例如 ktme mcp start --daemon --port 3000(根据实现可能需要额外参数)
    • 运行后务必确保客户端能够连接到 MCP 服务器(STDIO 直接通过进程管道,HTTP/SSE 端口对外暴露)。
  • 服务器配置(MCP 客户端需读取该配置以连接服务器) 注:MCP 客户端不需要修改仓库代码,仅需使用提供的配置来连接服务器。以下为示例配置,描述服务器名称、启动命令及参数,便于客户端自动化连接。 { "server_name": "ktme-mcp-server", "command": "ktme", "args": ["mcp", "start", "--stdio"] // 如果使用 SSE/HTTP 模式,请改为 ["mcp","start","--daemon"],并确保端口的暴露配置正确 } 配置说明

    • server_name: MCP 服务器在系统中的名称,默认为 ktme-mcp-server。
    • command: 启动服务器的命令(不包含路径,只写命令名)。
    • args: 启动命令的参数数组,按顺序传递给命令。
    • transport 模式会影响客户端连接方式:若为 stdio,请使用管道式连接;若为 daemon,则通过指定端口进行 HTTP/SSE 连接。
  • 基本使用方法

    • 客户端初始化
      • 通过 initialize 接口建立初始会话,获取服务器能力与信息。
    • 查询与执行工具
      • 使用 tools/list 获取可用工具列表
      • 使用 tools/call 传入工具名称与参数执行具体功能,例如读取变更、生成文档等
    • 获取知识树/上下文
      • 通过 get_knowledge_tree 获取知识树地图,用于向 LLM 提供上下文
    • 进行文档生成/更新
      • 结合 KTME 的其他模块与 MCP 工具,LLM 可以调用相应工具触发文档生成、更新等工作流
  • 备注

    • MCP 服务器实现包含 STDIO 与 HTTP/SSE 模式,默认行为和暴露工具随实现版本的差异可能略有不同,请以实际运行时的日志为准。
    • 如需在生产环境中部署,请确保安全性、鉴权和传输层加固(如 TLS、鉴权令牌等)。
  • 关键词 知识图谱、JSON-RPC、文档生成、AI 工作流、Rust 服务端

  • 分类ID 6

服务器信息