Robot Server
БесплатноНе проверенA robot-control MCP server enabling LLMs to control Unitree robots and DJI Tello drones with mock and hardware backends, built-in routines, and sequence executi
Описание
A robot-control MCP server enabling LLMs to control Unitree robots and DJI Tello drones with mock and hardware backends, built-in routines, and sequence execution.
README
A more complete robot-control MCP server for LLMs, agent systems, and automation platforms, with unified control for Unitree robots and DJI Tello drones.
What Was Improved
Compared with the original version, this project is now a more practical engineering baseline instead of a minimal prototype:
- Supports both
mockandhardwarebackends so workflows can be validated without real devices - Adds a unified configuration layer with environment-variable and CLI overrides
- Adds health checks, status inspection, capability discovery, and a global emergency-stop tool
- Adds built-in routine templates for common robot workflows
- Adds a lightweight sequence executor so clients can submit multiple built-in routines in one request
- Strengthens adapters with stricter parameter validation and connection-state protection
- Fixes missing dependency declarations, fragile startup flow, and unstable relative imports
- Adds unit tests and a local demo for easier verification and regression checks
Project Structure
.
├── examples/
│ └── demo.py
├── src/
│ ├── __init__.py
│ ├── config.py
│ ├── dji_adapter.py
│ ├── exceptions.py
│ ├── main.py
│ ├── service.py
│ └── unitree_adapter.py
├── tests/
│ └── test_service.py
├── README.md
├── README.zh-CN.md
├── requirements.txt
└── run.ps1
Installation
Requirements:
- Python 3.10+
- Windows PowerShell or any terminal that can run Python
Install dependencies:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Included by default:
mcpdjitellopy
If you want to connect to real Unitree hardware, install the corresponding SDK as well:
python -m pip install git+https://github.com/unitreerobotics/unitree_sdk2_python.git
Quick Start
Recommended mock-mode startup:
.\run.ps1
or:
python -m src.main --backend mock --transport stdio
Start with HTTP transport:
.\run.ps1 -Backend mock -Transport streamable-http -Host 127.0.0.1 -Port 8000
Connect to real hardware:
python -m src.main --backend hardware --transport stdio
It is recommended to validate your workflow in mock mode before switching to hardware.
Environment Variables
| Variable | Default | Description |
|---|---|---|
ROBOT_MCP_BACKEND |
mock |
Backend mode: mock / hardware |
ROBOT_MCP_TRANSPORT |
stdio |
Transport: stdio / streamable-http |
ROBOT_MCP_HTTP_HOST |
127.0.0.1 |
HTTP bind host |
ROBOT_MCP_HTTP_PORT |
8000 |
HTTP port |
ROBOT_MCP_LOG_LEVEL |
INFO |
Log level |
ROBOT_MCP_UNITREE_TIMEOUT_SECONDS |
10 |
Unitree connection timeout |
ROBOT_MCP_DEFAULT_TAKEOFF_HEIGHT |
1.2 |
Default DJI takeoff height in meters |
ROBOT_MCP_TELLO_HOST |
empty | Specific Tello host |
Available MCP Tools
Shared tools:
server_statuslist_robot_capabilitieslist_robot_routinesrun_routine_sequencehealth_checkemergency_stop_all
Unitree tools:
unitree_connectunitree_move(velocity, duration=1.0)unitree_stopunitree_statusunitree_disconnectunitree_move_and_stop(velocity, duration=1.0)unitree_out_and_back(velocity, forward_duration=1.0, return_duration=None)unitree_pulse_patrol(velocity, pulse_duration=0.8, pause_duration=0.3, cycles=3)unitree_inspection_sweep(velocity=1.0, forward_duration=1.0, checkpoint_pause=0.5, cycles=2)
Notes:
velocityrange:-3.0 ~ 3.0m/sdurationrange:0.1 ~ 30.0seconds
DJI tools:
dji_connectdji_takeoff(height=None)dji_landdji_emergency_stopdji_statusdji_disconnectdji_takeoff_hover_land(height=None, hover_seconds=3.0)dji_quick_observe(height=None, hover_seconds=5.0)dji_perimeter_scan(height=None, hover_seconds=2.0, checkpoints=3)
Notes:
heightrange:0.2 ~ 10.0meters- When
heightis omitted, the configured default is used
Built-in Routines
To save client-side development time, the server includes several composed actions:
unitree_move_and_stopConnects if needed, performs one move, and stops automaticallyunitree_out_and_backMoves forward, returns, and stops for a simple round-trip patrolunitree_pulse_patrolRepeats short move/pause cycles for lightweight patrol scenariosunitree_inspection_sweepRuns a compact inspection routine with forward movement, checkpoint stop, and return movementdji_takeoff_hover_landTakes off, hovers for a configurable duration, and lands automaticallydji_quick_observeA convenience observation routine with takeoff, hover, and landingdji_perimeter_scanA lightweight aerial scan routine with multiple hover checkpoints
Sequence Executor
run_routine_sequence lets clients submit several built-in routines and pause steps in one request.
Example:
[
{
"action": "unitree_move_and_stop",
"params": {
"velocity": 1.0,
"duration": 1.2
}
},
{
"action": "pause",
"params": {
"duration": 1
}
},
{
"action": "dji_takeoff_hover_land",
"params": {
"height": 1.5,
"hover_seconds": 3
}
}
]
Supported sequence actions:
pauseunitree_move_and_stopunitree_out_and_backunitree_pulse_patrolunitree_inspection_sweepdji_takeoff_hover_landdji_quick_observedji_perimeter_scan
Resources and Prompts
In addition to tools, the server also exposes:
- Resource:
robot://status/summary - Prompt:
safe_operation_checklist(device)
Local Demo
python examples\demo.py
Tests
python -m unittest discover -s tests -v
Usage Tips
- Prefer
mockmode during development - Call
health_checkbefore connecting real hardware - Inspect
server_statusbefore movement or takeoff commands - Use
emergency_stop_allfirst when something goes wrong
Known Limits
- Unitree hardware control is still a lightweight SDK integration layer intended as a starting point for extension
- Current tests mainly cover
mockmode; real hardware behavior still needs on-site integration testing - Exact
streamable-httpbehavior depends on the installedmcppackage version
License
Установка Robot Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/showkeyjar/robot-mcp-serverFAQ
Robot Server MCP бесплатный?
Да, Robot Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Robot Server?
Нет, Robot Server работает без API-ключей и переменных окружения.
Robot Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Robot Server в Claude Desktop, Claude Code или Cursor?
Открой Robot Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Robot Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
