CO2 Sensor MCP Server

by kmwebnet
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports publishing CO2 sensor data to MQTT brokers, including functionality to reconnect to MQTT services when needed.

  • Runs as a Node.js application providing device information, sensor data, and network status via JSON-RPC interface.

  • Connects to a Raspberry Pi Pico via USB to read real CO2 levels as an alternative to simulation mode.

センサーデバイス用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がインストールされていない場合は、公式ウェブサイトからダウンロードできます。

  1. リポジトリをクローンします。
  2. 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 レベルやその他の情報をユーザーのホーム ディレクトリにあるログ ファイル ( co2_level.log ) に記録します。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています。

-
security - not tested
F
license - not found
-
quality - not tested

シミュレーション モードと実際の Raspberry Pi Pico ハードウェア接続の両方で動作し、CO2 センサー データと対話するための JSON-RPC インターフェイスを提供する Node.js アプリケーションです。

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. JSON-RPC Methods
            1. initialize
            2. shutdown
            3. resources/list
            4. resources/read
            5. tools/list
            6. tools/call
          2. DeviceState Class
            1. Methods
          3. Logging
            1. License
              ID: hs4trgkn73