ArduPilot MCP Server Sandbox

ArduPilot MCP Server Sandbox

Enables natural language control of ArduPilot drones via MAVLink, supporting arm, takeoff, mode changes, and mission uploads.

Category
Visit Server

README

ArduPilot MCP Server Sandbox

ArduPilot ドローンをLLMと連携して自然言語で操作するMCPサーバーです。
Claude DesktopCline などMCPホストから利用可能です。

alt text
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 の内蔵シミュレータを使うのが便利です。

  1. Mission Planner をインストール
  2. 起動後、上部メニューの シミュレーション ボタンをクリック
  3. 次の画面で Multirotor(マルチローター) を選択
  4. ダイアログの Stable ボタンをクリック
  5. ArduPilotシミュレータが起動し、tcp:127.0.0.1:5762 で待ち受けを開始します

alt text

セットアップ手順

  1. Python 環境の準備

    • Python 3.10+ 推奨
    • Windows / macOS / Linux 対応
  2. 利用可能なツールのインストール

    pip install -r requirements.txt
    
  3. MCPサーバーの起動確認(手動実行)

    python ardupilot_mcp_server.py
    

    「MCPサーバーを起動します...」と出れば準備完了です。

Cline との連携手順

  1. OpenRouter にサインアップし、APIキーを取得
  2. VS Code に Cline 拡張機能 をインストール
  3. VS Code の settings.json に以下を追加:
    {
    "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"
        }
        }
    }
    }
    
    ※ python のパスや PYTHONPATH は環境に応じて調整してください。

Claude Desktop からの使用方法(GUI連携)

  1. Claude Desktop をインストール

  2. 設定ファイル claude_desktop_config.json を開く

    Windows の場合: C:\Users\{ユーザー名}\AppData\Roaming\Claude\claude_desktop_config.json

  3. 以下を追記:

    {
        "mcpServers": {
            "ardupilot-controller": {
            "command": "python",
            "args": [
                "C:/Users/your-user-name/path/to/ardupilot_mcp_server.py"
            ],
            "alwaysAllow": [
                "arm",
                "disarm",
                "takeoff",
                "change_mode"
            ]
            }
        }
    }
    

    ※ パスは環境に応じて調整してください。

  4. 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 サーバーに登録されているツールに応じて、自然文が自動で変換されます。

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured