Token导航 LogoToken导航

MCP Server · AI代理

ROS2 MCP Server

一个基于Python的服务器,集成模型上下文协议(MCP)与ROS 2,使AI助手能够通过ROS 2主题控制机器人。

HTTP官方级别未说明来源级核验工具 0
机器人控制Python服务器PythonClaudeClaude DesktopCline

快速开始

作者 / 组织
kakimochi
提供方
kakimochi
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

81

仓库热度

收录来源

3 个

MCP World

选型结论

ROS2 MCP Server 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过HTTP 远程服务接入,适配 Claude Desktop、Claude、Cline,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

HTTP

认证方式

无需认证

部署方式

仅本地运行

安装与配置

安装命令

pip install -r requirements.txt

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是HTTP 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ros2-mcp服务器

ros2-mcp-server 是一个基于Python的服务器,它将模型上下文协议(MCP)与ROS 2集成在一起,使AI助手能够通过ROS 2主题控制机器人。它通过FastMCP处理命令,并作为ROS 2节点运行,发布 geometry_msgs/Twist 留言给 /cmd_vel 控制机器人运动的主题。

此实现支持“以0.2 m/s的速度前进5秒并停止”等命令 /cmd_vel 出版商名称 pub_cmd_vel.

特性

  • MCP集成:使用FastMCP处理来自MCP客户端(例如Claude)的命令。
  • ROS 2原生:作为ROS 2节点运行,直接发布到 /cmd_vel.
  • 基于时间的控制:支持基于持续时间的移动命令(例如,移动指定时间并停止)。
  • 异步处理:结合FastMCP asyncio ROS 2的事件循环可实现高效运行。

先决条件

  • ROS 2:安装和采购的分销渠道简陋。
  • python:版本3.10(与ROS 2 Humble兼容所需)。
  • 紫外线:用于依赖管理的Python包管理器。
  • 依赖项:

- rclpy:ROS 2 Python客户端库(与ROS 2一起安装)。 - fastmcp:用于MCP服务器实现的FastMCP框架。 - numpy:ROS 2消息类型要求。

安装

  1. 克隆存储库:
   git clone https://github.com/kakimochi/ros2-mcp-server.git
   cd ros2-mcp-server
  1. Python版本配置:

本项目按照ROS 2 Humble的要求使用Python 3.10。这 .python-version 文件已配置:

   # .python-version content
   3.10
  1. 项目依赖项:

这 pyproject.toml 文件配置了必要的依赖关系:

   # pyproject.toml content
   [project]
   name = "ros2-mcp-server"
   version = "0.1.0"
   description = "ROS 2 MCP Server"
   readme = "README.md"
   requires-python = ">=3.10"
   dependencies = [
       "fastmcp",
       "numpy",
   ]
  1. 创建紫外线环境:
   uv venv --python /usr/bin/python3.10
  1. 激活虚拟环境:
   source .venv/bin/activate

你会看到的 (.venv) 出现在命令提示符的开头,表示虚拟环境处于活动状态。

  1. 再进行:
   uv pip install -e .

MCP服务器配置

要将此服务器与Claude或其他MCP客户端一起使用,您需要将其配置为MCP服务器。以下是如何设置它:

适用于克劳德桌面

  1. 打开Claude Desktop设置并导航到MCP服务器部分。
  1. 添加具有以下配置的新MCP服务器:
   "ros2-mcp-server": {
     "autoApprove": [],
     "disabled": false,
     "timeout": 60,
     "command": "uv",
     "args": [
       "--directory",
       "/path/to/ros2-mcp-server",
       "run",
       "bash",
       "-c",
       "export ROS_LOG_DIR=/tmp && source /opt/ros/humble/setup.bash && python3 /path/to/ros2-mcp-server/ros2-mcp-server.py"
     ],
     "transportType": "stdio"
   }

