使用说明

  • 项目简介 CodeRAG MCP 服务端是一个完整的 MCP 服务器实现,能够注册并暴露资源、工具和提示模板,通过 JSON-RPC 向 MCP 客户端提供统一的上下文和功能入口,并支持通过流式 HTTP 应用/ STDIO 等传输模式与客户端进行通信。服务器端还负责会话管理、能力声明以及对资源、工具、Prompts 的统一调度。

  • 主要功能点

    • 注册并管理 Tools(工具接口)供 LLM 调用,例如 index_repository、query_code、list_repositories、get_repository_info、delete_repository、update_repository、search_code 等。
    • 注册并管理 Resources(资源接口),如仓库信息、仓库列表等,供客户端获取结构化数据。
    • 注册并管理 Prompts(提示模板),提供分析、实现查找、代码评审等对话引导。
    • 与 MCP 框架集成,使用 FastMCP 风格的服务对象,提供 create_mcp_server、streamable_http_app 等能力。
    • 提供用于 Claude Desktop 等 MCP 客户端的连接入口,支持 STDIO 通信、以及可扩展的流式 HTTP 应用形式。
  • 安装步骤

    • 安装并获取依赖:在符合要求的 Python 环境中安装 CodeRAG 包(通常通过 pip install -e . 或等效方式获取源码中的依赖)。
    • 安装 MCP 相关依赖(如 mcp 库)与运行环境,确保 Python 环境可以加载 MCP 框架的 FastMCP/相关组件。
    • 启动 MCP 服务器(本仓库实现提供 create_mcp_server() 与 mcp.run/streamable_http_app 等接口)。典型启动方式包括直接通过仓库提供的命令行入口(如 cardboard 的 mcp-run 子命令)或通过模块方式执行。
  • 服务器配置 MCP 客户端需要提供配置以连接 MCP 服务器。配置信息通常以 JSON 表示,包含 server 名称、启动命令与参数等,用于告知客户端如何启动并连接 MCP 服务器。示例配置要点如下(请按实际环境填充):

    • server_name:CodeRAG
    • command:可执行路径或启动命令(如同环境中可直接运行的脚本)
    • args:运行参数 注意:仓库中提供两种常见启动方式:
    • 直接使用 CLI 启动方式,命令示例为 coderag mcp-run,参数为空或按需要传入。
    • 通过 Python 模块启动方式,命令示例为 python -m coderag.mcp.cli,并在运行时通过子命令触发 mcp-run。 因此,实际的配置需选择上述方案之一:
    • 方案A(推荐,直接 CLI 启动): { "server_name": "CodeRAG", "command": "coderag", "args": ["mcp-run"] }
    • 方案B(通过 Python 模块启动): { "server_name": "CodeRAG", "command": "python", "args": ["-m", "coderag.mcp.cli", "mcp-run"] } 说明:具体的 command/args 取决于部署环境中可用的执行方式。若通过脚本安装成全局命令,优先使用方案A;若需要以模块方式执行,则使用方案B。
  • 基本使用

    • 客户端启动后,MCP 服务器将暴露工具、资源和提示模板,客户端可以通过 MCP 的 JSON-RPC 请求读取资源、执行工具、获取提示等。
    • 伺服端的工具与资源命名空间在模块中已注册,CLI、Web 应用及 Claude Desktop 集成均可通过对应入口与 MCP 服务器协同工作。
    • 若需要在 Claude Desktop 等环境中使用,请按照仓库提供的 mcp-install 指令将 CodeRAG 的 MCP 服务注册到客户端配置。
  • 备注

    • 本实现包含服务器端核心组件,包括工具、资源、Prompts 的注册、查询/执行逻辑,以及对外暴露的 streamable_http_app/基本 HTTP 接口,且包含相应的集成测试用例以验证服务器创建、工具与资源注册等功能的可用性。

信息

分类

AI与计算