A3S Code MCP 服务器实现
使用说明(Markdown)
-
项目简介
- A3S Code 提供一个包含 MCP 相关能力的后端服务器组件,旨在向 LLM 客户端提供统一的上下文信息和功能。核心能力包括管理资源与工具、渲染和提供 Prompt 模板,以及注册/连接外部的 MCP 服务器,允许通过统一接口访问外部工具和上下文。
-
主要功能点
- MCP 服务能力:提供注册 MCP 服务器、连接 MCP 服务器、获取已注册 MCP 服务器的工具清单等接口,形成对外可访问的 MCP 功能入口。
- 工具与技能集成:支持内置工具、通过技能加载扩展工具集、管理工具权限等,便于 LLM 调用外部功能。
- Prompts 与上下文:渲染并暴露 Prompt 模板,结合上下文管理,支持将提示模板用于 LLM 的交互过程。
- 会话管理与权限:具备会话管理、权限策略和 HITL(人工介入)能力的扩展框架,确保对工具执行的控制与审计。
- 传输与扩展性:设计初步支持多传输协议的扩展(如 Stdio/SSE/WebSocket 等,具体实现以后续扩展为准)。
-
安装步骤
- 构建与运行
-
- 构建项目:cargo build --release
-
- 运行服务器:将生成的二进制作为 MCP 服务端运行,配置文件通过 JSON 形式提供(详见下一节“服务器配置”)
-
- 服务器配置与运行时参数
- 此 MCP 服务端的客户端连接需要提供一个 JSON 配置,包含服务器名称、启动命令以及参数等,用于在 MCP 客户端注册并启动对应的 MCP 服务实例。客户端配置示例如下(仅为示例描述,实际字段可根据实现扩展调整): { "serverName": "filesystem-mcp", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem"], "description": "Filesystem MCP 服务器,暴露文件系统相关工具" }
- 说明:该配置仅用于 MCP 客户端建立与服务端的连接并加载工具集合,MCP 客户端不需要在服务端进行实际的密钥或接口暴露。
- 构建与运行
-
基本使用方法(简易流程)
- 第1步:启动 MCP 服务端
- 第2步:在 MCP 客户端通过配置将服务器注册到客户端的 MCP 服务器列表中,并连接该服务器
- 第3步:从 MCP 服务器加载工具(getMcpTools),即可在 LLM 调用中使用这些工具
- 第4步:需要时可通过 MCP 的接口注册新的 MCP 服务器,或查询现有服务器的工具列表
- 第5步:结合本实现的会话与上下文能力,持续管理资源、工具与提示模板
-
备注
- MCP 客户端的配置格式为 JSON,包含 server name、command、args 等字段,用于与 MCP 服务器建立连接并加载工具集。此处示例仅为描述用途,实际使用中请参考本仓库实现所暴露的 MCP 接口及其文档。
-
参考与配置示例字段含义
- serverName: MCP 服务器的逻辑名称,客户端将据此识别并连接对应的服务器
- command: 启动 MCP 服务器的命令
- args: 启动命令的参数数组
- description: 对该 MCP 服务器的简要描述,便于管理与调试