mcpField
A
Auto MCP ✨🤖

Auto MCP ✨🤖

本地服务
github.com/snick-m开发工具1277 周前更新

关于 Auto MCP ✨🤖

Auto MCP 是面向 ROS 系统的 MCP 服务包,供希望连接机器人与大模型的机器人开发者使用。它会检查运行中的 ROS 话题及其接口,并据此创建通过 SSE over HTTP 提供服务的 MCP 服务器。

主要功能

  1. 01检测运行中的 ROS 话题和接口
  2. 02通过系统检查生成工具
  3. 03通过 SSE 和 HTTP 提供 MCP 服务
  4. 04在端口 5000 上监听

适用场景

  1. 01将 ROS 机器人连接到大模型客户端
  2. 02将运行中的 ROS 话题暴露为 MCP 工具
  3. 03让 MCP 客户端访问机器人系统

MCP 相关

根据 ROS 系统中检测到的话题和接口创建 MCP 服务。MCP 客户端可连接其 SSE 端点 `http://localhost:5000/sse`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"auto_mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-remote

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 中联系我,一起着手实现。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。