Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
Search
High U
June 27, 2025
Programming
0
100
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
High U
June 27, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
ふつうの技術スタックでアート作品を作ってみる
akira888
0
150
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.4k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
990
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
890
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
540
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
390
Select API from Kotlin Coroutine
jmatsu
1
190
PicoRuby on Rails
makicamel
2
110
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Balancing Empowerment & Direction
lara
1
380
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Transcript
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた ➔ 2025-06-28@
[email protected]
1/22
自己紹介 ➔ 株式会社ウフル 樋口友太 ➔ かつては、Node を作ったり、公式の Git 対応前に Git
で扱いやすくする仕組みを作ったり、 フローのテスト手法など考えたり。 ➔ ここしばらくは、Node-RED から離れていて、LLM と連携させたくなり、再挑戦。 2/22
なんで Node-RED と MCP サーバーを連携させたかったのか ➔ SNS で “n8n で
AI エージェント” 的な話が飛び交う程の n8n (https://n8n.io/) の盛り上がり。 ➔ オレには Node-RED がある!と意気込むも、めぼしい情報は得られず。 ➔ 時を同じくして、MCP サーバー界隈の盛り上がりと、わたし自身の MCP サーバー体験があり、 一旦、AI エージェント自身は置いておいて、LLM と Node-RED をつなげよう!的な。 3/22
気軽に連携したかった ➔ RESTish でつなぐ(HTTP API でゆるく) Node-RED Claude Desktop (例)
MCP Server MCP (STDIO) RESTish 4/22
作成した MCP サーバーのトランスポート対応 ➔ STDIO(標準入出力) ➔ Streamable HTTP(/sse + /messages)
➔ Streamable HTTP(/mcp) 5/22
作成した MCP サーバーの役割 ➔ Node-RED(HTTP API)を LLM からアクセス可能にするためのブリッジ役 ➔ Node-RED
からツール定義を取得し、MCP ツールとして Node-RED 上の機能(HTTP エンドポイント) を登録 6/22
MCP サーバーのソースコード(抜粋) ➔ `/tools` でツール情報を読み込む ➔ ツール情報に従って HTTP リクエストを作成 ➔
ツールに登録 7/22
MCP サーバーのインストール(例) ➔ AUTH_TYPE、API_KEY は Node-RED のフローの エンドポイントで認証する場合のみ 8/22
Node-RED のフロー(例) 9/22
Node-RED の必須エンドポイント ➔ [get] /tools ➔ ツールの定義をレスポンス 10/22
ツール定義(例) ➔ 各ツールのエンドポイントを定義 11/22
ツール処理(例) ➔ [get_time] JSONata で日時取得 ➔ [get_birthday] JS で誕生日生成 ➔
[create_qrcode] QR コード生成ノードで DataURI 生成 ➔ [get_weather] 気象庁の REST API で天気予報取得 ➔ [post_slack] メッセージを Slack API で投稿 レスポンスデータは、どこにも定義していないが、 それっぽい JSON を返せば LLM が解釈する 12/22
デモ動画 ➔ https://www.youtube.com/watch?v=Pyq_GhnydMk 13/22
14/22
公開中 ➔ 良かったら見てください ➔ @high-u/mcp-server-bridge-restish 15/22
作成した MCP サーバーの話はここまで 16/22
OpenAPI 仕様書から MCP サーバーの生成 ➔ OpenAPI 仕様書から専用の MCP サーバーを生成するツールの紹介 ➔
OpenAPI 仕様書ベースなので現在のエコシステムとの相性は良い ➔ そもそも Node-RED と OpenAPI 仕様書の相性が良いかは? ➔ HTTP でブリッジする MCP サーバーという似た位置付けということで 17/22
Postman AI Tool Builder ➔ OpenAPI 仕様から MCP サーバーを生成 ➔
ただし、公開が必須?? 18/22
harsha-iiiv/openapi-mcp-generator ➔ OpenAPI 仕様書から MCP サーバーを生成 (TypeScript) ➔ MCP server
(stdio)、 MCP web server with SSE、 MCP StreamableHTTP server に対応 19/22
Node-RED と MCP の理想の関係は?(主観) 20/22
MCP Server Node ➔ `/mcp` エンドポイントを生やす ➔ 認証認可を良い感じに内包?連携? MCP Server
21/22
ありがとうございました 22/22