AIBot MCP Server Framework
使用说明(Markdown格式)
-
项目简介
- 本仓库实现了一个可运行的 MCP 服务器框架,包含核心的 MCP 服务端、工具桥接、工具注册与执行、Prompts 渲染、并发/权限控制等模块,以及一个完整的测试集来验证 MCP 的工作流。
-
主要功能点
- MCP 服务器核心与协议支持
- 处理 MCP 的 JSON-RPC 请求与响应,具备请求/响应/通知的基本能力检测。
- 能暴露服务器健康状态、初始化握手、工具列表、以及工具执行的 call 接口。
- 资源、工具、Prompts 的托管与执行
- 管理资源和文件的访问、查询与修改(通过工具调用实现)。
- 提供工具注册、执行、权限控制,以及工具调用回调与错误处理。
- 支持按需渲染和提供 Prompt 片段以配合 LLM 的对话流程。
- MCP 工具桥接与集成
- 具备用于 Claude CLI 以及其它本地/云 LLM 的工具桥接能力,使外部框架可以通过 MCP 调用框架内的工具。
- 提供 MCP Tool Bridge Server、工具适配器等组件,用于把现有工具注册成 MCP Tool。
- 会话与安全
- 会话管理、能力声明、以及对敏感操作的 Human-in-the-Loop 审批等。
- 多传输协议与实时能力
- 设计草案强调对 Stdio、SSE、WebSocket 等传输的支持,便于嵌入到不同客户端场景。
- API 与 dashboard 的耦合
- 服务器端旨在配合后端服务与前端仪表盘实现,提供统一的工具列表、能力和日志事件的推送。
- MCP 服务器核心与协议支持
-
安装与运行步骤
- 安装依赖
- 使用 Bun 作为运行时,直接安装依赖。
- 启动与测试
- 启动 MCP 服务器通常涉及创建一个 MCP Server 实例并调用启动方法,服务器将监听指定端口,接受 JSON-RPC 请求并返回 JSON-RPC 响应。
- 仪表盘、测试用例以及与 Claude/ollama 等后端的桥接逻辑都在代码中实现,测试用例覆盖了健康检查、初始化、工具列举、工具调用等流程。
- 安装依赖
-
服务器配置(示例性JSON描述,供 MCP 客户端理解如何连接服务器) 注意:以下 JSON 配置仅用于描述服务器启动参数与连接信息,实际部署时请据项目的运行环境与文档调整。 { "serverName": "aibot-mcp-server", "transport": "stdio", // 服务器与客户端通信的传输方式(如 stdio、SSE、WebSocket 等) "command": "node", // 启动服务器的进程命令 "args": ["./src/mcp/server-entry.js"], // 启动入口及参数 "host": "127.0.0.1", // 服务器监听主机 "port": 0, // 端口,0 表示自动分配(具体端口由运行时决定) "hiddenTools": ["exec"], // 不对 MCP 客户端暴露的工具名称(安全控制) "maxCallsPerMinute": 60, // 每分钟最大工具调用次数的限制 "authToken": "可选,若开启则要求客户端携带有效 Token 才能访问" }
使用要点
- MCP 客户端要与服务器建立连接,通常需要提供服务器的地址、传输方式以及必要的鉴权信息。
- MCP 客户端可以调用服务器暴露的资源、注册并执行工具、获取并渲染 Prompts。
- 服务器端负责会话与能力声明,以及对潜在敏感操作的许可和审查。
-
基本使用方法(简要操作)
- 在服务端启动 MCP 服务器,确保端口、主机、传输方式及鉴权等配置正确。
- 使用 MCP 客户端(如 Claude CLI 集成的客户端、或其他实现)连接服务器,读取资源、调用工具、获取 Prompt 模板。
- 客户端通过 JSON-RPC 的规范请求服务器,服务器返回 JSON-RPC 格式的响应或通知。
- 如需扩展:通过实现 MCP Tool Bridge、适配器和工具注册,将现有工具对接到 MCP 服务器,提升 LLM 的上下文能力。
-
运行与验证
- 仓内测试覆盖了服务器健康、初始化握手、工具列表、工具调用、MCP 兼容性等场景,确保 MCP 服务器实现具备实际工作能力,并能与 MCP 客户端正常交互。
-
备注
- 本仓库在 MCP 的实现上包含服务器端、桥接、工具适配、以及配套测试集,符合一个可运行的 MCP 服务器实现的要素要求。实际部署时建议结合项目文档与示例配置进行部署与扩展。