mcpField
E
Esp Mcp

Esp Mcp

ローカル
github.com/horw開発ツール15744 週間前に更新

Esp Mcp について

Esp Mcp は、ESP-IDF と ESP32 の主要なコマンドを一か所にまとめる、概念実証段階の MCP サーバーです。インストール、プロジェクト作成、ビルド、フラッシュ、テストを LLM との対話で行えます。Espressif のチップを扱う組み込み開発者を対象としています。

主な機能

  1. 01ESP-IDF 依存関係とツールチェーンのインストール
  2. 02ESP-IDF プロジェクトの作成と設定
  3. 03インクリメンタルビルドに対応したプロジェクトビルド
  4. 04シリアルポートの一覧表示とファームウェアの書き込み
  5. 05pytest-embedded による pytest テストの実行
  6. 06プロジェクトごとの ESP-IDF パス指定

活用シーン

  1. 01チャットからの ESP32 プロジェクトのターゲット設定とビルド
  2. 02接続中のシリアルポートの確認とデバイスへのファームウェア書き込み
  3. 03ESP-IDF プロジェクトの pytest テスト実行

MCP 対応

このサーバーは run_esp_idf_install、build_esp_project、flash_esp_project などのツールを提供し、LLM クライアントが MCP 経由で呼び出せるようにします。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MseeP.ai Security Assessment Badge

目標

この MCP の目標は次のとおりです。

  • ESP-IDF と関連プロジェクトのコマンドを一か所に集約します。
  • LLM とのコミュニケーションだけで、簡単に使い始められるようにします。
プロジェクトへの貢献方法

この MCP にないコマンドを見つけて、PR を作成するだけです!

実装を手伝ってほしい場合は、issue を開いてください。

お知らせ

このプロジェクトは現在、ESP-IDF のワークフローに特化した MCP サーバーの**概念実証(PoC)**です。

現在の機能:

主な機能:

  • run_esp_idf_install:install.sh を使用して ESP-IDF の依存関係とツールチェーンをインストールします。
  • create_esp_project:新しい ESP-IDF プロジェクトを作成します。
  • setup_project_esp_target:ESP-IDF プロジェクトの対象チップを設定します(esp32、esp32c3、esp32s3 など)。
  • build_esp_project:インクリメンタルビルドに対応して ESP-IDF プロジェクトをビルドします。
  • list_esp_serial_ports:ESP デバイスで利用可能なシリアルポートを一覧表示します。
  • flash_esp_project:ビルド済みファームウェアを接続された ESP デバイスに書き込みます。
  • run_pytest:ESP-IDF プロジェクト向けの pytest-embedded に対応して pytest テストを実行します。

その他の機能:

  • 柔軟な ESP-IDF パス管理:idf_path パラメーターを使用して、プロジェクトごとに異なる ESP-IDF バージョンをサポートします。
  • SDK 設定の管理:ビルド設定用にカスタムの sdkconfig_defaults ファイルをサポートします(複数のファイルはセミコロンで区切って指定できます)。
  • パフォーマンス監視のためのビルド時間計測。
  • 書き込み操作でのポート指定(任意)。
  • ビルドログに基づく問題の自動修正を実験的にサポートします。

ビジョンと今後の開発: 長期的なビジョンは、この MCP を組み込みデバイスとやり取りするための包括的なツールキットへと拡張し、ホームアシスタントプラットフォームとの連携や、ESP-IDF および関連技術のドキュメントへのアクセス効率化を実現することです。

次のような機能を構想しています。

  • ESP-IDF コマンドのサポート拡大(例:実現可能であれば、monitor や menuconfig との連携)。
  • デバイスの管理と情報の取得。
  • その他の組み込み開発ツールやプラットフォームとの連携。

アイデアや貢献を歓迎します!issue を開いて、ぜひご意見をお寄せください。

インストール

まず、この MCP リポジトリをクローンします。

git clone [email protected]:horw/esp-mcp.git

次に、チャットボットで設定します。

以下の JSON スニペットは、Model Context Protocol(MCP)に対応したチャットボットまたはエージェントシステムで、この esp-mcp サーバーを設定する方法の一例です。具体的な設定手順や形式は、使用するチャットボットシステムによって異なる場合があります。MCP サーバーの統合方法については、チャットボットのドキュメントを参照してください。

{
    "mcpServers": {
        "esp-run": { // "esp-run" is an arbitrary name you can assign to this server configuration.
            "command": "<path_to_uv_or_python_executable>",
            "args": [
                "--directory",
                "<path_to_cloned_esp-mcp_repository>", // e.g., /path/to/your/cloned/esp-mcp
                "run",
                "main.py" // If using python directly, this might be just "main.py" and `command` would be your python interpreter
            ],
            "env": {
                "IDF_PATH": "<path_to_your_esp-idf_directory>" // e.g., ~/esp/esp-idf or C:\\Espressif\\frameworks\\esp-idf
            }
        }
    }
}

設定に関する注意事項:

  • command:uv を使用する場合は uv 実行ファイルのフルパス、main.py を直接実行する場合は Python インタープリターのフルパス(例:/usr/bin/python3 または C:\\Python39\\python.exe)を指定します。
  • args:
    • --directory の最初の引数には、esp-mcp リポジトリをクローンした場所の絶対パスを指定します。
    • uv を使用する場合は、引数として run main.py を指定します。Python を直接使用する場合は、args リストに main.py のみを指定すればよい場合があります。その際は、command が Python 実行ファイルを指していることを確認してください。
  • IDF_PATH:(任意)この環境変数には、ESP-IDF インストールのルートディレクトリを指定できます。ESP-IDF は Espressif の公式 IoT 開発フレームワークです。まだインストールしていない場合は、インストール手順についてESP-IDF 公式ドキュメントを参照してください。注:すべてのツールは idf_path パラメーターに対応しており、ツールの呼び出し時に手動で指定できます。これにより、環境変数を設定せずに、プロジェクトごとに異なる ESP-IDF バージョンを使用できます。idf_path が指定されていない場合、ツールは利用可能であれば IDF_PATH 環境変数を使用します。
使い方

esp-mcp サーバーを設定して実行すると、LLM またはチャットボットは、この MCP で定義されたツールを使用してサーバーとやり取りできます。たとえば、チャットボットに次のように依頼できます。

  • 「/path/to/esp-idf にある ESP-IDF インストールの依存関係をインストールしてください。」
  • 「/path/to/my/esp-project のプロジェクトのターゲットチップを esp32s3 に設定してください。」
  • 「esp-mcp を使用して、/path/to/my/esp-project にあるプロジェクトをビルドしてください。」
  • 「カスタムの sdkconfig デフォルト設定 sdkconfig.defaults;sdkconfig.ci.release を使用してプロジェクトをビルドしてください。」
  • 「esp32c3 を対象に、/path/to/my/esp-project のプロジェクトで pytest テストを実行してください。」
  • 「my_app のプロジェクトについて、接続されている ESP32 デバイスにファームウェアを書き込んでください。」

MCP サーバーは、main.py に実装されたツールに基づいて、対応する ESP-IDF コマンド(idf.py build、idf.py set-target、idf.py flash、pytest など)を実行します。

以下の result.gif は、やり取りの例を示しています。

結果

例
  1. ビルドと書き込み README の画像
スター履歴

スター履歴グラフ

コメント

MCP は初めてですか?

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

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