Janus MCP 服务器

使用说明(简要概览,帮助快速理解与上手)

  • 项目简介

    • 本仓库实现了一个 MCP 服务器,用来以统一的 JSON-RPC 协议向 LLM 客户端暴露工具(Tools)、提示(Prompts)以及相关的资源访问能力,并提供会话管理、能力声明与多种传输适配(包括标准的 StdIO 传输用于编辑器/IDE 集成)。
    • 服务器端还包含了与 MCP 客户端的对接能力、工具桥接、以及与编辑器、Gateway、Subagents 等组件的协作逻辑。
  • 主要功能点

    • MCP 核心能力
      • 注册、查询、执行工具(tools/list、tools/call);
      • 注册并获取 Prompt 模板(prompts/list、prompts/get);
      • 会话初始化、初始化状态跟踪以及通知(initialize、notifications/initialized);
      • JSON-RPC 风格的请求/响应处理与错误码返回。
    • 服务器端能力
      • 会话管理、能力声明、跨进程工具桥接和跨服务集成;
      • 支持将本地工具暴露给编辑器/LLM 客户端使用,并可通过 MCP 客户端动态获取远端工具描述。
    • 运行与扩展
      • 标准 StdIO 传输用于编辑器/IDE 集成,后续可扩展到 SSE、WebSocket 等传输;
      • 与 OpenAI 兼容的工具生态、插件化扩展和自定义工具/提示渲染。
    • 代码结构要点
      • src/mcp/server.ts:MCP 服务器核心,处理请求、注册工具与 Prompts、返回 JSON-RPC 风格的响应;
      • src/mcp/client.ts、src/mcp/stdio-transport.ts:MCP 客户端与标准输入/输出传输实现,方便编辑器集成与跨进程通信;
      • 以及桥接工具、工具注册、示例实现等辅助组件,便于扩展和测试。
  • 安装与运行步骤

    • 安装依赖并构建/运行应用即可使用 MCP 服务。仓库提供了通过命令启动 MCP 服务的方式(如通过 npm start -- mcp-server),以及直接在代码中通过 MCPServer 类进行调用的测试方式。
    • 运行 MCP 服务器的一个常用路径是:
        1. 安装依赖并启动(与项目的常规启动相同的工作流);
        1. 在启动命令中指定“mcp-server”子命令以启动 MCP 服务器(用于编辑器集成等场景);
        1. 通过 MCP 客户端(例如自身提供的 MCPClient)连接到该服务器并调用工具、获取 Prompts。
    • 配置文件说明(参见下方“服务器配置”部分的 JSON 示例)。MCP 客户端需要的仅是连接信息(server 名称、启动命令、参数等),本描述聚焦于 MCP 服务器端能力与运行方式。
  • 服务器配置(示例说明,非代码)

    • MCP 客户端连接 MCP 服务器时需要提供一组配置信息(JSON),用于启动并连接到 MCP 服务器。该配置信息包含:
      • server name:服务器在网络中的唯一标识名称;
      • command:启动 MCP 服务器的命令(如 node、ts-node、tsx 等,取决于运行环境);
      • args:启动命令的参数列表,用于传递运行选项。
    • 说明:MCP 客户端的使用信息在仓库中以结构化方式定义,服务器端的实现为 MCPServer 类及其暴露的方法。此处的配置示例仅用于说明启动与对接关系,真实执行需结合具体运行环境(如 TS/JS 运行时、构建输出路径等)。
    • 具体字段与含义请参考 MCP 客户端的对接说明和仓库中的 MCPServer/Client 实现,以及示例集成的测试用例。
  • 基本使用方法

    • 启动与对接
      • 使用 MCP 客户端连接到服务器后,可以通过工具列表(tools/list)查看暴露的工具,并通过 tools/call 调用指定工具及参数。
      • 提供 prompts/list 与 prompts/get,以获取可用的 Prompt 模板及其参数。
    • 会话与扩展
      • 服务器具备会话管理与历史记录能力,结合外部工具实现(如 Spawn Agent、Subagent 等)可实现更复杂的任务分解与并行执行。
    • 集成说明
      • MCP 服务器设计为可与编辑器、IDE、或研究环境中的 LLM 客户端并行工作,便于在本地化环境中进行离线化处理、嵌入式向量检索、以及本地工具执行。
    • 注:客户端需要的配置信息(如 server 名称、启动命令、参数)按需提供;服务器端实现已经包含初始化、工具/提示的注册和调用等核心能力。
  • 关键词 JSON-RPC, 工具暴露, Prompts 渲染, 会话管理, 本地化向量检索

  • 分类 分类ID: 6

服务器信息