NodeMCU MCP Service

by amanasmuei
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Connects with ESP8266 devices through Arduino IDE, providing device management capabilities for NodeMCU devices including monitoring, configuration, and command execution.

  • Runs as a Node.js application, providing RESTful API and WebSocket interfaces for NodeMCU device management.

NodeMCU MCP(モデルコンテキストプロトコル)サービス

NodeMCUデバイスを管理するためのモデルコンテキストプロトコル(MCP)サービス。このサービスは、標準のRESTful API/WebSocketインターフェースを提供し、Claude DesktopなどのAIツールとの統合のためのモデルコンテキストプロトコルを実装しています。

概要

NodeMCU MCP は、次の主要機能を備えた ESP8266/NodeMCU IoT デバイス向けの管理ソリューションを提供します。

  • デバイスの状態とテレメトリを監視する
  • デバイスにリモートでコマンドを送信する
  • デバイス構成を更新する
  • MCPプロトコルによるAIアシスタントとの統合

視覚化

特徴

  • 🔌デバイス管理:NodeMCUデバイスの登録、監視、制御
  • 📊リアルタイム通信:リアルタイム更新のためのWebSocketインターフェース
  • ⚙️構成管理: デバイス設定をリモートで更新
  • 🔄コマンド実行: 再起動、更新、ステータスコマンドをリモートで送信
  • 📡テレメトリ収集:センサーデータとデバイスメトリクスを収集する
  • 🔐認証: JWT認証による安全なAPIアクセス
  • 🧠 AI統合:Claude Desktopやその他のMCP互換AIツールと連携

クイックスタート

前提条件

  • Node.js 16.x 以上
  • npmまたはyarn
  • NodeMCUクライアントの場合: ESP8266をサポートするArduino IDE

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の NodeMCU Manager を自動的にインストールするには:

npx -y @smithery/cli install @amanasmuei/nodemcu-mcp --client claude

npmから(公開後)

# Global installation (recommended for MCP integration) npm install -g nodemcu-mcp # Local installation npm install nodemcu-mcp

出典

# Clone the repository git clone https://github.com/amanasmuei/nodemcu-mcp.git cd nodemcu-mcp # Install dependencies npm install # Optional: Install globally for MCP integration npm install -g .

構成

  1. 例に基づいて.envファイルを作成します。
    cp .env.example .env
  2. 設定に合わせて.envファイルを更新します。
    # Server Configuration PORT=3000 HOST=localhost # Security JWT_SECRET=your_strong_random_secret_key # Log Level (error, warn, info, debug) LOG_LEVEL=info

使用法

APIサーバーとして実行

自動再起動付き開発モード:

npm run dev

生産モード:

npm start

MCPサーバーとして実行中

Claude Desktop またはその他の MCP クライアントとの統合の場合:

npm run mcp

グローバルにインストールされている場合:

nodemcu-mcp --mode=mcp

コマンドラインオプション

Usage: nodemcu-mcp [options] Options: -m, --mode Run mode (mcp, api, both) [string] [default: "both"] -p, --port Port for API server [number] [default: 3000] -h, --help Show help [boolean] --version Show version number [boolean]

MCP統合

このプロジェクトでは、公式の Model Context Protocol (MCP) TypeScript SDK を使用して、Claude for Desktop およびその他の MCP クライアントとの統合を提供します。

MCPツール

MCP インターフェイスを通じて次のツールを利用できます。

  • list-devices : 登録されているすべてのNodeMCUデバイスとそのステータスを一覧表示します。
  • get-device : 特定のNodeMCUデバイスに関する詳細情報を取得する
  • send-command : NodeMCUデバイスにコマンドを送信する
  • update-config : NodeMCUデバイスの設定を更新する

Claude for Desktop と併用

