mcpField
M
MCP for IOT

MCP for IOT

ローカル
github.com/sukeeshその他878 週間前に更新

MCP for IOT について

MCP for IOT は、Claude などの互換クライアントと Arduino をつなぐ Go 製 MCP サーバーです。シリアルデータの読み取りに加え、デジタルピンやブザーを制御できます。

主な機能

  1. 01利用可能なシリアルポートの一覧表示
  2. 02Arduino のシリアルデータ読み取り
  3. 03デジタルピン値の設定
  4. 04時間指定でのブザー制御

活用シーン

  1. 01使用可能なシリアルポートの確認
  2. 02Arduino から1行のデータを取得
  3. 03LED やリレーのピン切り替え
  4. 04接続したブザーの作動

MCP 対応

シリアルポート一覧、シリアル行の読み取り、デジタル出力、ブザー制御のツールを MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP for IOT

IoT デバイス(Arduino)向け Model Context Protocol(MCP)サーバー

IOT MCP ロゴ

Go

概要

MCP for IOT は、Claude のような AI モデルが IoT デバイス、特に Arduino ボードと直接やり取りできる、Model Context Protocol(MCP)サーバーの Go による実装です。このサーバーは Claude と Arduino ハードウェアの橋渡しをし、AI によるハードウェアの自動化を可能にします。

機能

  • 🔌 利用可能なシリアルポートを一覧表示
  • 📡 Arduino のシリアルポートからデータを読み取り
  • 🚦 デジタルピン(LED、リレーなど)を制御
  • 🔊 オン/オフおよび継続時間の設定でブザーを制御
  • 🤖 Claude AI とシームレスに連携

使い方

https://github.com/user-attachments/assets/46d7d731-f5d0-4acd-b53e-c00be8b83215

前提条件

  • Go(バージョン 1.24 以降)
  • USB 接続の Arduino ハードウェア
  • Claude Desktop App または互換性のある MCP クライアント

インストール

ソースからビルド
git clone https://github.com/sukeesh/mcp-iot-go.git
cd mcp-iot-go
go install

バイナリは GOBIN ディレクトリにインストールされます。このディレクトリは PATH に含まれている必要があります。

Arduino のセットアップ

  1. Arduino をコンピューターに接続します
  2. 提供されている Arduino ファームウェアを書き込みます:
    arduino/firmware.ino
    

このファームウェアは、シリアル通信経由で次のコマンドを受け付けます:

  • M,pin,mode - ピンモードを設定します(例:M,6,OUTPUT)
  • D,pin,value - デジタルピンを制御します(例:D,6,HIGH または D,6,LOW)
  • BZ,pin,state - ブザーを制御します(例:BZ,8,ON または BZ,8,OFF)

MCP クライアントの設定

Claude Desktop を設定します:

  1. Claude Desktop → Settings → Developer → Edit Config を開きます
  2. 次の内容を claude_desktop_config.json に追加します:
{
  "mcpServers": {
    "iot": {
      "command": "<path-to-mcp-iot-go-binary>",
      "env": {}
    }
  }
}
  1. Claude Desktop を再起動します

利用可能なツール

ツール説明
port_list利用可能なすべてのシリアルポートを一覧表示します
read_serial_line指定したシリアルポートからデータを 1 行読み取ります
write_digital指定したポートのピンにデジタル値(HIGH/LOW)を書き込みます
buzzer_controlオプションで継続時間を指定して、Arduino のピンに接続されたブザーを制御します

使用例

セットアップ後、Claude を通じて Arduino ハードウェアと直接やり取りできます:

  • 「利用可能なシリアルポートをすべて一覧表示して」
  • 「ポート /dev/cu.usbmodem12401 の Arduino からデータを読み取って」
  • 「ピン 6 の赤い LED を点灯して」
  • 「ピン 8 のブザーを 2 秒間鳴らして」

開発

プロジェクト構成
  • main.go - MCP サーバーのセットアップとツール定義
  • internal/tools.go - Arduino 通信のツール実装
  • arduino/firmware.ino - コマンドを処理する Arduino ファームウェア
依存関係

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

コメント

MCP は初めてですか?

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

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