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 服务。仓库提供了通过命令启动 MCP 服务的方式(如通过 npm start -- mcp-server),以及直接在代码中通过 MCPServer 类进行调用的测试方式。
- 运行 MCP 服务器的一个常用路径是:
-
- 安装依赖并启动(与项目的常规启动相同的工作流);
-
- 在启动命令中指定“mcp-server”子命令以启动 MCP 服务器(用于编辑器集成等场景);
-
- 通过 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 客户端连接 MCP 服务器时需要提供一组配置信息(JSON),用于启动并连接到 MCP 服务器。该配置信息包含:
-
基本使用方法
- 启动与对接
- 使用 MCP 客户端连接到服务器后,可以通过工具列表(tools/list)查看暴露的工具,并通过 tools/call 调用指定工具及参数。
- 提供 prompts/list 与 prompts/get,以获取可用的 Prompt 模板及其参数。
- 会话与扩展
- 服务器具备会话管理与历史记录能力,结合外部工具实现(如 Spawn Agent、Subagent 等)可实现更复杂的任务分解与并行执行。
- 集成说明
- MCP 服务器设计为可与编辑器、IDE、或研究环境中的 LLM 客户端并行工作,便于在本地化环境中进行离线化处理、嵌入式向量检索、以及本地工具执行。
- 注:客户端需要的配置信息(如 server 名称、启动命令、参数)按需提供;服务器端实现已经包含初始化、工具/提示的注册和调用等核心能力。
- 启动与对接
-
关键词 JSON-RPC, 工具暴露, Prompts 渲染, 会话管理, 本地化向量检索
-
分类 分类ID: 6