Unitree Go2

v1.0.0Developer Toolsstable

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.

go2go2-mcp-servermcpmcp-servermodelcontextprotocol
Share:
78
Stars
0
Downloads
0
Weekly
0/5

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

Control Unitree Go2 quadruped robots with natural language commands.
Translate AI instructions into ROS2 actions for autonomous movement.
lpigeon

Maintainer

LicenseApache 2.0
Languagepython
Versionv1.0.0
UpdatedMay 2, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx unitree-go2-mcp-server

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

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
1

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-server
2

Install 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/activate
3

Configure 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 = 9090
4

Start 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.xml
5

Configure 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"]
    }
  }
}
6

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 topics

Unitree 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.

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.

Quick Config Preview

{ "mcpServers": { "unitree-go2-mcp-server": { "command": "npx", "args": ["-y", "unitree-go2-mcp-server"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

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.

33,000+ ServersFree & Open SourceStep-by-Step Guides