MCP Server for sensor device について
Claude Desktop 向けの Node.js 製 MCP サーバーで、CO2 センサーをシミュレートするか、USB 経由で Raspberry Pi Pico から実測値を取得します。デバイスとネットワークの状態も公開し、一部のネットワークおよび MQTT 操作は模擬機能です。
主な機能
- 01CO2 測定値のシミュレーション
- 02USB 経由の Raspberry Pi Pico 読み取り
- 03デバイス、センサー、ネットワークの状態
- 04MQTT パブリッシュコマンド
- 05WiFi と MQTT の再接続コマンド
活用シーン
- 01ハードウェアなしでセンサー連携を試す
- 02Raspberry Pi Pico から CO2 濃度を取得する
- 03デバイスとネットワークの状態を確認する
- 04MQTT のパブリッシュと再接続コマンドを試す
MCP 対応
MCP リソースとしてデバイス情報、センサー測定値、ネットワーク状態を公開し、ツールで MQTT パブリッシュや WiFi・MQTT の再接続を実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
センサーデバイス用 MCP サーバー
このプロジェクトは、Claude Desktop での使用を想定して設計された Node.js アプリケーションです。CO2 センサーデバイスをシミュレートし、デバイスとやり取りするための JSON-RPC サーバーを提供します。アプリケーションはシミュレーションモードと実機モードの両方で動作し、実機モードでは USB 経由で Raspberry Pi Pico に接続して CO2 濃度を読み取ります。
機能
- シミュレーションモードでは、ランダムな CO2 濃度を生成して CO2 センサーデバイスをシミュレートします。
- USB 経由で Raspberry Pi Pico に接続し、実際の CO2 濃度を読み取ります。
- JSON-RPC 経由でデバイス情報、センサーデータ、ネットワークの状態を提供します。
- MQTT へのデータ送信、WiFi の再接続、MQTT の再接続コマンドに対応しています(一部の機能はモックです)。
インストール
このアプリケーションを実行するには、マシンに Node.js がインストールされている必要があります。Node.js がインストールされていない場合は、公式ウェブサイトからダウンロードできます。
-
リポジトリをクローンします。
-
npm を使用して依存関係をインストールします。
npm install
設定
サーバーを実行するために、claude_desktop_config.json ファイルが正しく設定されていることを確認してください。設定例:
{
"mcpServers": {
"CO2 sensor": {
"command": "node",
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"env": {}
}
}
}
使用方法
サーバーを起動するには、次のコマンドを実行します。
node index.js
JSON-RPC メソッド
initialize
サーバーを初期化し、サーバーの機能を返します。
shutdown
サーバーをシャットダウンします。
resources/list
利用可能なリソースを一覧表示します。
resources/read
指定されたリソースを読み取ります。
tools/list
利用可能なツールを一覧表示します。
tools/call
指定されたツールを呼び出します。
DeviceState クラス
DeviceState クラスはデバイスの状態をシミュレートし、デバイス情報、センサーデータ、ネットワークの状態を取得するメソッドを提供します。また、Raspberry Pi Pico への接続を管理し、CO2 濃度を読み取ります。
メソッド
getDeviceInfo():デバイス情報を返します。getSensorData():センサーデータを返します。getNetworkStatus():ネットワークの状態を返します(モック機能)。publishToMQTT():MQTT へのデータ送信をシミュレートします(モック機能)。reconnectWiFi():WiFi への再接続をシミュレートします(モック機能)。reconnectMQTT():MQTT への再接続をシミュレートします(モック機能)。
ログ記録
このアプリケーションは、ユーザーのホームディレクトリにあるログファイル(co2_level.log)に CO2 濃度などの情報を記録します。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。