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(根据实现可能需要额外参数)
- STDIO 模式(与 LLM 客户端通过管道通信)
- 运行后务必确保客户端能够连接到 MCP 服务器(STDIO 直接通过进程管道,HTTP/SSE 端口对外暴露)。
- 使用 Rust 构建并安装(推荐方式)
-
服务器配置(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