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

終わり!