NexusCode MCP Knowledge Server

使用说明

  • 项目简介
    • NexusCode 通过 MCP 服务器将代码仓库中的上下文信息、可调用的工具以及 Prompt 模板暴露给 AI 客户端。核心目标是以统一、可扩展的方式提供资源管理、工具执行和提示渲染能力,方便大语言模型进行代码级推理和操作。
  • 主要功能点
    • 资源管理与数据访问:提供对代码块、符号、仓库等资源的索引、检索和访问能力,支持向量与关键词混合检索。
    • 工具注册与执行:实现一组 MCP 工具,使 LLM 能通过标准接口调用外部功能(如代码搜索、符号查询、计划与问答等)。
    • 提示模板与交互:定义并渲染 Prompt 模板,支持多种交互模式,便于 LLM 与系统进行可控对话与任务执行。
    • JSON-RPC 与 SSE/WebSocket:通过 JSON-RPC 进行请求/响应,SSE/WebSocket 提供流式交互,支持长连接与事件推送。
    • 会话与能力声明:维护会话状态、声明服务器能力,并对访问进行授权、审计与日志记录。
    • 多传输协议与扩展性:设计支持多种传输协议,具备横向扩展能力以应对大规模并发。
  • 安装步骤
    1. 环境准备
      • 选择合适的 Python 3.11+ 运行环境,确保网络可访问凭据源。
    2. 获取代码
      • 克隆仓库并进入项目根目录。
    3. 安装依赖
      • 使用项目的依赖清单安装所需包(如 FastAPI、SQLAlchemy、Voyage AI 客户端、Stem 等组件)。
    4. 配置环境变量
      • 根据项目文档提供的示例 .env,设置关键变量,例如 GitHub 访问令牌、Webhook 秘钥、数据库连接字符串、Redis 连接、Voyage API Key、Anthropic API Key、JWT 秘钥等。
    5. 启动依赖服务
      • 使用 Docker Compose 启动 PostgreSQL 与 Redis(如 docker compose up postgres redis -d)。
    6. 启动 MCP 服务器
      • 使用执行命令启动 MCP 服务(示例:uvicorn src.mcp.server:app --host 0.0.0.0 --port 8000 --reload,需根据实际入口调整)。
    7. 连接客户端
      • MCP 客户端通过 https://<服务器地址>:8000/mcp/sse(或 WebSocket) 获取服务器能力、发起资源/工具/提示的请求。
  • 服务器配置(给 MCP 客户端的连接配置,格式为 JSON,字段示例说明如下) { "server_name": "NexusCode-MCP-Server", "command": "uvicorn", "args": [ "src.mcp.server:app", "--host", "0.0.0.0", "--port", "8000", "--reload" ], "description": "启动 MCP 服务器的命令及参数,客户端用来与 MCP 服务建立连接" } 说明:
    • server_name 指 MCP 服务器的名称,便于客户端在多服务环境中区分。
    • command 与 args 为客户端需要的启动信息(MCP 客户端需要读取该信息以连接服务器;实际的服务器端实现细节由仓库内实现决定)。
  • 基本使用方法
    • 向 MCP 服务器发送资源读取、工具调用或 Prompt 获取请求,服务器返回相应的 JSON-RPC 响应或通过 SSE/WebSocket 推送事件。
    • 使用者可通过标准客户端(如 Claude Desktop 的 MCP 支持、LangGraph、自带测试用例等)对接,进行模版化对话、代码检索、实现计划和问答等场景。
    • 在本地开发环境中,确保数据库、缓存和 embedding 服务可用后,即可通过 API 路径和 MCP 流式接口进行交互。

服务器信息