使用说明(Markdown 格式)

  • 项目简介

    • Ninja Multi-Module MCP Server 是一个面向 AI 开发工作流的后端框架,包含三个独立的 MCP 服务器模块:Coder(代码编写与执行辅助)、Researcher(网络检索与研究汇总)、Secretary(代码库探索与文档管理)。每个模块作为独立的 MCP 服务器运行,能够独立使用也可组合使用,提供统一的资源管理、工具注册与执行、以及提示模板的渲染能力,并通过 JSON-RPC 与客户端通信。
  • 主要功能点

    • 资源与数据访问:通过各模块的服务,提供对代码、文档、依赖等资源的访问与管理。
    • 工具注册与执行:支持注册并调用工具(如快速任务、计划执行、测试等),实现对外部 AI 助手的调用和任务执行的封装。
    • 提示模板与渲染:为 LLM 客户端渲染可定制的提示文本,确保交互模式与任务落地的一致性。
    • MCP 通信协议支持:基于 Model Context Protocol 的 JSON-RPC 请求/响应,与客户端进行标准化通信。
    • 多传输协议支持:提供 STDIO 直连模式、HTTP/SSE、WebSocket 等传输方式,方便在不同开发环境中接入。
    • 会话与权限管理:内置会话追踪、速率限制、资源监控等安全与可观测性特性,提升可扩展性与鲁棒性。
  • 安装步骤

    • 克隆代码库后,可以按需要选择性安装各模块,或同时启用全部模块。可通过以下方式启动模块服务器(示例,不同模块可独立启动):
      • coder 模块服务器:以标准 MCP 模式通过 STDIO 或 HTTP/SSE 启动
      • researcher 模块服务器:同上
      • secretary 模块服务器:同上
    • 模块启动时会使用 Python 子进程启动对应的服务器入口,例如运行 ninjia_coder.server、ninja_researcher.server、ninja_secretary.server 等模块。
  • 服务器配置(MCP 客户端所需信息) 重要说明:MCP 客户端需要知道如何连接服务器,通常通过一个 JSON 配置描述 server name、command 与 args,以便客户端能够启动并连接到 MCP 服务器。以下为针对本仓库中可用服务器的准确配置信息示例(以单独服务器为单位列出,JSON 仅作示例说明,实际客户端不需要额外实现代码):

    • coder 模块服务器 { "server_name": "ninja-coder", "command": "uv", "args": ["run", "python", "-m", "ninja_coder.server"] } 说明:使用 UVicorn 风格的执行环境启动 ninja_coder.server 模块,支持 STDIO 与 HTTP/SSE 的传输。

    • researcher 模块服务器 { "server_name": "ninja-researcher", "command": "uv", "args": ["run", "python", "-m", "ninja_researcher.server"] } 说明:启动 ninja_researcher.server,提供研究相关工具的 MCP 服务。

    • secretary 模块服务器(Coming Soon 的实现也具备基础框架) { "server_name": "ninja-secretary", "command": "uv", "args": ["run", "python", "-m", "ninja_secretary.server"] } 说明:启动 ninja_secretary.server,提供代码库探索与文档管理等能力。

  • 基本使用方法

    • 启动模块
      1. 进入仓库根目录,按需选择启动一个或多个模块服务器。
      2. 使用上述配置中的命令和参数在你的环境中启动对应的服务器,例如直接在开发环境执行类似“uv run python -m ninja_coder.server”的命令来启动 coder 服务器。
    • 客户端接入
      1. 将 MCP 客户端配置为指向已启动的服务器实例(可以是 STDIO、HTTP/SSE 等传输)。客户端通过接收标准的 MCP 请求并将结果写回,完成资源、工具与提示模板的交互。
      2. 对于 IDE 集成,客户端通常需要知道服务器的启动方式以建立连接,具体连接方式与传输协议由 MCP 客户端决定,与配置中的 server_name、command、args 对应关系有关。
    • 维护与扩展
      • 可以独立升级某个模块的能力(Coder、Researcher、Secretary),无需影响其他模块。
      • 服务器具备日志、会话、速率限制与资源监控等能力,便于运维和安全审计。
  • 注:MCP 客户端对接的核心是通过服务器启动命令(command)和参数(args)来建立连接与会话,仓库中的各模块服务器实现了 MCP 的核心接口(包括初始化、工具列出、工具调用等),支持多模态传输协议,适用于扩展为完整的对话式上下文服务框架。

信息

分类

AI与计算