Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for Unitree Go2 robot control
This repo exposes Unitree Go2 robot actions through the Model Context Protocol. An agent can send natural-language requests, and the server translates them into ROS2 instructions or rosbridge calls.

Builders who want their agent to control a Unitree Go2 robot through MCP.
You can ask an agent to move and interact with a Go2 robot instead of issuing ROS2 commands yourself.
What it does
Natural language robot control
Lets an LLM translate plain requests into robot actions.
ROS2 command bridge
Maps MCP functions to ROS2 instructions for the Go2.
Optional rosbridge support
Supports connection settings for rosbridge when you do not want a direct ROS2 path.
MCP function set
Documents the available robot actions in `MCPFUNCTIONS.md`.
How to get it
- 1Run
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git cd unitree-go2-mcp-server
- 2To install uv, you can use the following command
curl -LsSf https://astral.sh/uv/install.sh | sh
- 3or
pip install uv
- 4Create virtual environment and activate it (Optional)
uv venv source .venv/bin/activate
- 5MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- 6You can install Claude Desktop to use claude-desktop-debian.
code ~/.config/Claude/claude_desktop_config.json
README
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.
Requirements
MCP Functions
You can find the list of functions in the MCPFUNCTIONS.md.
Installation
1. Setup unitree_ros2 environment
https://github.com/unitreerobotics/unitree_ros2
- You need to complete the setup up to
Step 2: Connect and testin the repository linked above.
2. Clone this repository
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server
3. uv Installation
- To install
uv, you can use the following command:
curl -LsSf https://astral.sh/uv/install.sh | sh
or
pip install uv
- Create virtual environment and activate it (Optional)
uv venv
source .venv/bin/activate
4. MCP Server Configuration
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:
- 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
How To Use
1. Set UNITREE_ROS2_SETUP_SH_PATH.
- Open
server.pyand change yourUNITREE_ROS2_SETUP_SH_PATH(eg./home/lpigeon/unitree_ros2/setup.sh)
If you use rosbridge, you need Set IP and Port to connect rosbridge (Optional).
- Open
server.pyand change yourLOCAL_IP,ROSBRIDGE_IPandROSBRIDGE_PORT. (ROSBRIDGE_PORT's default value is9090)
2. Check the Go2 robot is connected to the network.
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.
3. Run any AI system that has imported unitree-go2-mcp-server.
4. Type "Make the Go2 robot move forward at a velocity of 0.5 m/s for 3 seconds.".
5. Check the Go2 robot's movement.
6. Type what you want to do and Enjoy!
Contextual Understanding
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!
Simple Task
This task is a comprehensive demo task showcasing the Unitree Go2 robot's obstacle avoidance, direction changing, and user interaction capabilities.
Contributing
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.
Files in the repo
- img
- msgs
- utils
- .gitignore
- .python-version
- CONTRIBUTING.md
- LICENSE
- MCPFUNCTIONS.md
- pyproject.toml
- README.md
- server.py
- uv.lock
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.
x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros