mcpField
M
MCP Server for sensor device

MCP Server for sensor device

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

MCP Server for sensor device について

Claude Desktop 向けの Node.js 製 MCP サーバーで、CO2 センサーをシミュレートするか、USB 経由で Raspberry Pi Pico から実測値を取得します。デバイスとネットワークの状態も公開し、一部のネットワークおよび MQTT 操作は模擬機能です。

主な機能

  1. 01CO2 測定値のシミュレーション
  2. 02USB 経由の Raspberry Pi Pico 読み取り
  3. 03デバイス、センサー、ネットワークの状態
  4. 04MQTT パブリッシュコマンド
  5. 05WiFi と MQTT の再接続コマンド

活用シーン

  1. 01ハードウェアなしでセンサー連携を試す
  2. 02Raspberry Pi Pico から CO2 濃度を取得する
  3. 03デバイスとネットワークの状態を確認する
  4. 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 がインストールされていない場合は、公式ウェブサイトからダウンロードできます。

  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_level.log)に CO2 濃度などの情報を記録します。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

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

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