关于 Unitree Go2 Mcp Server
Unitree Go2 MCP Server 是一个基于 MCP 的服务,用于通过大模型解析的自然语言指令控制 Unitree Go2 机器人。指令会被转换为 ROS2 指令,适合使用 Go2 机器人的开发者和研究人员。
主要功能
- 01自然语言控制 Go2 机器人动作
- 02将指令转换为 ROS2 指令
- 03支持 rosbridge 连接配置
- 04通过 uv 运行的 MCP 配置
适用场景
- 01用自然语言让 Go2 机器人前进或转向
- 02结合大模型处理机器人的上下文指令
- 03演示机器人避障与交互任务
MCP 相关
该项目是一个 MCP 服务,将 Go2 机器人的控制功能以 MCP 功能的形式提供给 AI 系统调用,客户端可通过 mcp.json 配置接入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Unitree Go2 MCP 服务
Unitree Go2 MCP Server 是一个基于 Model Context Protocol(MCP)构建的服务,可让用户使用由大语言模型(LLM)解读的自然语言命令控制 Unitree Go2 机器人。这些命令会被转换为 ROS2 指令,使机器人执行相应的操作。
要求
MCP 功能
请参阅 MCPFUNCTIONS.md 中的功能列表。
安装
1. 设置 unitree_ros2 环境
https://github.com/unitreerobotics/unitree_ros2
- 请完成上述仓库中
Step 2: Connect and test之前的所有设置。
2. 克隆此仓库
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server
3. 安装 uv
- 可使用以下命令安装
uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
或
pip install uv
- 创建并激活虚拟环境(可选)
uv venv
source .venv/bin/activate
4. 配置 MCP 服务
将 MCP 设置写入 mcp.json。
请注意,必须在连接 Go2 的 PC 上完成配置。
{
"mcpServers": {
"unitree-go2-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/unitree-go2-mcp-server",
"run",
"server.py"
]
}
}
}
如果使用 Claude Desktop,可使用以下命令查找 mcp.json:
- MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Linux(Ubuntu)
可通过 claude-desktop-debian 安装 Claude Desktop。
code ~/.config/Claude/claude_desktop_config.json
- Windows
code $env:AppData\Claude\claude_desktop_config.json
使用方法
1. 设置 UNITREE_ROS2_SETUP_SH_PATH。
- 打开
server.py并修改UNITREE_ROS2_SETUP_SH_PATH(例如/home/lpigeon/unitree_ros2/setup.sh)
如果使用 rosbridge,需要设置连接 rosbridge 的 IP 和端口(可选)。
- 打开
server.py并修改LOCAL_IP、ROSBRIDGE_IP和ROSBRIDGE_PORT。(ROSBRIDGE_PORT的默认值为9090)
2. 检查 Go2 机器人是否已连接到网络。
在终端中输入以下命令。
ros2 topic list
你应该会看到以下话题:
/wirelesscontroller
如果看不到该话题,请检查 Go2 机器人与网络之间的连接。
3. 运行任何已导入 unitree-go2-mcp-server 的 AI 系统。
4. 输入“让 Go2 机器人以 0.5 m/s 的速度向前移动 3 秒。”
5. 检查 Go2 机器人的移动情况。
6. 输入你想执行的操作,尽情体验!
语境理解
当你输入“Go2 看起来累了”这样的命令时,LLM 会结合语境进行解读,理解机器人可能需要休息或做一些伸展运动!
简单任务
此任务是一个综合演示,展示 Unitree Go2 机器人的避障、改变方向和用户交互能力。
参与贡献
欢迎贡献! 无论是修正错别字、添加新功能,还是提出改进建议,我们都非常感谢你的帮助。 有关如何为此项目贡献的详细信息,请遵循贡献指南。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。