About ArduPilot MCP Server Sandbox
ArduPilot MCP Server Sandbox connects ArduPilot with an LLM so users of MCP hosts can control a drone through natural language. Its tools cover flight control, position queries, and star-shaped mission management for SITL or physical aircraft.
Key features
- 01Control ArduPilot with natural language
- 02Arm and disarm the vehicle
- 03Take off and change flight modes
- 04Get the current position
- 05Download, clear, and start missions
- 06Create and upload star-shaped missions
Use cases
- 01Test drone control in SITL
- 02Take off and change modes through chat
- 03Create a star route around the current position
- 04Check position or manage onboard missions
MCP support
It exposes ArduPilot control tools to MCP hosts such as Claude Desktop and Cline. It communicates with SITL or a physical aircraft over MAVLink.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEArduPilot MCP Server Sandbox
ArduPilot ドローンをLLMと連携して自然言語で操作するMCPサーバーです。
Claude DesktopやCline などMCPホストから利用可能です。

https://youtu.be/y1WE1cDC54Y?si=iy6vdGl38aTRcFcF
動作環境(SITLテスト可能)
- ArduPilot (SITL or 実機)
- MAVLink 通信が
tcp:127.0.0.1:5762で受け付け可能であること - Python 3.10+
Mission Planner のシミュレータを使う場合
ArduPilotドローンのシミュレーションを簡単に試すには、Mission Planner の内蔵シミュレータを使うのが便利です。
- Mission Planner をインストール
- 起動後、上部メニューの
シミュレーションボタンをクリック - 次の画面で
Multirotor(マルチローター)を選択 - ダイアログの
Stableボタンをクリック - ArduPilotシミュレータが起動し、tcp:127.0.0.1:5762 で待ち受けを開始します

セットアップ手順
-
Python 環境の準備
- Python 3.10+ 推奨
- Windows / macOS / Linux 対応
-
利用可能なツールのインストール
pip install -r requirements.txt -
MCPサーバーの起動確認(手動実行)
python ardupilot_mcp_server.py「MCPサーバーを起動します...」と出れば準備完了です。
Cline との連携手順
- OpenRouter にサインアップし、APIキーを取得
- VS Code に Cline 拡張機能 をインストール
- VS Code の settings.json に以下を追加:
※ python のパスや PYTHONPATH は環境に応じて調整してください。{ "cline.apiKey": "sk-xxxxxxx", "cline.apiBaseUrl": "https://openrouter.ai/api/v1", "cline.defaultModel": "deepseek/deepseek-chat-v3-0324:free", "cline.mcpServers": { "ardupilot-controller": { "command": "python", "args": [ "${workspaceFolder}/ardupilot_mcp_server.py" ], "env": { "PYTHONPATH": "${env:USERPROFILE}\\.local\\lib\\python3.12\\site-packages" } } } }
Claude Desktop からの使用方法(GUI連携)
-
Claude Desktop をインストール
-
設定ファイル
claude_desktop_config.jsonを開くWindows の場合:
C:\Users\{ユーザー名}\AppData\Roaming\Claude\claude_desktop_config.json -
以下を追記:
{ "mcpServers": { "ardupilot-controller": { "command": "python", "args": [ "C:/Users/your-user-name/path/to/ardupilot_mcp_server.py" ], "alwaysAllow": [ "arm", "disarm", "takeoff", "change_mode" ] } } }※ パスは環境に応じて調整してください。
-
Claude Desktop を再起動
利用できるMCPツール一覧
| コマンド | 説明 |
|---|---|
| arm() | 機体をアームします |
| disarm() | 機体をディスアームします |
| takeoff(altitude=10.0) | 指定高度まで離陸します |
| change_mode(mode="GUIDED") | モードを変更します |
| get_position() | 現在位置を取得します |
| clear_mission() | 機体上のミッションを消去します |
| download_mission() | 機体上のミッションを取得します |
| upload_star_mission(altitude=15.0, outer_radius=50.0, inner_radius=20.0, points=5) | 現在位置を中心に星形ミッションを作成してアップロードします |
| start_mission() | AUTOモードに変更してミッション開始状態にします |
プロンプト例(チャットでの操作)
Cline、または Claude Desktop に話しかけて、ArduPilot を自然言語で操作できます:
- 「ArduPilotをアームして」
- 「10メートルまで離陸して」
- 「モードをGUIDEDに変更して」
- 「高度15m、半径50mの星形ミッションを作って機体にアップロードして」
- 「ArduPilotをディスアームして」
※ MCP サーバーに登録されているツールに応じて、自然文が自動で変換されます。
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.