The Unitree Go2 MCP Server is a server built on the MCP that enables users to control the Unitree Go2 robot using natural language commands interpreted by a LLM.
Add to Claude Desktop config.json
{
"mcpServers": {
"lpigeon-unitree-go2-mcp-server": {
"command": "python",
"args": [
"-m",
"unitree_go2_mcp_server"
]
}
}
} Get the source and run locally
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git ~/.mcp/unitree-go2-mcp-server
cd ~/.mcp/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.
You can find the list of functions in the MCPFUNCTIONS.md.
unitree_ros2 environmenthttps://github.com/unitreerobotics/unitree_ros2
Step 2: Connect and test in the repository linked above.git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server
uv Installationuv, you can use the following command:curl -LsSf https://astral.sh/uv/install.sh | sh
or
pip install uv
uv venv
source .venv/bin/activate
Set 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:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
You can install Claude Desktop to use claude-desktop-debian.
code ~/.config/Claude/claude_desktop_config.json
code $env:AppData\Claude\claude_desktop_config.json
UNITREE_ROS2_SETUP_SH_PATH.server.py and change your UNITREE_ROS2_SETUP_SH_PATH (eg. /home/lpigeon/unitree_ros2/setup.sh)rosbridge, you need Set IP and Port to connect rosbridge (Optional).server.py and change your LOCAL_IP, ROSBRIDGE_IP and ROSBRIDGE_PORT. (ROSBRIDGE_PORT’s default value is 9090)Type the following command in the terminal.
ros2 topic list
You should see the following topic:
/wirelesscontroller
If you don’t see the topic, check the connection between the Go2 robot and the network.
unitree-go2-mcp-server.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.
AI-powered task management system for AI-driven development. Features PRD parsing, task expansion, multi-provider support (Claude, OpenAI, Gemini, Perplexity, xAI), and selective tool loading for optimized context usage.
Provide coding agents direct access to Figma data to help them one-shot design implementation.
gitmcp.io is a generic remote MCP server to connect to ANY GitHub repository or project for documentation
MCP Server for Android/iOS application and device automation, development and app scraping. Simulator/Emulator/Physical devices like iPhone, Google Pixel, Samsung supported.
Create crafted UI components inspired by the best 21st.dev design engineers.
An Excel manipulation server providing workbook creation, data operations, formatting, and advanced features (charts, pivot tables, formulae).