OpenSpawn MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- OpenSpawn 的 MCP 服务器实现,遵循 Model Context Protocol(MCP)规范,向 LLM 客户端提供标准化的工具接口(Tools),以及对外暴露的操作能力。通过 JSON-RPC 对客户端请求进行解析和响应,支持初始化、工具列表、工具调用等核心能力。
-
主要功能点
- 通过 MCP 端点提供工具描述与调用能力(initialize、tools/list、tools/call)。
- 以 JSON-RPC 的格式响应请求与错误,便于 LLM 客户端按统一协议进行调用。
- 与 BikiniBottom 沙箱的 DeterministicSimulation/ScenarioEngine 等组件集成,能够在沙箱环境中读取当前代理人、任务、状态等信息,执行工具调用并返回结果。
- 服务器端会话管理和能力声明,便于 MCP 客户端了解服务器能力与可用操作。
- 与其它 MCP 相关的后端模块协同工作(如 A2A、Model Router、Prompts 等子系统的整合)。
-
安装步骤
- 在本仓库的 Sandbox 应用中运行(包含 MCP 服务的实现与 HTTP/JSON-RPC 暴露)。
- 典型命令(参考快速入门的沙箱运行方式):
- 安装依赖并启动沙箱应用
- 运行沙箱:pnpm exec nx serve sandbox
- 启动后,MCP 服务监听在 http://localhost:3333,MCP 端点为 /mcp,用于接收 JSON-RPC 请求。
-
服务器配置(供 MCP 客户端使用的配置示例)
- serverName: "OpenSpawn MCP Server"
- command: "pnpm"
- args: ["nx", "serve", "sandbox"] 说明:上述配置对应仓库中沙箱应用的启动方式。MCP 客户端需要提供 server 名称、启动命令和参数,用于建立与 MCP 服务器的连接以进行工具查询与调用。实际运行时,请将服务器地址、端口、以及任何认证信息按实际环境配置在客户端连接代码中。
-
基本使用方法
- 初始化:向 /mcp 发送 JSON-RPC 请求,方法为 "initialize",即可获取 MCP 服务的能力、版本等信息。
- 列出工具:发送 {"jsonrpc":"2.0","id":1,"method":"tools/list"},服务器返回可用工具及其输入结构。
- 调用工具:发送带有具体参数的工具调用请求,例如 {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_agents","arguments":{}}},服务器执行并返回结果内容。
- 错误处理:若请求格式错误或方法不存在,服务器返回标准的 JSON-RPC 错误对象,客户端应按规范处理。
-
备注
- MCP 服务器实现基于 BikiniBottom 沙箱的 DeterministicSimulation/Model Router 等组件,提供了一个可运行、可扩展的 MCP 服务框架。实际部署时,请确保沙箱服务已经启动并可被 MCP 服务访问,以便工具调用能够正确执行并返回结果。