Unitree Go2

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.
  • python

75

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "lpigeon-unitree-go2-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/unitree-go2-mcp-server",
        "run",
        "server.py"
      ]
    }
  }
}

The Unitree Go2 MCP Server lets you control a Unitree Go2 robot through natural language commands processed by an LLM. These commands are translated into ROS2 actions, enabling intuitive, conversational control of the robot from any MCP-compatible client.

How to use

Set up your MCP client to talk to the Unitree Go2 MCP Server, then issue natural language commands that the system translates into ROS2 instructions for the robot. Common usage patterns include asking the robot to move in specific directions, adjust velocity, or perform timed actions. The server is designed to respond to your requests and execute corresponding robot behaviors through ROS2 topics and services.

How to install

Prerequisites: you need a Unitree Go2 robot, Ubuntu 20.04 or 22.04, and a ROS2 environment (Humble is recommended, Foxy also works). Follow these steps to install and run the MCP server.

# 1. Setup unitree_ros2 environment
# Follow the setup up to Step 2: Connect and test in the unitree_ros2 repository
# (This repository is: https://github.com/unitreerobotics/unitree_ros2)

# 2. Clone this MCP server repository
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server

# 3. Install uv (MCP runtime)
curl -LsSf https://astral.sh/uv/install.sh | sh
# or
pip install uv

# Optional: create and activate a virtual environment
uv venv
source .venv/bin/activate

# 4. MCP Server Configuration
# The MCP setting should point to the local server script as shown below

Configuration and run details

Configure the MCP server to use the local Python script by placing the following JSON on the PC connected to the Go2 robot. This defines a stdio MCP server that runs via uv and executes server.py.

{
  "mcpServers": {
    "unitree-go2-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/unitree-go2-mcp-server",
        "run",
        "server.py"
      ]
    }
  }
}

Operational notes

If you are using Claude Desktop, locate the MCP configuration file and ensure it points to the correct local MCP setup. The exact path to the config varies by OS, but the key idea is to keep the MCP server settings on the PC that connects to the Go2.

Tips for use

  1. Set UNITREE_ROS2_SETUP_SH_PATH in server.py to the ROS2 setup script for your environment. For example: /home/youruser/unitree_ros2/setup.sh. 2) If you use rosbridge, you may need to configure LOCAL_IP, ROSBRIDGE_IP, and ROSBRIDGE_PORT in server.py. The default ROSBRIDGE_PORT is 9090. 3) Confirm the robot is on the same network by listing ROS2 topics; you should see /wirelesscontroller when the robot is connected.

Example interaction

Type a natural language command such as: Make the Go2 robot move forward at a velocity of 0.5 m/s for 3 seconds. The MCP server translates this into ROS2 commands to carry out the action.

Troubleshooting

If the Go2 robot does not appear on the network, verify the network connection and ROS2 setup. Ensure the MQTT/ROS2 topics relevant to the robot are available and that the unitree_ros2 environment is properly sourced. If the topic /wirelesscontroller is not visible, recheck the robot's network connection.

Notes

The server is intended to be executed on the PC connected to the Go2. All configuration and runtime commands shown here are designed to be actionable and repeatable for straightforward usage.

Contributing

Contributions are welcome. If you have improvements, new features, or fixes, share them following standard collaboration practices for the project.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational