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.
You can find the list of functions in the MCPFUNCTIONS.md.
https://github.com/unitreerobotics/unitree_ros2
- You need to complete the setup up to
Step 2: Connect and testin the repository linked above.
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server- To install
uv, you can use the following command:
curl -LsSf https://astral.sh/uv/install.sh | shor
pip install uv- Create virtual environment and activate it (Optional)
uv venv
source .venv/bin/activateSet MCP setting to mcp.json.
Please keep in mind that the configuration must be done on the PC connected to the Go2.
{
"mcpServers": {
"unitree-go2-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/unitree-go2-mcp-server",
"run",
"server.py"
]
}
}
}If you use Claude Desktop, you can find mcp.json using the following command:
- MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json- Linux(Ubuntu)
You can install Claude Desktop to use claude-desktop-debian.
code ~/.config/Claude/claude_desktop_config.json- Windows
code $env:AppData\Claude\claude_desktop_config.json- Open
server.pyand change yourUNITREE_ROS2_SETUP_SH_PATH(eg./home/lpigeon/unitree_ros2/setup.sh)
- Open
server.pyand change yourLOCAL_IP,ROSBRIDGE_IPandROSBRIDGE_PORT. (ROSBRIDGE_PORT's default value is9090)
Type the following command in the terminal.
ros2 topic listYou should see the following topic:
/wirelesscontrollerIf you don't see the topic, check the connection between the Go2 robot and the network.
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!
This task is a comprehensive demo task showcasing the Unitree Go2 robot's obstacle avoidance, direction changing, and user interaction capabilities.
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.