このサーバーをClaude for Desktopで使用するには:

  1. https://claude.ai/desktopから Claude for Desktop をインストールします。
  2. ~/Library/Application Support/Claude/claude_desktop_config.jsonを編集して、Claude for Desktop を構成します。
{ "mcpServers": { "nodemcu": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/YOUR/PROJECT/mcp_server_sdk.js" ] } } }
  1. デスクトップ版のClaudeを再起動
  2. Claude for DesktopインターフェースにNodeMCUツールが表示されるはずです。

MCP サーバーをスタンドアロンで実行する

MCP サーバーを直接実行するには:

npm run mcp

または CLI を使用します:

./bin/cli.js --mode=mcp

APIドキュメント

認証

  • POST /api/auth/login - ログインしてJWTトークンを取得する
    { "username": "admin", "password": "admin123" }
    応答:
    { "message": "Login successful", "token": "your.jwt.token", "user": { "id": 1, "username": "admin", "role": "admin" } }
  • POST /api/auth/validate - JWTトークンを検証する
    { "token": "your.jwt.token" }

デバイスAPI

すべてのデバイス エンドポイントには JWT トークンによる認証が必要です。

Authorization: Bearer your.jwt.token

デバイスの一覧

GET /api/devices

応答:

{ "count": 1, "devices": [ { "id": "nodemcu-001", "name": "Living Room Sensor", "type": "ESP8266", "status": "online", "ip": "192.168.1.100", "firmware": "1.0.0", "lastSeen": "2023-05-15T14:30:45.123Z" } ] }

デバイスの詳細を取得する

GET /api/devices/:id

応答:

{ "id": "nodemcu-001", "name": "Living Room Sensor", "type": "ESP8266", "status": "online", "ip": "192.168.1.100", "firmware": "1.0.0", "lastSeen": "2023-05-15T14:30:45.123Z", "config": { "reportInterval": 30, "debugMode": false, "ledEnabled": true }, "lastTelemetry": { "temperature": 23.5, "humidity": 48.2, "uptime": 3600, "heap": 35280, "rssi": -68 } }

デバイスにコマンドを送信する

POST /api/devices/:id/command

リクエスト:

{ "command": "restart", "params": {} }

応答:

{ "message": "Command sent to device", "command": "restart", "params": {}, "response": { "success": true, "message": "Device restarting" } }

WebSocketプロトコル

WebSocket サーバーはルート パスで利用できます: ws://your-server:3000/

WebSocket プロトコル メッセージの詳細については、コードまたは例のディレクトリを参照してください。

NodeMCUクライアントのセットアップ

完全なクライアント実装については、 examplesディレクトリの Arduino スケッチを参照してください。

重要なステップ

  1. Arduino IDE に必要なライブラリをインストールします。
    • ESP8266WiFi
    • WebSocketクライアント
    • ArduinoJson
  2. WiFi とサーバーの設定でスケッチを構成します。
    // WiFi credentials const char* ssid = "YOUR_WIFI_SSID"; const char* password = "YOUR_WIFI_PASSWORD"; // MCP Server settings const char* mcpHost = "your-server-ip"; const int mcpPort = 3000;
  3. スケッチをNodeMCUデバイスにアップロードします

発達

プロジェクト構造

nodemcu-mcp/ ├── assets/ # Logo and other static assets ├── bin/ # CLI scripts ├── examples/ # Example client code ├── middleware/ # Express middleware ├── routes/ # API routes ├── services/ # Business logic ├── .env.example # Environment variables example ├── index.js # API server entry point ├── mcp_server.js # MCP protocol implementation ├── mcp-manifest.json # MCP manifest └── package.json # Project configuration

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

MIT ライセンスは、次のことを許可する許容ライセンスです。

  • ソフトウェアを商用利用する
  • ソフトウェアを変更する
  • ソフトウェアを配布する
  • ソフトウェアを個人的に使用および変更する

唯一の要件は、ライセンスと著作権表示がソフトウェアに含まれている必要があることです。

謝辞

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

REST/WebSocket API の両方を提供し、AI アシスタント統合用のモデル コンテキスト プロトコルを実装する ESP8266/NodeMCU IoT デバイスを管理するためのサービスです。

  1. Overview
    1. Visualizations
      1. Features
        1. Quick Start
          1. Prerequisites
          2. Installation
          3. Configuration
        2. Usage
          1. Running as API Server
          2. Running as MCP Server
          3. Command Line Options
        3. MCP Integration
          1. MCP Tools
          2. Using with Claude for Desktop
          3. Running the MCP Server Standalone
        4. API Documentation
          1. Authentication
          2. Devices API
        5. WebSocket Protocol
          1. NodeMCU Client Setup
            1. Key Steps
          2. Development
            1. Project Structure
            2. Contributing
          3. License
            1. Acknowledgments
              ID: m8w4lsr2lm