Koharu MCP 服务器实现
使用说明(Markdown 格式)
-
项目简介
- Koharu 的 MCP 服务器实现,作为后端服务,与客户端通过 MCP 协议进行通信,处理请求、返回结果并提供能力声明,便于 AI 代理进行资源访问、工具调用和提示渲染等功能。
-
主要功能点
- MCP 协议核心支持:实现对 MCP 请求的解析、执行与响应,支持 JSON-RPC 风格的请求/响应流程。
- 服务能力声明:暴露服务器能力,包含工具和处理能力信息,能够被 MCP 客户端查询和使用。
- 工具路由与执行:将客户端的工具调用映射到 Koharu 后端的具体操作(如文档读取、渲染、翻译/LLM 调用等)。
- 会话与资源管理:与共享资源(Resources)进行协作,确保请求在可用资源上执行。
- 与 Koharu 生态整合:对接 Koharu 的文档、OCR、检测、文本排版、LLM 等模块,提供统一入口。
-
安装步骤
- 需要 Rust 开发环境。
- 编译仓库并构建产物(通常为 Koharu 二进制,内置 MCP 服务器能力)。
- 运行示例(端口可配置):
- koharu --port 9999
- 运行后,MCP 服务器会在指定端口监听,默认端口若未显式设置则随系统分配。
-
服务器配置(JSON,供 MCP 客户端使用) 说明:以下配置用于 MCP 客户端在连接服务器时读取必要的启动信息。MCP 客户端需要至少包含 server name、command 与 args,用于启动并连接 MCP 服务器。具体实现中 Koharu 的 MCP 服务端命令为本地可执行程序,参数用于指定端口等。
{ "server_name": "Koharu MCP Server", "command": "koharu", "args": ["--port", "9999"], "description": "Koharu 内置 MCP 服务器,用于对接 LLM 客户端的资源、工具与提示渲染服务", "notes": "MCP 客户端将通过 http/ws 的 MCP 端点与该服务器通信,默认端口可由 --port 指定。客户端无需额外的代码逻辑,直接通过 MCP 协议对接。" }
-
基本使用方法
- 启动:在支持的主机上执行上述命令,端口可指定(如 9999)。
- 连接:将 MCP 客户端的服务器地址设为 http://localhost:9999/mcp(视具体实现而定的 MCP 路径)。
- 调用方式:通过 MCP 客户端的 JSON-RPC 风格请求,向 Koharu MCP Server 发送资源读取、工具调用、Prompt 获取等请求,接受服务器返回的 JSON-RPC 风控响应。
- 典型用途:将 LLM 代理接入 Koharu 的文档处理、OCR、翻译、渲染等工作流,提升端到端自动化能力。
-
备注
- 本实现包含服务器端核心逻辑、工具路由、以及信息接口,非仅示例或测试代码。
- 如需进一步自定义能力,可在 KoharuMcp 的实现中扩展新的 tool_handler,映射到 Koharu 底层的业务操作。