重要:替换 /path/to/ros2-mcp-server 使用存储库的实际路径。例如,如果将存储库克隆到 /home/user/projects/ros2-mcp-server,你会选择那条路。

  1. 保存配置并重新启动Claude。

对于Cline(VSCode扩展)

  1. 在VSCode中,通过单击侧边栏中的Cline图标打开Cline扩展设置。
  1. 导航到MCP服务器配置部分。
  1. 添加具有以下配置的新MCP服务器:
   "ros2-mcp-server": {
     "autoApprove": [],
     "disabled": false,
     "timeout": 60,
     "command": "uv",
     "args": [
       "--directory",
       "/path/to/ros2-mcp-server",
       "run",
       "bash",
       "-c",
       "export ROS_LOG_DIR=/tmp && source /opt/ros/humble/setup.bash && python3 /path/to/ros2-mcp-server/ros2-mcp-server.py"
     ],
     "transportType": "stdio"
   }

重要:替换 /path/to/ros2-mcp-server 使用存储库的实际路径,如Claude Desktop示例中所示。

  1. 您可以立即打开/关闭服务器,并直接从Cline MCP设置界面验证连接,而无需重新启动VSCode或重新加载扩展。

用法

配置MCP服务器后,您可以使用Claude向机器人发送命令:

  1. 命令示例:

让克劳德以0.2 m/s的速度向前移动机器人5秒:

   Please make the robot move forward at 0.2 m/s for 5 seconds.
  1. 直接工具使用:

您还可以使用 move_robot 工具直接:

   {
     "linear": [0.2, 0.0, 0.0],
     "angular": [0.0, 0.0, 0.0],
     "duration": 5.0
   }
  1. 监控ROS 2主题:

验证 /cmd_vel 主题输出:

   ros2 topic echo /cmd_vel

测试

  1. 使用模拟器:

- 启动与ROS 2兼容的模拟器(例如,带有TurtleBot3的Gazebo):

     export TURTLEBOT3_MODEL=burger
     ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

- 使用Claude发送移动命令。 - 观察机器人在Gazebo中的移动。

  1. 与一个真正的机器人:

- 确保您的机器人已正确设置以订阅 /cmd_vel 主题。 - 使用Claude发送移动命令。 - 机器人应该按照命令移动。

  1. 期望输出:

- 服务器记录移动命令和停止命令。 - Claude收到的回复如下: "Successfully moved for 5.0 seconds and stopped".

故障排除

  • ROS 2日志错误:如果遇到日志目录错误,请确保 ROS_LOG_DIR 环境变量被设置为可写目录(例如。, /tmp).
  • Python版本不匹配:确保您使用的是Python 3.10,因为ROS 2 Humble是为此版本构建的。
  • 连接错误:如果Claude报告“连接关闭”错误,请检查MCP服务器配置是否正确,以及是否安装了所有依赖项。

目录结构

ros2-mcp-server/
├── ros2-mcp-server.py  # Main server script integrating FastMCP and ROS 2
├── pyproject.toml      # Project dependencies and metadata
├── .python-version     # Python version specification
├── .gitignore          # Git ignore file
└── README.md           # This file

局限性

  • 单一主题:目前支持 /cmd_vel 随着 Twist 信息。扩展 ros2-mcp-server.py 其他主题或服务。
  • 基本命令:目前支持简单的移动命令。更复杂的行为需要额外的实现。

许可证

MIT License

Copyright (c) 2025 kakimochi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

请注意,此项目使用 FastMCP,根据Apache许可证2.0获得许可。该许可证的条款也适用于FastMCP组件的使用。

致谢

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

机器人控制Python本地部署ROS2集成AI助手MCP协议Python服务器

支持客户端

Claude DesktopClaudeCline

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cline,换客户端不用重新研究配置。

先想清楚的地方

  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
ROS2 MCP Server

MCP World · 本页

0HTTP有3 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

ROS2 MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

ROS2 MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是HTTP 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

ROS2 MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

ROS2 MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

ROS2 MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP