Unitree Go2
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.
What is Unitree Go2?
Unitree Go2 is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to 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 correspo...
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.
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- A server built on the Model Context Protocol that enables co
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx unitree-go2-mcp-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Unitree Go2
The Unitree Go2 MCP Server lets you control a Unitree Go2 quadruped robot using natural language commands by translating them into ROS2 instructions over a rosbridge WebSocket connection. It runs on Ubuntu with ROS2 Humble (or Foxy) and communicates with the robot via the unitree_ros2 package. Robotics researchers, educators, and developers who own a Go2 robot can use it to script autonomous behaviors, test movement commands, and integrate AI-driven control into their ROS2 pipelines without writing low-level code.
Prerequisites
- Ubuntu 20.04 or 22.04 (ROS2 is not supported on macOS or Windows for this use case)
- ROS2 Humble (recommended) or Foxy installed and sourced
- unitree_ros2 package installed and configured through at least Step 2 (connect and test), with `ros2 topic list` showing /wirelesscontroller
- Python 3.10+ and the uv package manager installed
- An MCP-compatible client such as Claude Desktop
Clone the repository
Clone the unitree-go2-mcp-server repository to your Ubuntu machine that has ROS2 installed.
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-serverInstall the uv package manager and set up the environment
The project uses uv for dependency management. Install it via the official script, then create and activate the virtual environment.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activateConfigure server.py environment variables
Edit server.py to set the required configuration values. UNITREE_ROS2_SETUP_SH_PATH should point to your ROS2 setup.sh, and LOCAL_IP should be your machine's IP address. ROSBRIDGE_IP and ROSBRIDGE_PORT default to localhost:9090.
# In server.py, set these variables:
# UNITREE_ROS2_SETUP_SH_PATH = "/opt/ros/humble/setup.sh"
# LOCAL_IP = "192.168.1.100" # Your machine's IP
# ROSBRIDGE_IP = "localhost" # or robot's IP
# ROSBRIDGE_PORT = 9090Start the rosbridge server
The MCP server communicates with ROS2 via rosbridge. Launch it in a separate terminal before starting the MCP server.
source /opt/ros/humble/setup.bash
ros2 launch rosbridge_server rosbridge_websocket_launch.xmlConfigure your MCP client
Add the server to your MCP client configuration using the uv run command pattern with the absolute path to the project directory.
{
"mcpServers": {
"unitree-go2-mcp-server": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/unitree-go2-mcp-server", "run", "server.py"]
}
}
}Verify ROS2 connectivity and test
Before sending commands from the AI, verify the ROS2 connection is working. Then restart your MCP client and send a simple movement command to test end-to-end.
ros2 topic list
# Should show /wirelesscontroller among other topicsUnitree Go2 Examples
Client configuration
MCP client config using uv to run the Go2 server.
{
"mcpServers": {
"unitree-go2-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/home/user/unitree-go2-mcp-server",
"run",
"server.py"
]
}
}
}Prompts to try
Example natural language prompts to control the Unitree Go2 robot.
- "Make the Go2 robot move forward at a velocity of 0.5 m/s for 3 seconds"
- "Have the robot stand up and then sit down"
- "Turn the Go2 robot left by 90 degrees"
- "Make the robot walk in a small circle"
- "The robot looks tired — have it do a stretching routine"Troubleshooting Unitree Go2
ROS2 topics not visible or /wirelesscontroller not in topic list
Ensure you have completed unitree_ros2 setup through Step 2 and that the robot is powered on and connected to your network. Source the ROS2 setup script (`source /opt/ros/humble/setup.bash`) in each terminal before running ros2 commands.
Rosbridge WebSocket connection refused
Start the rosbridge server with `ros2 launch rosbridge_server rosbridge_websocket_launch.xml` in a separate terminal before starting the MCP server. Verify it is listening on port 9090 with `netstat -tlnp | grep 9090`.
Server fails to start with uv: 'No module named ...' errors
Run `uv sync` inside the project directory to install all dependencies. Ensure you are using the correct Python version (3.10+) and that the virtual environment was created with `uv venv`.
Frequently Asked Questions about Unitree Go2
What is Unitree Go2?
Unitree Go2 is a Model Context Protocol (MCP) server that 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. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Unitree Go2?
Follow the installation instructions on the Unitree Go2 GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Unitree Go2?
Unitree Go2 works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Unitree Go2 free to use?
Yes, Unitree Go2 is open source and available under the Apache 2.0 license. You can use it freely in both personal and commercial projects.
Unitree Go2 Alternatives — Similar Developer Tools Servers
Looking for alternatives to Unitree Go2? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Unitree Go2 in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Unitree Go2?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.