Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた

Avatar for High U High U
June 27, 2025

Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた

Avatar for High U

High U

June 27, 2025
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 ➔ 株式会社ウフル 樋口友太 ➔ かつては、Node を作ったり、公式の Git 対応前に Git

    で扱いやすくする仕組みを作ったり、 フローのテスト手法など考えたり。 ➔ ここしばらくは、Node-RED から離れていて、LLM と連携させたくなり、再挑戦。 2/22
  2. なんで Node-RED と MCP サーバーを連携させたかったのか ➔ SNS で “n8n で

    AI エージェント” 的な話が飛び交う程の n8n (https://n8n.io/) の盛り上がり。 ➔ オレには Node-RED がある!と意気込むも、めぼしい情報は得られず。 ➔ 時を同じくして、MCP サーバー界隈の盛り上がりと、わたし自身の MCP サーバー体験があり、 一旦、AI エージェント自身は置いておいて、LLM と Node-RED をつなげよう!的な。 3/22
  3. 作成した MCP サーバーの役割 ➔ Node-RED(HTTP API)を LLM からアクセス可能にするためのブリッジ役 ➔ Node-RED

    からツール定義を取得し、MCP ツールとして Node-RED 上の機能(HTTP エンドポイント) を登録 6/22
  4. ツール処理(例) ➔ [get_time] JSONata で日時取得 ➔ [get_birthday] JS で誕生日生成 ➔

    [create_qrcode] QR コード生成ノードで DataURI 生成 ➔ [get_weather] 気象庁の REST API で天気予報取得 ➔ [post_slack] メッセージを Slack API で投稿 レスポンスデータは、どこにも定義していないが、 それっぽい JSON を返せば LLM が解釈する 12/22
  5. OpenAPI 仕様書から MCP サーバーの生成 ➔ OpenAPI 仕様書から専用の MCP サーバーを生成するツールの紹介 ➔

    OpenAPI 仕様書ベースなので現在のエコシステムとの相性は良い ➔ そもそも Node-RED と OpenAPI 仕様書の相性が良いかは? ➔ HTTP でブリッジする MCP サーバーという似た位置付けということで 17/22
  6. harsha-iiiv/openapi-mcp-generator ➔ OpenAPI 仕様書から MCP サーバーを生成 (TypeScript) ➔ MCP server

    (stdio)、 MCP web server with SSE、 MCP StreamableHTTP server に対応 19/22