node-red-mcp-server について
node-red-mcp-server は、Node-RED 向けの MCP サーバーであり、LLM が標準化されたインターフェースを通じてフロー、ノード、設定を管理できるようにします。Claude などのモデルで Node-RED のフローを自動化したい利用者を想定しています。
主な機能
- 01フローとタブの取得と更新
- 02ノードモジュールの一覧表示と有効・無効の切り替え
- 03タイプやプロパティによるノードの検索
- 04設定、診断情報、ランタイム状態の確認
- 05inject ノードのリモート実行
活用シーン
- 01LLM による Node-RED フローの読み取りと変更
- 02inject ノードをリモートから起動
- 03フローの状態と実行統計の確認
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
node-red-mcp-server
Node-RED 用の Model Context Protocol(MCP)サーバーです。言語モデル(Claude、GPT など)が標準化された API を通じて Node-RED と連携できるようにします。
説明
node-red-mcp-server は、言語モデルと Node-RED プラットフォームの間をつなぐブリッジを構築し、MCP(Model Context Protocol)を介してフロー、ノード、設定を管理するツールを提供します。これにより、言語モデルが Node-RED のフローをプログラムで自動化し、制御できるようになります。
主な機能
- MCP を介して Node-RED のフローを取得、更新
- タブと個々のノードを管理
- タイプやプロパティでノードを検索
- 設定とランタイム状態にアクセス
- リモートから inject ノードをトリガー
- フローと統計情報を出力、可視化
インストール
グローバルインストール
npm install -g node-red-mcp-server
ローカルインストール
npm install node-red-mcp-server
使い方
コマンドライン
node-red-mcp-server --url http://localhost:1880 --token YOUR_TOKEN
.env による設定
.env ファイルを作成します。
NODE_RED_URL=http://localhost:1880
NODE_RED_TOKEN=YOUR_TOKEN
次に、実行します。
node-red-mcp-server
Claude またはその他の LLM との連携
-
MCP サーバーを起動するか、以下のツール設定を使用して Claude Desktop が自動的に起動するように設定します。
-
Claude Desktop を設定します。
- Claude Desktop アプリを開きます
- Settings → Advanced → Tool Configuration に移動します
- 新しいツール設定を追加します。
npxを使用すれば、手動でインストールせずにサーバーを実行できます。これは、多くの場合、最も簡単な導入方法です。
{ "node-red": { "command": "npx", "args": [ "node-red-mcp-server" ], "env": { "NODE_RED_URL": "http://your-node-red-url:1880", "NODE_RED_TOKEN": "your-token-if-needed" } } }NODE_RED_URLが Node-RED インスタンスを指していることを確認します。- Node-RED インスタンスで認証が必要な場合は、
NODE_RED_TOKENを設定します。
または、サーバーをグローバルまたはローカルにインストール済みで、スクリプトのパスがわかっている場合は、次のように設定できます。
{ "node-red": { "command": "node", "args": [ "/path/to/node-red-mcp-server/bin/node-red-mcp-server.mjs" // You can add other CLI arguments here, e.g., "--verbose" ], "env": { "NODE_RED_URL": "http://your-node-red-url:1880", "NODE_RED_TOKEN": "your-token-if-needed", "MCP_SERVER_PORT": "3000" } } }/path/to/node-red-mcp-serverを実際のインストール先のパスに置き換えますNODE_RED_URLを Node-RED インスタンスを指すように更新します- Node-RED インスタンスで認証が必要な場合は、
NODE_RED_TOKENを設定します
-
設定後、Claude は MCP ツールを介して Node-RED インスタンスと連携できます。
Model Context Protocol の詳細については、MCP の公式ドキュメントをご覧ください。
プログラムからの使用
import { createServer } from 'node-red-mcp-server';
const server = createServer({
nodeRedUrl: 'http://localhost:1880',
nodeRedToken: 'YOUR_TOKEN',
verbose: true
});
await server.start();
設定オプション
CLI パラメーター
| パラメーター | 短縮形 | 説明 |
|---|---|---|
--url | -u | Node-RED のベース URL |
--token | -t | API アクセストークン |
--verbose | -v | 詳細ログを有効化 |
--help | -h | ヘルプを表示 |
--version | -V | バージョン番号を表示 |
環境変数
| 変数 | 説明 |
|---|---|
NODE_RED_URL | Node-RED インスタンスの URL |
NODE_RED_TOKEN | API アクセストークン |
MCP ツール
フローツール
get-flows— すべてのフローを取得update-flows— すべてのフローを更新get-flow— ID を指定して特定のフローを取得update-flow— ID を指定して特定のフローを更新list-tabs— すべてのタブ(ワークスペース)を一覧表示create-flow— 新しいフロータブを作成delete-flow— フロータブを削除get-flows-state— デプロイ状態を取得set-flows-state— デプロイ状態を変更get-flows-formatted— 人が読みやすい形式でフロー一覧を取得visualize-flows— フローのグラフ形式のビューを生成
ノードツール
inject— inject ノードをトリガーしますget-nodes— 利用可能なノードタイプを一覧表示しますget-node-info— ノードモジュールの詳細情報を表示しますtoggle-node-module— ノードモジュールを有効/無効にしますfind-nodes-by-type— タイプでノードを検索しますsearch-nodes— 名前またはプロパティでノードを検索します
設定ツール
get-settings— Node-RED ランタイムの設定を取得しますget-diagnostics— 診断情報を取得します
ユーティリティツール
api-help— Node-RED API のヘルプを表示します
要件
- Node.js v16 以降
- HTTP API にアクセスできる、実行中の Node-RED インスタンス
ライセンス
MIT ライセンス
Copyright (c) 2023
本ソフトウェアおよび関連するドキュメントファイル(以下「本ソフトウェア」)の複製を取得するすべての者に対し、使用、複製、変更、結合、公開、配布、サブライセンス、および/または販売する権利を含め、本ソフトウェアを制限なく取り扱うことを無償で許可します。また、本ソフトウェアを提供する者に、以下の条件に従うことを許可します。
上記の著作権表示および本許諾表示は、本ソフトウェアのすべての複製または実質的な部分に含めるものとします。
本ソフトウェアは「現状のまま」提供され、明示または黙示を問わず、商品性、特定目的への適合性、および権利非侵害の保証を含むがこれらに限定されない、いかなる保証もありません。作者または著作権者は、契約、不法行為、その他の行為にかかわらず、本ソフトウェアまたは本ソフトウェアの使用もしくはその他の取り扱いに起因または関連して生じる、いかなる請求、損害その他の責任についても責任を負いません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。