mcpField
A
ArduPilot MCP Server Sandbox

ArduPilot MCP Server Sandbox

ローカル
github.com/hfujikawa77AI・エージェント924 週間前に更新

ArduPilot MCP Server Sandbox について

ArduPilot MCP Server Sandboxは、ArduPilotとLLMを接続し、MCPホストから自然言語でドローンを操作するためのサーバーです。SITLと実機に対応し、飛行制御や位置確認、星形ミッションの管理を行えます。

主な機能

  1. 01自然言語によるArduPilot操作
  2. 02機体のアームとディスアーム
  3. 03離陸とフライトモードの変更
  4. 04現在位置の取得
  5. 05ミッションの取得・消去・開始
  6. 06星形ミッションの作成とアップロード

活用シーン

  1. 01SITLでドローン操作をテスト
  2. 02チャットで離陸やモード変更
  3. 03現在位置を中心に星形ルートを作成
  4. 04位置確認や機上ミッションの管理

MCP 対応

Claude DesktopやClineなどのMCPホストに、ArduPilotを操作するツールを提供します。MAVLink経由でSITLまたは実機と通信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの README より

ArduPilot MCP Server Sandbox

ArduPilot ドローンをLLMと連携して自然言語で操作するMCPサーバーです。
Claude DesktopやCline など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 サーバーに登録されているツールに応じて、自然文が自動で変換されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。