Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
by
you(@youtoy)
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2025年6月27日 (金) Node-RED × MCP 勉強会 vol.1 @オンライン 豊田陽介( ) @youtoy Node-REDのFunctionノードで MCPサーバーの実装を試してみた
Slide 2
Slide 2 text
自己紹介 豊田陽介( ) @youtoy ▶ IT系イベント主催、 登壇や運営なども ▶ 機械学習・IoT関連 の書籍を出版 ▶ 子ども向けのIT関連活動 (ITが関係しない活動も) プライベートでの活動 ▶ ガジェット ▶ 描画系/IoT/AI・機械学習系 ▶ ビジュアルプログラミング ▶ JavaScript 好きな技術など
Slide 3
Slide 3 text
今回の話 Functionノードに MCPサーバーを 実装してみた (シンプルに SDKなしで JavaScriptで)
Slide 4
Slide 4 text
Node-RED側の話
Slide 5
Slide 5 text
MCPサーバーとなるフロー Functionノード 以外の部分は HTTPリクエスト に関する処理 ※ 標準入出力ではなく「Streamable HTTP transport」
Slide 6
Slide 6 text
Functionノードに実装したコード 実装したコードは 80行くらい (ツールの実装は サンプルでよく 見かける足し算)
Slide 7
Slide 7 text
Functionノードに実装したコードの詳細【1】 A)ツールの定義 B)初期化
Slide 8
Slide 8 text
D)ツール呼び出し時の処理 Functionノードに実装したコードの詳細【2】 C)ツールのリスト
Slide 9
Slide 9 text
Functionノードに実装したコードの詳細【3】 F)不明な処理を要求された場合など E)不明なツールが呼ばれた場合
Slide 10
Slide 10 text
VSCode側の話
Slide 11
Slide 11 text
MCPサーバーの設定(settings.json)
Slide 12
Slide 12 text
GitHub CopilotのエージェントモードでMCP プロンプト:ツールで1+2 処理を続行して良いかどうかの確認
Slide 13
Slide 13 text
処理を続行して得られた結果 「ツールで計算した結果、1+2+10=13です」
Slide 14
Slide 14 text
他に色々な実装を試そうとして 失敗の山が・・・ (成功したのがこのシンプルな例)
Slide 15
Slide 15 text
色々と苦労したものの MCP・Node-RED関連の 知見を新たに得られた!
Slide 16
Slide 16 text
内容は Qiita の記事に 公開予定です! (登壇前には間に合わず...)
Slide 17
Slide 17 text
終わり!