NanoClawbster MCP 服务器
- 使用说明
- 项目简介
- 该仓库实现了一个以 MCP(Model Context Protocol)为核心的服务器端,用来向 LLM 客户端暴露资源(Resources)、工具(Tools)和提示模板(Prompts),并通过 JSON-RPC 进行请求/响应通信。核心目标是为大语言模型提供标准化的上下文与能力访问接口,便于接入多种前端通道与后端能力。
- 主要功能点
- MCP 服务器核心:实现资源读取、工具注册/执行、以及提示模板的获取与渲染,统一对外暴露成 MCP 服务。
- 传输与路由:通过 JSON-RPC 进行请求/响应,并提供基于 Stdio 的传输实现(后续可扩展为 SSE、WebSocket 等传输)。
- 工具与能力:内置多种工具(如发送消息、任务调度、查看统计、重启与部署等),并支持 Admin 与普通用户权限的区分与保护。
- Composio 集成:提供 Composio MCP 服务,暴露 Composio 的元工具,并在需要时代理执行,提升工具生态覆盖。
- 容器化与场景化执行:与 NanoClawbster 的 agent runner/容器运行时协同,支持在隔离的容器中执行任务、任务调度与回传结果。
- 会话与内存管控:按组维护会话状态、内存、任务队列等,确保安全的多组并发执行。
- 安装与运行
- 安装依赖:需要在 Node.js 环境下运行,安装依赖后进行构建(例如 npm install / npm run build)。
- 运行环境:NPM/Yarn/Tsx 等工具链;当前实现以本地/容器化执行为主,适合在开发环境或容器化部署中使用。
- 启动方式:MCP 服务器通常由主进程通过指定的 MCP 传输方式启动,当前实现提供 stdio 传输的 MCP 服务器与 Composio MCP 端点,供上层应用或容器化环境调用。
- 服务器配置(给 MCP 客户端的最小配置)
- MCP 客户端需要的启动配置(示例,实际路径可能因部署结构有所不同): { "server": "nanoclawbster", "command": "node", "args": ["container/agent-runner/src/ipc-mcp-stdio.js"] }
- 说明
- server: MCP 服务器标识,本文实现中为 nanoclawbster。
- command: 启动 MCP 服务器所使用的命令,常见为 node。
- args: 启动 MCP 服务器的参数,通常包含服务器入口脚本的路径,例如 ipc-mcp-stdio.js(在本仓库中由容器运行时的入口点提供)。
- 具体环境变量(如 CHAT JID、分组信息、管理员标识等)由实际运行环境在启动时设定,MCP 客户端本身通常不需要在此处指定。
- 基本使用方法
- 启动 MCP 服务后,LLM 客户端通过统一的 JSON-RPC 请求/响应机制对资源、工具和 Prompts 进行访问。
- 客户端可以通过调用 MCP 提供的工具(如发送消息、计划任务、列出任务、重启等)来实现上下文服务、外部功能执行、以及对话模板渲染的能力。
- 当需要与 Composio 等外部能力集成时,MCP 服务端可以暴露对应的元工具接口,由 Composio MCP 服务器对外暴露工具。
- 服务端具备会话管理、能力声明,以及对多种传输协议的扩展能力(当前实现以 stdio 为主,未来可拓展)。
- 项目简介