mcpField
A
Arduino MCP Server

Arduino MCP Server

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

Arduino MCP Server について

Arduino MCP Serverは、arduino-cliを介してAIアシスタントとArduinoボードを接続します。環境設定、スケッチのコンパイルと書き込み、シリアル通信、電気的な安全確認に対応します。

主な機能

  1. 01ボードとシリアルポートの検出
  2. 02コアとライブラリの導入・管理
  3. 03スケッチのコンパイルと書き込み
  4. 04状態を保持するシリアルセッション
  5. 05電気的安全性とピン情報の確認

活用シーン

  1. 01ボード用のarduino-cli環境を設定
  2. 02接続中のボードへスケッチを書き込み
  3. 03シリアル出力の準備完了メッセージを待機
  4. 04ハードウェア操作前にピンの安全性を確認

MCP 対応

MCPクライアントにArduino CLI操作、シリアルセッション制御、安全確認、ボード参照リソース、セットアップ用プロンプトを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"akshatnerella-arduino": {
"command": "npx",
"args": [
"-y",
"arduino-mcp-server"
],
"env": {
"ARDUINO_CLI_PATH": "<ARDUINO_CLI_PATH>",
"ARDUINO_SKETCH_ROOT": "<ARDUINO_SKETCH_ROOT>"
}
}
}
}
起動コマンドnpx -y arduino-mcp-server
設定が必要な環境変数
ARDUINO_CLI_PATHOptional path to arduino-cli binary. Defaults to arduino-cli on PATH.
ARDUINO_SKETCH_ROOTOptional absolute path restricting sketch operations to this directory.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmarduino-mcp-server0.2.7

ツール

21

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

arduino-mcp-server

npm version License: MIT Node.js 20+

AI アシスタントから Arduino を完全に操作できます。コンパイル、アップロード、シリアルのモニタリング、配線の安全確認まで、すべて自然言語で行えます。

HardwareMCP エコシステムの一部です。AI と物理的なハードウェアをつなぐオープンソースの MCP サーバー群です。


できること

AI アシスタントは Jira、GitHub、データベースを操作できます。しかし、これまではマイクロコントローラーと通信できませんでした。

arduino-mcp-server は arduino-cli を MCP サーバーとして利用できるようにし、AI が次の操作を行えるようにします。

  • 接続されているボードとポートを自動的に検出
  • ターミナルに触れずにスケッチをコンパイルしてアップロード
  • 状態を保持するセッションでシリアル出力をモニタリング(開く、読み取る、パターンを待つ、書き込む、閉じる)
  • ハードウェアにコマンドを送信する前に電気的な安全性を確認
  • コア、ライブラリ、CLI のインストールなど、依存関係を管理

クイックスタート

インストール:

npm install -g arduino-mcp-server

Claude Desktop に追加(claude_desktop_config.json):

{
  "mcpServers": {
    "arduino": {
      "command": "npx",
      "args": ["-y", "arduino-mcp-server"],
      "env": {
        "ARDUINO_CLI_PATH": "arduino-cli",
        "ARDUINO_SKETCH_ROOT": "/path/to/your/sketches"
      }
    }
  }
}

PATH 上に arduino-cli が必要です。または、サーバーにインストールさせることもできます。


できることの例

ゼロからセットアップ:

「Arduino CLI がインストールされているか確認して、Arduino Uno 用にすべてセットアップしてください。」

コンパイルとアップロード:

「Blink スケッチをコンパイルして、COM6 に接続された Uno にアップロードしてください。」

シリアルモニタリング:

「COM6 で 115200 baud のシリアル通信を開き、デバイスが READY と出力するまで待ってください。」

安全性を優先したワークフロー:

「コマンドを送信する前に、ピン 13 に 5V、25mA を設定した Arduino Uno の安全性を事前確認してください。」


ツール

ツール説明
arduino_cli_doctorArduino CLI のインストール状況とバージョンを確認
install_arduino_cliarduino-cli のインストールを案内
detect_hardware接続されたボードを検出し、FQBN を推定
list_connected_boards接続されている Arduino ボードをすべて一覧表示
list_serial_ports利用可能なシリアルポートを一覧表示
ensure_core_installedボードのコアを確認/インストール
compile_sketch対象ボード用にスケッチをコンパイル
upload_sketchコンパイル済みのスケッチをボードにアップロード
upload_and_wait_readyアップロードして、デバイスの準備完了信号を待機
serial_open_session状態を保持するシリアルセッションを開く
serial_readバッファー内のシリアルデータを読み取る
serial_expectシリアル出力に特定のパターンが現れるまで待機
serial_writeシリアル経由でデータを送信
serial_close_sessionシリアルセッションを閉じる
serial_list_sessionsアクティブなシリアルセッションを一覧表示
read_serial_snapshotシリアルデータを一度だけ簡易的に読み取る
safety_preflightハードウェア操作前に電気的な安全性を確認
get_board_detailsボードのピンと機能の詳細を取得
list_supported_boardsarduino-cli がサポートするボードをすべて一覧表示
list_board_referenceボードのピンリファレンスを参照
search_board_referenceキーワードでボードリファレンスを検索

リソース:

  • arduino://boards/reference — ボードのピンと機能に関する構造化リファレンス

プロンプト:

  • arduino-cli-bootstrap-policy — arduino-cli のセットアップ動作に関するポリシー
  • arduino-setup-assistant — Arduino 環境のセットアップを案内

設定

変数デフォルト説明
ARDUINO_CLI_PATHarduino-cliarduino-cli バイナリへのパス
ARDUINO_SKETCH_ROOT(none)スケッチのパスをこのディレクトリ内に制限

開発

git clone https://github.com/hardware-mcp/arduino-mcp-server
cd arduino-mcp-server
npm install
npm run typecheck
npm run build
npm run dev

HardwareMCP の一部

このサーバーは HardwareMCP エコシステムの一部です。AI アシスタントが物理的なハードウェアを実際に操作できるようにする MCP サーバーのコレクションです。


ライセンス

MIT — 詳細は LICENSE をご覧ください。

サポート

Issue を作成

コメント

MCP は初めてですか?

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

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