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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
High U
June 27, 2025
Programming
270
0
Share
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
High U
June 27, 2025
Other Decks in Programming
See All in Programming
How Swift's Type System Guides AI Agents
koher
0
190
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
3
390
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
870
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
230
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
250
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
830
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.1k
Swift Concurrency Type System
inamiy
0
410
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Site-Speed That Sticks
csswizardry
13
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
KATA
mclloyd
PRO
35
15k
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