The Unitree Go2 MCP Server allows users to control the Unitree Go2 robot using natural language commands that are translated into ROS2 instructions. With this server, you can:
- Control basic robot movement including linear and angular velocity
- Execute predefined actions such as:
- Standing up from a fall
- Stretching
- Shaking hands
- Showing affection
- Jumping forward
- Sitting down
- Greeting
- Dancing
- Stop the robot's current actions
- Fetch available topics from the robot's network
- Support contextual understanding of commands
- Enable higher-level tasks such as obstacle avoidance and direction changing
Each action can be triggered using specific functions documented in the MCPFUNCTIONS.md file.
Enables control of a Unitree Go2 robot by translating natural language commands into ROS2 instructions, allowing for robot movement, navigation, and interaction with the environment
Provides support for Ubuntu 20.04 and 22.04 operating systems, which are required environments for running the Unitree Go2 MCP server
Unitree Go2 MCP Server
The Unitree Go2 MCP Server is a server built on the Model Context Protocol (MCP) that enables users to control the Unitree Go2 robot using natural language commands interpreted by a Large Language Model (LLM). These commands are translated into ROS2 instructions, allowing the robot to perform corresponding actions.
Requirements
MCP Functions
You can find the list of functions in the MCPFUNCTIONS.md.
Installation
1. Setup unitree_ros2
environment
https://github.com/unitreerobotics/unitree_ros2
- You need to complete the setup up to
Step 2: Connect and test
in the repository linked above.
2. Clone this repository
3. uv
Installation
- To install
uv
, you can use the following command:
or
- Create virtual environment and activate it (Optional)
4. MCP Server Configuration
Set MCP setting to mcp.json.
Please keep in mind that the configuration must be done on the PC connected to the Go2.
If you use Claude Desktop, you can find mcp.json using the following command:
- MacOS
- Linux(Ubuntu)
You can install Claude Desktop to use claude-desktop-debian.
- Windows
How To Use
1. Set UNITREE_ROS2_SETUP_SH_PATH
.
- Open
server.py
and change yourUNITREE_ROS2_SETUP_SH_PATH
(eg./home/lpigeon/unitree_ros2/setup.sh
)
If you use rosbridge
, you need Set IP and Port to connect rosbridge (Optional).
- Open
server.py
and change yourLOCAL_IP
,ROSBRIDGE_IP
andROSBRIDGE_PORT
. (ROSBRIDGE_PORT
's default value is9090
)
2. Check the Go2 robot is connected to the network.
Type the following command in the terminal.
You should see the following topic:
If you don't see the topic, check the connection between the Go2 robot and the network.
3. Run any AI system that has imported unitree-go2-mcp-server
.
4. Type "Make the Go2 robot move forward at a velocity of 0.5 m/s for 3 seconds.".
5. Check the Go2 robot's movement.
6. Type what you want to do and Enjoy!
Contextual Understanding
When you type a command like "It looks like the Go2 is getting tired," the LLM interprets this contextually — understanding that the robot might need a break or some form of stretching!
Simple Task
This task is a comprehensive demo task showcasing the Unitree Go2 robot's obstacle avoidance, direction changing, and user interaction capabilities.
Contributing
Contributions are welcome!
Whether you're fixing a typo, adding a new function, or suggesting improvements, your help is appreciated.
Please follow the contributing guidelines for more details on how to contribute to this project.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A server built on the Model Context Protocol that enables controlling the Unitree Go2 robot using natural language commands, which are translated into ROS2 instructions for the robot to perform corresponding actions.
- Requirements
- MCP Functions
- Installation
- How To Use
- 1. Set UNITREE_ROS2_SETUP_SH_PATH.
- 2. Check the Go2 robot is connected to the network.
- 3. Run any AI system that has imported unitree-go2-mcp-server.
- 4. Type "Make the Go2 robot move forward at a velocity of 0.5 m/s for 3 seconds.".
- 5. Check the Go2 robot's movement.
- 6. Type what you want to do and Enjoy!
- Contextual Understanding
- Simple Task
- Contributing
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to interact with the Godot game engine, allowing them to launch the editor, run projects, capture debug output, and control project execution.Last updated -605JavaScriptMIT License
- -securityFlicense-qualityA Python-based server that enables AI assistants to control robots by integrating the Model Context Protocol (MCP) with ROS 2, allowing for natural language commands that translate into robot movement via the /cmd\_vel topic.Last updated -55Python
- -securityFlicense-qualityA Model Context Protocol server that enables natural language interactive control of Universal Robots collaborative robots, allowing users to control robot motion, monitor status, and execute programs through direct commands to large language models.Last updated -3Python
- -securityAlicense-qualityA server that enables control of Unreal Engine 5.5+ using natural language commands, allowing users to create Blueprints, manipulate actors, work with nodes, manage project settings, and create UMG widgets through the Model Context Protocol.Last updated -PythonMIT License