Codes MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- Codes MCP 服务器是一套完整的后端实现,遵循 MCP 协议,提供统一的资源管理、工具注册与执行,以及 Prompt 模板渲染等能力,便于与 Claude Code 等 LLM 客户端进行上下文服务对接。
- 主要功能点
- 资源管理:托管和查询可访问的资源(如项目、远程主机信息、配置项等),便于 LLM 客户端读取和组合上下文。
- 工具注册与执行:注册并暴露多达若干工具(如 list_projects、add_project、get_project_info、sync_remote 等),LLM 客户端可通过调用这些工具实现对后端状态与操作的远程控制。
- Prompts 定义与渲染:提供与资源、环境相关的提示模板,便于在对话中渲染合适的上下文提示。
- JSON-RPC 通信:通过 JSON-RPC 风格的请求/响应进行交互(客户端请求工具执行、资源读取等,服务器返回标准化的 JSON-RPC 响应)。
- 传输与扩展性:设计了基于标准传输层的服务器,可扩展支持多种传输协议(当前实现以 stdio 传输为主,未来可扩展)。
- 会话与权限管理:集成了会话管理与权限配置,便于在多轮对话中维持上下文和安全策略。
- 安装步骤
- clone 仓库并进入代码目录
- 使用 make build(或 go build)编译可执行文件
- 启动服务器:命令类似 codes serve(见下方服务器配置示例,运行后服务器就可对外提供 MCP 服务)
- 服务器配置(MCP 客户端需要的配置示例)
- 配置要点:MCP 客户端需要在本地配置一个 MCP 服务器的注册信息,以便通过客户端向服务器发送请求。配置内容通常包括服务器名称、启动命令与参数等信息,用于在运行时建立连接。
- 示例配置(JSON 形式,供客户端注册使用;注意:实际客户端可能不需要执行该 JSON,仅用于描述对服务器的连接信息): { "serverName": "codes", "command": "codes", "args": ["serve"], "description": "Codes MCP 服务端,提供资源、工具、Prompts 等能力" }
- 注释说明
- serverName:服务器在客户端配置中的唯一标识名称。
- command:启动 MCP 服务的可执行命令。
- args:启动命令的参数数组,通常包含子命令如 "serve"。
- 基本使用方法
- 启动服务器:在支持的环境中执行 Codes 二进制,传入 serve 子命令启动 MCP 服务。
- 客户端调用:通过 MCP 客户端向服务器发送 JSON-RPC 请求,例如读取资源、执行工具、获取 Prompt 等,服务器返回标准化的响应。
- 运行时注意事项:服务器端会管理会话、能力声明以及工具集合,方便 LLM 客户端在对话中灵活调用。