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 客户端在对话中灵活调用。

服务器信息