关于 Auto MCP ✨🤖
Auto MCP 是面向 ROS 系统的 MCP 服务包,供希望连接机器人与大模型的机器人开发者使用。它会检查运行中的 ROS 话题及其接口,并据此创建通过 SSE over HTTP 提供服务的 MCP 服务器。
主要功能
- 01检测运行中的 ROS 话题和接口
- 02通过系统检查生成工具
- 03通过 SSE 和 HTTP 提供 MCP 服务
- 04在端口 5000 上监听
适用场景
- 01将 ROS 机器人连接到大模型客户端
- 02将运行中的 ROS 话题暴露为 MCP 工具
- 03让 MCP 客户端访问机器人系统
MCP 相关
根据 ROS 系统中检测到的话题和接口创建 MCP 服务。MCP 客户端可连接其 SSE 端点 `http://localhost:5000/sse`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Auto MCP ✨🤖
此软件包可作为任何基于 ROS 的系统的即插即用 MCP 服务。
借助内省工具,automcp_listener 节点会获取系统中当前运行的话题列表及其接口。随后,它会在端口 5000 上创建一个基于 HTTP 传输的 SSE MCP 服务。
由于启动时会进行内省,因此它应该是最后运行的节点。
这是什么 ❔
从本质上说,此软件包能让你只需很少的工作,就为基于 ROS 的机器人赋予一个强大的大模型大脑。
它会创建一个 MCP 服务,你可以将其连接到自己选择的大模型/客户端,为机器人赋予大脑,为大模型赋予身体。
模型上下文协议,简称 MCP,是一种让大模型与各种工具交互的新协议。Claude 背后的公司 Anthropic 开发了这项协议,近期 OpenAI 也开始支持它。请访问官方网站了解详情。
现在,这个 Auto MCP ROS2 软件包旨在让为机器人创建 MCP 变得轻而易举。借助内省,此软件包可以检测 ROS 系统中运行的所有话题,并提供所需的工具。你只需在其他所有节点运行后启动此节点,然后将配置添加到你偏好的客户端即可。
为什么要做它 ❕
随着大模型变得越来越强大,我认为会有更多机器人开发者希望在机器人与大模型之间建立连接。当时我正在为 TMR 的火星车原型开发一个类似概念,看到 MCP 开始流行后,便意识到它非常适合这个用例。
但作为一名坚信生活品质改善的人,我希望让它变得超级易用,于是就有了 Auto MCP。
设置 🔧
package.xml 中的依赖项包含 rosdep 依赖项。不过,Python 的 MCP SDK 尚未加入 rosdep 仓库。我已为此提交了一个拉取请求。
在问题解决之前,你可以按照模型上下文协议的 python-sdk 仓库中的说明,使用 pip install mcp 安装依赖项。
安装 📥
要安装此软件包,请按照 ROS 官方网站上的说明创建一个 colcon 工作空间。
然后,将此仓库克隆到工作空间中的 src 目录。
cd src
git clone https://github.com/snick-m/auto_mcp.git
接着,返回工作空间根目录并运行构建命令。
cd ../
# If you want to only build this package
colcon build --packages-select auto_mcp
# If you want to build all packages in the workspace
colcon build
完成后,你就可以开始使用了。
使用 🏃🏼➡️
使用 ros2 工作空间构建并安装后,只需运行以下命令即可启动节点:
ros2 run auto_mcp server
这会启动节点,先执行内省,然后在 0.0.0.0:5000 上启动 MCP 服务。因此,在本地系统上,你可以通过 http://localhost:5000/sse 访问 SSE 端点。
添加到 Claude Desktop 🔗
目前我只在 Claude Desktop 上测试过,之后会尝试补充更多必要说明。
截至本文撰写时,Claude Desktop 不支持添加使用 SSE over HTTP 传输的 MCP。不过,Cloudflare 提供了一个非常简单的变通方案,可以让它正常使用。
Claude Desktop 的 MCP 配置请使用以下内容,并根据你的设置修改 url。
{
"mcpServers": {
"auto_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:5000/sse"
]
}
}
}
贡献 🫂
贡献指南即将推出,目前请查看 issues,了解此软件包计划进行的升级。如果其中有你感兴趣的内容,欢迎在对应 issue 中联系我,一起着手实现。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。