センサーデバイス用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 を再接続するコマンドをサポートします (一部の機能はモック化されています)。
Related MCP server: CoinGecko
インストール
このアプリケーションを実行するには、お使いのマシンにNode.jsがインストールされている必要があります。Node.jsがインストールされていない場合は、公式ウェブサイトからダウンロードできます。
リポジトリをクローンします。
npm を使用して依存関係をインストールします。
npm install
構成
claude_desktop_config.jsonファイルがサーバーを実行するために正しく設定されていることを確認してください。設定例:
使用法
サーバーを起動するには、次のコマンドを実行します。
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 レベルやその他の情報をユーザーのホーム ディレクトリにあるログ ファイル ( co2_level.log ) に記録します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。