MCPの解像度が間違いなく上がる、やさしいMCP入門(ゲスト:大坪さん)
「この番組はエンジニアの成長は楽しい学びからをもっとに日々インプットした話題をワイワイお届けするラジオになってますはいよっはいはいということでですね本日久々の海地の勤務先のすごい人呼んできたシリーズきたおー第4弾4弾だ続きに続いているはいはいはいいいっすねはいあのーちょっとずっとお声掛けをしたかったんですけどうんうん満を持してという形であーそうなんですねはい」
「今日は大坪さんという方呼んでるんですけども呼んでるというかお越しいただいたんですけどどんな人かというとですね本を」
「どうやら出版するらしいぞっていう書く側これからエピソード出たタイミングで言うと多分出たてもう出てるっすじゃあこっち側の世界からあっち側に行ってしまったもうそうですね書いてるか書いてないか2分できますから世の中の人間ってねなるほどね」
「あとはそうですね書籍もそうですし外部での登壇もいろいろやってますしあと去年出ていただいた久古さんっていうすごい新卒の人いましたけど彼はもう2年目になってますが早いですね早いその久古さんが研修してた時の研修のメンターとして久古さんとも交流がありなるほど久古さん時点でちょっと話も聞いてたんですけどはい」
「っていう方ちょっと今日来ていただいててそうですねその前半今日2本やろうと思ってて実は3になってるかもしれないんですけど2本やろうと思ってて前半はその本の話本じゃないな」
「本の題材のMCPの話後半は大坪さんという方のキャリアとか価値観とかもすごい気になるので本書きたいし書けるもんならああいうエンジニアになりたいと思ったのでそういうエンジニアの価値観とか考え方ってどうなってんだろうっていうのを聞くのが後半にしようかなと思ってますキャリア的なというので早速大坪さん呼んで自己紹介お願いしますはい」
「初めましてKDAアジアルカーセンターのエンジニアやってます大坪と申しますよろしくお願いしますよろしくお願いします」
「ざっくりどんな仕事をしてます?今私はソフトウェアエンジニアっていうロールで仕事をさせてもらっていて主にやってる仕事は生成AIを活用したアプリケーションの開発っていうところでA-BOSSっていうAIエンジニアを開発をしていてそれで検索してもらうと出てきたりもするんですけどいわゆる営業組織に関して」

「おける課題解決のためのAIエージェントみたいなものを開発していますはい」
「大坪さんといえばなんですけど僕の中で衝撃だったのがNPXツボネ24って打つとプロフィールがターミナルで見れるっていうギミックがもしお手元にノードの実行環境があるならNPXツボネ24って打っていただければ僕のプロフィールだったりとかポートフォリオのサイトとか出てきます」
「ヤンヤンすごいな深井すごいなヤンヤンまあちょっと説明欄に載せときますコードのブロックができるか分かんないんですけど平文で深井なるほど深井平文で」
「エンジニアすぎません?すごいですねLTとかセッションの資料のプロフィール欄にコマンド書いてるんですよその手があったかって感じだわよくあるのってリードミーとかじゃないですかあとJSONで書かれてるやつとかJSON見たことないなJSONあるんですよネームとかロールとかそういうことねキーバリューあたり書いてるのありますけどコマンドを」
「コマンドずるいですね確かに簡単に真似できます僕のレポストリーにクローンしていただければすごい簡単にできそうそこまである大坪さんのGitHubのアカウントも共に載せておいてありがとうございますというので」
「本日お話いただくのは7月1日でしたっけ発売はい1日です7月1日に発売される優しいmcp入門っていうモデルコンテキストプロトコルでしたっけそうですヒヤヒヤしてたに関する本でえーと」
「こちらも去年ポッドキャストに出ていただいたミノルさんことオンダミノルさんと協調っていう言い方でいいんですかねそうですね書籍が出るんですけどそれに関連してちょっとMCPについて我々のポッドキャストエピソードでも話しましたけどリュードというか解像度低かったんでそうなんだ」
「割とプロトコル周りの話を前半していただこうかなと思います早速お渡ししていいですかはいじゃあ僕の方から今日はですねMCP入門ということでMCPとは何だろうみたいなところとかあとはMCPをこれから使おうかなと思っている人はどういうところに使えるのかそんな話をしていこうかなというふうに思ってますと」

「まず最初に皆さんの方でMCPってモデルコンテキストプロトコルみたいな話でちょっとあやふやあったところありましたけど正式名称モデルコンテキストプロトコルでMCPになってますとちなみにこれだけ聞いてMCPってどんなものっていうのって皆さん思いつきますか」
「こういう時は僕ですかねこういう時は順平が順平さんお願いします」
「深井いやーちょっと恥ずかしながら分かんなくてただなんか間にいるやつみたいなイメージあってなんかAIがいてでそのMCP挟んでヤンヤン何だろうな外部APIとかがあるみたいなそこの間にいるやつぐらいのイメージしかあんまないですね深井僕もじゅんぺい君と同じぐらいの流度でしか理解してなくてツールとAIをマリアージュしてるやつみたいな」
「ヤンヤンマリアージュって言い方は大正解かもしれないですねそうですねモデルコンテキストプロトコルっていう言葉をですね日本語で分解をしていくとモデルっていうのは生成AIのモデルですね要はLLMのことを指して持っていただければと思ってますと」
「コンテキストっていうのはプログラミングの用語でもあるかなと思うんですけど背景情報とか事前情報とかそういう風なプラスの情報みたいなイメージでいただければと思います」
「分脈とかいう訳し方もあるかなと思うんですけどプロトコルってのは企画ですよね通信企画とかそういうところになるのでmcpっていうのは生成AIが分脈を渡して生成AIのアウトプットをよりいい感じにしましょうっていうところを助けるためのプロトコルですよっていうのがmcpになってきますと」
「樋口LLMが持つ弱点を埋めようとしてるっていう背景で出てきた概念ってことなんですね深井そうですねLLMって皆さん普段業務とかでも使ってるかなと思うんですけどそもそもの原理ってどういうふうに動くかっていうと例えば日本語を打った時に次に続く日本語のパターン」
「みたいなものを画一的に出しながら文字をつらつらつらつら出していくっていうのがそもそものエレルムの基本的な動きになってきますとということはできることってテキストからテキストを作るとかたまに画像を作るとかもありますけど基本的には次に続くテキストをそれっぽく出してくるってところに強みがあるのがエレルムですとところがちょっと」

「LMの世界がですね広がっていくためにはそのテキストをただつらつらって出すだけじゃなくて例えばメールを送るとかスラックに通知をするとかノーションとかですねGoogleドライブとかにファイルを送って」
「送ったりとか議事録書いたりとかっていう風なアクションをするっていうところだったりとかエレルムってどうしても一回モデルを作るために学習をするんですけどそのタイミング以降に出てきてる情報とかって当然学習外なので答えられないんですけどそういうとこにも答えられるようにしようとかそういうことを考えていくと必ず出てくる話が外部の情報とか外部のAPIを使って」
「何か物事をエレームの中に保管させてあげるってことが必要になってきますとそれをするための仕組みとしてそもそもこうあのツールユーズとかファンクションコーリングっていう仕組みが実はエレームには存在してますはいはいでそのファンクションコーリングとかツールユーズっていうのはもともとあのそれをモデルを作った例えばあの」
「クロードのモデルだったらアンソロピックだったりとかチャットGPTのモデルだったらオープンAIとかそういうところのモデルベンダーがこういうふうな形で叩けばツールとしてその外部のAPIを使うことができますよみたいな企画が実はあるんですけどその企画が実は微妙にパラメータが違ったりとか実装方法が違ったりとかして」
「例えばオープンAI用に作ったけどそれが他のモデルでは使えるか使えませんよみたいな問題が実はずっと出てきていましたとそれを解決する一つがこのMCPになりますよっていうのが前置きの話になりますねなるほど」
「すごいですねなんかあのMCPってアンソロピックが多分提唱してたんですよねそうですそうですオープンAIとアンソロピックが僕の中であとGoogleとかあるかもしれないですけどライバル関係であってどこがその」
「ツールをアドオンするというかつなぐMCP的なところを派遣取るかみたいなことをやってたと思うんですけどアンソロピックが俺のやつ標準企画だからって言ったってことなんですかねそうですねこの辺りはですね流行ってくるきっかけみたいなのがまた別にあるんですけどおっしゃる通りでクロードっていうモデルを作っているアンソロピックですねこの会社がMCPという企画を作っているのは間違いなくそうですと」
「企画自体がオープンに作るってことを目的にして標準企画ですアンソロピックだけが使える企画じゃないですよってところをすごく最初から打ち出してたおかげで例えばGoogleだったりとかオープンエアだったりとか他のモデルベンダーの会社さんたちもその企画に乗っ取っていけば開発者も楽だし利用ユーザーにもメリットがあるよってところを最初から打ち出すような企画で作ったところが大きかったのが」

「もう一つはAIエンジョンの使い道の一つなんですけどAIを使ったコーディング」
「この分野でやっぱり一つMCPっていうの活用が一気に進んだポイントかなと思ってて実はこのアンソルピックが出したこのMCPの企画って昨年の11月に企画が作られて発表されてましたとただ実際流行ったのって年明けから3月ぐらいですかねそのあたりにバックグッと流行ったんですけど」
「理由としてはクラインだったりとかカーソルだったりとかっていわゆるコーディングを支援するためのAIエージェントツールみたいなところにMCPが導入されたことによって一気に開発者の中でこれ便利じゃんっていう風になったのでここまでムーブが来ちゃうともうオープンAIもGoogleもいろんな会社さんもそれに乗っ取らないともう乗り遅れちゃうよみたいな感じになってきたので」
「いろんな会社がじゃあMCPでいきましょうっていう風になったみたいな感じですかねそういう背景があったんだGoogleがもうMCPでいきますって言ったところあたりからすっごい注目されてたのかと思ってましたその直前があったんでしょうねこれに乗らなきゃダメだがあったんですねGoogleの中で」
「アンソロピックって他の会社よりも他の会社って言い方あるかオープンAIよりもオープンに行ってる会社の思想があると思っててそういうのがやっぱりこうそうしたんですねビジネス的にそうですね確かにそのあたりは多分各」
「モデルベンダーさんもいろいろ策略があってですね強みがやっぱりそれぞれのモデルにあるのかなと思っててその中でどう生きていくかっていうのは多分いろいろ考えてらっしゃるんじゃないかなと思いますねなるほど」
「ありがとうございます勉強になりましためちゃくちゃこのあたりがMCPができた理由みたいなところにもつながってくるんですけど先ほど話したファンクションコーリングがツールユーズって結構AIエージェントを作るためには当たり前に使わなきゃいけない技術だったりはしますとそれが各モデルベンダーによって動きが違いますよってところがありますよってのがさっきの話だったんですけどMCPはそこを統一しましたと」
「つまりどのモデルであっても同じ共通の叩き方を使えば規格を使えばエレルームに外部の知識だったりとかAPIの連携だったりとかをさせて仕事の幅が広がりますよってことを提供してくれたのがMCPかなというところですと」

「そう考えるとMCPっていうのは一言でまとめるとAIエージェントのためのツールを利用する企画みたいなのが標準企画としてできましたよっていうのがMCPかなというふうに思います今回MCPの本を書くことになったんですけど実際MCPってあくまでも企画なのでどちらか」
「なんていうとこういう仕様でいきましょうみたいなJSONの型だったりとか通信のプロトコルだったりとかそういうものがドキュメンテーションで載ってるっていうのが基本的なものですね僕らの本もそこのドキュメントを見ながら解説本を書いたとこではあるんですけどやっぱ」
「これだけじゃやっぱり流行らなかったかなと正直思っていてアンソロピックのすごいところはそのMCPの企画を出すときに例えばGoogleドライブだったりとか検索エンジンだったりとかのなんかサンプルコードみたいなのをMCPで作りましたよのコードも合わせて一緒にバンと出したんですよね樋口おお」
「そのおかげで開発者とか利用する側の人間はこういうところを見ればサンプルのリファレンスがあるからもう僕たちも作れるなみたいな感じで使ったりとか作ったりできるとかあとはそのMCPを作るためのSDKとかそういうところも一緒にセットにして開発を進めたところも大きいんじゃないかなとは思ってますなるほどクイックスタートめっちゃしやすい感じでしたもんねなんか」
「ドキュメント見た時思ったのがぜひですねラジオを聞いている皆さんもなんですけど公式のドキュメントの方にですねクイックスタートのドキュメント載っていてそこをなぞればですね簡単に誰でもMCPサーバーが作れますよというようなものもあったりするのでぜひそのあたりもチャレンジしていただければなというふうに思っていますなるほど」
「マーケティングがうまいですね最初の一歩って絶対ハードル高いけどそれを下げて使わせるみたいなそうなんですよここからはですねMCPの具体的な仕様の話とかに移っていこうかなと思うんですけどまずMCPといっても実はいろんな登場人物がいますと」
「例えばMCPって言ってもアーキテクチャがいろいろあるんですけどMCPサーバーっていうのが一番多分皆さんがMCPって言葉で思い浮かべるポイントかなともさっき言ったのかツールとのマリアージをしてる部分ですねいわゆるそのあたりがMCPサーバーと呼ばれてるものだったりするのでここが」
「ほとんどMCPみたいな話をするときによく出てくる話かなと思うんですけど厳密にはMCPはプロトコルであるのでサーバーがいたらクライアントがいるはずなんですよねMCPサーバーっていうのはツールと」

「LLMの間をつなぐものっていう考え方をしていただければ例えばクライアントは何かっていうとそれはLLMとMCPサーバーをつなぐ間の媒介者みたいな感じの位置づけになってきますともうちょっと変異な言葉を使うと正確にMCPホストとか言ったり公式ドキュメントは言ったりするんですけどMCPホストクライアントってところは例えばクロードデスクトップだったりとか」
「あとはそうですねまだちょっと一部しかできてないですけどオープンAIチャットGPTのディープリサーチの一部の機能とかに組み込まれているMCPサーバーを呼び出す機能っていうのがあるんですけどそれがいわゆるホストとかクライアントと呼ばれているものですとそこはもちろんLLも叩くっていう仕事があるんですけどプラスで必要に応じてMCPサーバーを呼び出したりとか結果を受け取るってことをしていますと」
「一方でMCPサーバーは何をしてるかっていうと例えばこのツール使いたいですっていう風にLMからリクエストがあったらそれを受けて必要なAPIだったりとか情報を取ってくるとかの処理をしてLMに結果を戻すってことをしていてこれがMCPサーバーになってきます」
「ざっくりMCPサーバーっていうのがあるんですよとそれを実際皆さんが使うときにはMCPホストクライアントから呼び出しますよっていうことをしてるんだなっていうふうにざっくりとアーキテクチャを思い浮かべていただければななんて思ってますなるほどってことはMCPのクライアントを作るのは基本的にモデルベンダーとかになるんですか」
「MCPのクライアント自体は実はこれもSDKというか作るためのセットみたいなのが用意されてはいるので皆さんでも作ることができますと例えば今クローデスクトップみたいな話をしたんですけどえーと」
「AIエージェントアプリを作っている方々みたいなものを想像していただければ例えば僕が作っているA-BOSSみたいなアプリケーションがあったとしてそのアプリケーションにMCPに連携する機能を作りたいですってなったらどうするかっていうと僕はこのMCPクライアントのSDKを借りてきてそこで実装しますとそうすると」
「A-BOSSっていうAIエージェントのアプリケーションはいろんなMCPサーバーを叩くことができる機能が出来上がるわけですよねそうすると例えば世の中に公開されているMCPサーバーいろんなものがあるのでそういうものを使いながら自分の業務の課題解決をするみたいな専用のAIエージェントを作ることもできたりするので必ずしもモデルベンダーがクライアントとかのホストを」
「導入していくっていうだけじゃなくて我々この一般的にLMを使う側の立場の人間も開発者であれば使っていくってことは十分あるかなと思いますなるほどちょっと言葉の整理がてら質問なんですけどMCPって言った時の登場人物を整理させていただきたくて今AIエージェントとLLMとMCPクライアントMCPサーバー」

「が出てきましたけどそれぞれどういう関係になってますかそうですよねその話から最初にしないといけなかったなと思うんですけどそうですねまずAIエージェントっていう話をしましょうとAIエージェントっていうのはいわゆるLLMが」
「ツールっていうプログラムですねちっちゃいプログラムを実行しながらより今までできてたテキスト生成だけじゃなくて課題解決をするためのいろんな手段を持った道具を持ったエレルムのアプリケーションと思っていただければと思いますそれがAIエージェントになりますと」
「LLMは含まないフロントのUIみたいなイメージですか言葉の定義にもよるとは思うんですけどAIエージェントっていうとだいたいLLMのAPIを叩いて動いていくことがほぼほぼなのでそこのAPI叩くってとこも含んでAIエージェントということが多いんじゃないかなとは思ってますなるほど」
「ヤンヤンAIエージェントとMCPクライアントはどういう関係ですか?深井AIエージェントとMCPクライアントの関係性はAIエージェントがMCPサーバーを叩くときに使うプログラムみたいなのがMCPクライアントなんですけどそれを例えば皆さんがAIエージェントに組み込んであげたらいつでもMCPサーバーを呼び出すことができますよっていうのが」
「MCPクライアントになってきますAIエンジェントはもともともちろんあれですよMCPを使わなくてもツールを叩くっていう仕組みは全然今でもあってですねファンクションコーリングとかツールユーズって呼ばれてるものはあるんですけどそれを使っちゃうと各モデルにLMのモデルに合わせて叩き方を変えなきゃいけないのでめんどくさいですよねって話でMCPクライアントとポンと入れとけば少なくともMCPサーバーで作られたツールは叩けますよって状態が作れますと」
「ありがとうございますいわゆるMCPクライアントはよくみんなが使うので言うとHTTPクライアントみたいなもんでフロントエンドのアプリの中に入っている一機能というかみたいなイメージそうですねすごくいい例えだと思いますそれで叩かれるのがMCPサーバーだとMCPサーバーですねありがとうございますよくわかりましたすみません説明ありがとうございます」
「深井そうですねそんなところでmcpっていうのがサーバーとかクライアントっていうのがありますよって話をしましたとその話をした上でですねプラスでもう一個話したいのが実はmcp特にサーバーですねmcpサーバーっていうものには皆さんが想像するツールって言われてる機能が一番大きな機能があるんですけど実は他の機能もちらっとありますよというところですと」
「このあたりは詳細は本を買っていただければいろいろ載ってはいるんですけど今日は面白いところだけ軽くご紹介しようかなと思ってます」

「ありがたいです一番ありがたいもちろんですね結構MCPの企画っていうのは結構多いのでこれ以外に話すこと以外にもいろんな機能が実はあったりはするんですけど主要の機能3つほどご紹介できればなと思ってますまず一番皆さんが有名かつ大体8割ぐらいのユースケースこれに当てはまるのかなと思うのがツールと呼ばれている機能ですね」
「これはLLMが例えば外部のAPMを叩くだったりとかNotionとかGoogleドライブに何かデータを送るとかそういうことができるようにするための道具を提供するMCPサーバーが道具として提供されるみたいな形の機能がツールと呼ばれているものですこれは一番皆さんが想像しやすいMCPサーバーの活用の仕方かなと思っています」
「他にもですね実は2つほど今日ご紹介しようかなと思うんですけどプロンプトっていう機能とリソースって機能が実はあったりしますと機能なんですねそう機能なんです正確にプリミティブっていう表現をされてはいるんですけど機能としては用意されてますとでですねえっと」
「まずじゃあプロンプトの方から紹介していこうかなと思うんですけどプロンプトとは何かっていうと皆さんがよくLLMに打つプロンプトあのプロンプトを想像していただければと思うんですけど例えば初めてLLMを触る人にあの例えばチャットGPTの画面を見せてですねあなたの課題解決をしてくれるチャットボットがいるんで好きに触ってくださいって言った時に」
「多分初めて触る人は何て打てばいいか分かんないんですよねヤンヤンLLMあるあるですね深井何でも答えますみたいなこと書いてあると思うんですけどじゃあどういうふうにいけばいいのかなっていうのもちょっと分かんなかったりしますし今だと割とそこまで頑張る必要ないのかなと思いつつも昔は結構プロンプトエンジニアリングみたいな形でかなりロールを決めたりとか必要な情報については」
「カッコで囲んだりとかそういうことをすごくプロンプトを作るってところにもエンジニアリングが入ってきたりとかもしてますとそういう状況だとやっぱり初めてのこのプロンプトを打つっていう行為に対してハードルが高いんですよね実はこのMCPはその部分にもアプローチをかけていますよっていうのがプロンプトという機能これはプロンプトって名前なんですけど機能になっていてどういうことかっていうと入力ボックス」
「確かに」
「そういうことをできる機能がプロンプトというもので要は一部の言葉だけ打っただけで全体のプロンプトを仕上げてそれをエレメントに投げるってことができるような入力補完みたいな機能がプロンプトという機能になってますうんうんうんうん」

「GPTとかジェムとかってそんなイメージなんですけどそうですねGPTかなりイメージ近いかなと思っててあれも誰かがGPT便利なものを作ってくれた人がプロンプトの全量を書いてて一部だけ自由に入力できるところを残しつつそこにプロンプトのテンプレートと形で提供することによって一部の言葉がそこに入って」
「ってきて完成されたプロンプトと共にLMが動くみたいな感じの動きだと思うんですけどそれに近い形だと思います」
「樋口なるほど恥ずかしながらGPT図あんまり使ったことがなくて1個確か公開したことがある気がするんですけどヤンヤン大喜利のやつですか樋口大喜利のやついいですねヤンヤン戦わされましたけど僕樋口あれって使い方を絞ることによってユーザーが使いやすくするためのものってことなんですねそうなんだヤンヤンそうですね大喜利のGPT図であれば大喜利って多分そのなんか」
「面白いことを言うためにはある程度の制約があると思うんですよね僕ハンターハンター好きなんで制約と制約みたいな話をするんですけど制約が必要だと思って何でも答えられちゃうとやっぱり」
「うわーっと何でも答えてしまうのでアウトプットのブレも大きくなると思うんですけど面白い大切りを出すってことにこだわっていけばある程度テンプレートがあって一部だけユーザーが切り替えることによって面白い大切りを出すみたいなことが実現できたりするのでそういうプロンプトエンジニアリングの一端を担う機能としてこのプロンプトっていうプリミティブが用意されてますという形ですねもう一個実はありまして」
「次はリソースって言われてるプリミティブ機能になりますとこれは使いどころどういうところかっていうとローカルだったりとか外部に公開されるとそれは問わないんですけど例えば長い文章ドキュメントみたいなものが存在しますと」
「このプロジェクトではこういう例えば規約で動いてますよとか社内の業務マニュアルはこれですよってでっかいでっかいテキストファイルみたいなのが手元にありますとこれを毎回毎回全部コピってですねチャット欄にポンと貼ると結構しんどいと思うんですよそれをしないようにするためにリソースという機能がありますと」
「このリソースで何かというとチャット画面内にリソースを選ぶというボタンをポチッと押すとmcpサーバー内に入っているファイルだったりとかアクセス可能なドキュメントにmcpサーバーがアクセスしてその全量の文章をパンとコピってくれるという機能になりますと」

「なので僕らが例えば業務マニュアルを全部手打ちをする必要もしくはコピペをする必要なくユーザーの方に提供することができるようになるのでユーザーさんは事前知識としてLMにはもちろん会社の規則とか知らないのでなんですけど会社の規則に則って何かの動きをするとか業務マニュアルに則って何かの動きをするってことが実現可能になるよっていうのがリソースになります樋口なるほど」
「ちょっと質問していいですかローカルとか何かか存在するファイルをLLMにぶん投げられるっていう仕組みだと思うんですけど実際にAIエージェントを作ろうと思った時にそれってめっちゃトークン数食うってことですか」
「トークン数はそうですね文章量にもよるかなと思いますとおっしゃる通りでものすごい膨大なドキュメントとかになってくるとリソースっていう機能を使って実現することは」
「ちょっと現実的ではない場合もあったりしますと例えばドキュメント数がきたたましい量であればラグっていう仕組みを使ったりとかして検索エンジンに絡めながら一部の情報だけをエレルムの方に取り込むってことをやった方が現実的な場合もありますとただ最近のモデルって割と文章量文脈の量が多くなっても」
「壊れにくいというかちゃんとこだえてくれるっていうタイプ特にGoogleのジェミニとかはそうですけどハイパーコンテキストみたいな形でたくさんの情報を詰め込んでもパンクしないようなモデルもできつつあるのでもちろんラグみたいなものを作ってもいいんですけどリソースみたいなものでボーンと渡しちゃっても今だったら割と耐えられたりもするケースも出てきたかなというところですねなるほど使い分けがまだあるんですねやっぱラグ」
「去年とかに比べれば若干廃れた感あるのかなってちょっと思ってたんですけどまだまだ社内文書とか膨大なやつは活躍する感じなんですねそうですねラグっていう仕組みラグだけを使って業務を効率化しましょうっていう時代はちょっとAIエージェントの到来で若干下火になってきつつはありますけどただ」
「ラグって検索エンジンを絡めた生成AIのアプリケーションを作っていくって仕組み自体はやっぱりまだまだ実用的だと思うのでそういうところをAIジェットの中の一部の機能としてラグが組み込まれますよっていう中にはいまだにもなっているのかなと思いますちょっと戻るとそのMCPっていう文脈でさっきのプロンプ等とかリソースはどこに出てくるんですか」
「一連の処理の中で一連の処理の中でプロンプトとかリソースはツールとは若干違う部分で出てきてですねちょっとこれも説明をしなきゃいけなかったところではあるんですけどツールっていうのはLLMが考えた結果ツールが必要だなと思ったタイミングで呼び出しを図りますと」

「最初ユーザーが何かのプロンプトを打ちますAIエージェントが受け取りますLLMに1回投げます投げます投げた結果これツール使わないと分かんないじゃんってなったらLLMがツールを使いたいですって言ってきます」
「その後にじゃあツール使いたいって言ってたらmcpサーバー叩きますってなってきてmcpサーバー叩いてツールを実行して実行し終わったものをまたLMに返しますLMはそれを受けて何か次の処理をしますっていうのがツールの動きですとこれは」
「一番特徴的かなと思うんですけどちょっと僕の方が説明が悪くてあれなんですけどプロンプトとかリソースっていうのはそれができる前つまりエレルムにプロンプトを投げますってタイミングで呼び出しを図ります」
「なのでユーザーさんがどちらかというと利用者が意図的に意図を持ってプロンプト呼び出そうかなとかリソースを使おうかなっていうアクションをして初めて動くっていうのがリソースとかプロンプトになってくる若干動くタイミングが違うというところがポイントですね本当にモデルにコンテキスト渡すみたいな部分」
「って感じですねいい命名ですねやっぱりね確かにストレートでねそうなんですよねツールだけ使うプロトコルだったらきっともうちょっとモデルツール図だったらとかなってきたのかなと思うんですけどもうちょっと幅広くLMのできることを増やしていきたいっていう気持ちの中でこんな機能も必要だよねってところで今みたいな2つみたいなプロンプトとかリソースみたいなのも出てきてるって感じですねなるほど」
「めっちゃ解像度上がりました上がっためっちゃ上がったすいませんその質問を受けて初めて僕もちゃんと説明できましたんで私も一つ質問いいですかお願いします長々な質問じゃなくて申し訳ないですけどちょっと細かい話なんですけどさっきの」
「リソースの話でMCPサーバーがファイルとかを持っているっていう状況になるんですかねそうですねMCPサーバーの中にあったりとかしますね僕Azure使ってるのでAzureOpenAIとかだとアシスタンスAPIの中でファイルサーチっていう機能があってそこにあるファイルとかから」
「必要なデータを取ってきて参照してLLMに戻して回答生成させるみたいな動きとかをさせたりするんですけどオープンAIだけじゃなくて他の会社とかもそういうファイルを検索させてみたいな機能が元々あるツールとしてあるっていうんですかねと思うんですがそれをあえてMCPサーバーの方でも持たせるようにしたっていうのはなんか」

「やっぱメリットがあったからなんですからありがとうございますそうですね先ほどのファイルサーチとかがいい例かなと思うんですけど例えばファイルサーチを使おうかなって思った時に実装する時に意図的にファイルサーチを使うための呼び出しの関数を作ったりとかそういうものを自分のエージェントの中に組み込んでいくと思うんですよね」
「これが今までのずっとMCPが出るまでの間のAIエージャンの開発の基本的な動きだったと思いますとAzureだったらそういう機能があるしAWSだったら別の機能があるしっていう風にいろんな例えばクラウドだったりとかモデルベンダーに合わせて実装の仕方若干変わってたりすると思うんですよ」
「でそうするとあの例えばまあ強化じゃアジュールじゃなくてa出すに乗り換えようかなとかなった時にあじゃあもう貼りさせ使えないじゃんとかaiサーチ使えないじゃんってなってきたらまたちょっと違う話になってくると思うんですよねなるほどなそういう時にあのいやあのaラブス版のものも作ったありますmcpサーバーでも用意されてるんでここだけこうチャラッと切り替えればもう」
「明日から使えますよみたいな感じの状態にしとければ使いたいものをそのタイミングで使うってことができるようになるわけですよね新しくものを作ったりとかそのために新規の開発を回していくっていう手間がなく誰かが作ったものがあったりとか同じ企画上に乗っ取って似たようなことをしてるサービスって他にもいっぱいあるの」
「いっぱいあるサービスと全部同じ企画上に乗っけてあげればそれをポンと切り替え差し替えてあげるだけでもうすぐにAIJと同じ機能をまた別のモードで使えますよみたいなことができるっていうのが大きなところかなと思いますMCPサーバーがあるとツールをMCPサーバーからツールを呼び出してくれますそれは」
「僕の中だとファイルサーチとかも呼び出せると思ってます同じようにリソースとかも呼び出してるみたいなそれは同じ意味合いってことですかそうですねリソースの話をツールのタイミングでしたのがすごく申し訳ないんですけど」
「ツールとかファイルサーチとかってどちらかというとLLMが必要なタイミングで自らが呼び出すって形になるパターンもしくはプログラム的に呼び出すってパターンの通りだと思ってるんですねつまり開発者だったりとかLLM自体が考えながら動くところに検索だったりとかの仕組みが乗っ取ってますよっていうのがあると思うんですけどリソースっていうのはどちらかというと」
「末端のLLMを使う立場の人エンドユーザーの人がLLMをより便利に使うために事前情報を渡すための仕組みとしてリソースとかプロンプトがありますよって感じなのでちょっと若干開発者の目線から一個外れた形のところかなとは正直思うのでちょっと僕の説明の仕方がごちゃごちゃになっちゃったんですけどなるほど」

「ツールとしてのファイルサーチだったら必要な時に呼ばれるんですけどリソースっていう形だといつもコンテキストとして裏側には持ってるみたいなイメージの方が近いですかおっしゃる通りですコンテキストとして渡しちゃっておくっていうイメージですねはいはいはいなるほどありがとうございますめちゃくちゃすいません僕の説明が悪かったですねありがとうございますはい」
「ちょっとだいぶ止めちゃったんですけどそしたらですねちょっと説明の方を続けてさせてもらうとMCP皆さんどうしてできたとかあとどんな機能があるのって話をしたと思うんですけど一番理解を進めるにあたってやるといいですよっていうのはもちろんドキュメント読むとか」
「今回出させてもらう本を読むとかでもいいんですけど手元で動かしてみるっていうのが一番早いです理解が早いですと開発の仕方みたいな話をするんですけどこれもドキュメント上にクイックリファレンスが載っててこの通り作ればMCPサーバーも完成しますっていう手順があるのでこれをまず一回やっていただければ」
「なんとなくイメージつくと思うのでぜひやっていただければと思ってますあのMCPサーバーを作るっていうこと自体も簡単な例えばちょっと単純な足し算だけをするようなツールを作るんであれば多分2,3行ぐらいで作れるんですよ」
「そのぐらいのレベル感で作れるものっていう風に思っていただければハードルも低いかなと思うのでぜひですねトライしていただければと思ってます書籍の中でもですね作ってみようみたいなコーナーもチャラッと載ってるのでそちらの方も見ていただければなという風に思ってますうんうんうん」
「あとはそのまま話を続けると今回ラジオを聞いてもらっている皆さんにはもちろん作ってもらいたいというのもあるんですけどMCPってやっぱり便利に使うっていうのも結構重要なポイントだと思っていて例えば検索を使うとかノーションに書くのを使うとかそういうものをどんどん使ってほしいと思っていますと」
「使うところでもどんなところがあるのみたいな話もあっていっぱいMCPサーバーって転がってるのでどれ使っていいか分かんないみたいな話も多いかなと思うので今日ですね一応僕の中で今めちゃくちゃ推しているMCPサーバーみたいな話をしようかなと思ってるんですが推しMPC推しです推しは何かっていうとFigmaMCPっていうのが」
「まだプライベートプレビューかなちょっとまだプレビューの段階かなと思うんですけど実は公開され始めましたし公式ではないフィグマ自体の公式ではないんですけど似たようなサードパーティーのツールもあったりしてフィグマの情報みたいなものをMCPサーバーとしてエレミに渡すことができますよっていうMCPがあったりしますと」

「こいつがですねめちゃくちゃ便利でございまして私も結構ヒグマに書かれてるデザインとかを見ながら実装進めていってフロントの画面を作っていくみたいなことで結構やるんですけどこれがなかった時代って例えばクロードコードとかクラインとかっていうAIエージェントに何かのUIを作らせようかなと思ってもなんかいろいろこう」
「あれやこれやこれはラジオボタンに作ってくださいとかっていう風に文字で打ったりとかあとなんかここの色はこのカラーコードでお願いしますって打ったりとか結構なんか」
「僕らが考えながら違う違うこうじゃなくてっていうような感じでやり取りをしながら一個一個UIを作ったような形でやってたんですけどこれがですねMCPサーバーとしてFigmaと連携できるとFigmaのこのデザインのこの部分のフレームを切り取ってくださいとそこだけ見てくれればそこの実装をそのまま作れみたいなことを言うとですね結構ちゃんと作ってくれるんですよ樋口うーん」
「今までこうやってUIを作るっていうところでいろいろFigmaと照らし合わせながらこの」
「リアクトだったりJSX変えたりとかそこにスタイル当てたりとかっていうことをやってたと思うんですけどそれがですねかなりの時間手間が削減されたというかほぼなんかここのやつを見て作ってくださいよろしくって言ったらある程度も作ってくれるという状態になりつつあるなと思ってますかなり便利な機能ですね樋口うーん」
「フィグマかもともとはデザインあるものをコードに落とす落とし込むところってことですよねおっしゃる通りですなんかこれは何点でしょう使うかもわかんないんですけどフィグマってそのmcpできる前もプラグインで生成aiでコードを起こしてくれるみたいなありましたあったりとかしてはいそっちは使ったことあるんですよで」
「あれ結構見た目はまあ許せるかもしれないけどちょっと崩れてるなーぐらいのやつが出てきてなおかつCSSがとんでもないことになってるのできるんですよ力技の塊みたいなCSSができるんですよ」
「お父さんそれと比較してどうとかってあります?いい質問ですね僕もそれめちゃくちゃヒグマ2コードとかでめちゃくちゃ使ったことがあるんですけど初感としてはもちろんあれで出てきたものってなんかすごい」

「めちゃくちゃ例えばテイルウィンドとかあったらこんなクラスの数あるみたいな感じのとんでもないコードが出来上がったりすると思っててなかなかそのままそれを本番の環境に当てにいくのは難しいかなと僕も思ってましたとただそれを一回LMに解釈させて今の僕らのプロジェクトではこういうライブラリを使ってますよとかこういう規約でやってますよっていうことを」
「それこそLMのコンテキストに入れつつそのFigma2コードの出てきた結果みたいなのを貼り付けて動かすとそれはそれで結構きれいなURLができてたなと僕は思ってます」
「今までそうやって開発をしてたんですねヒグマMCPも実際全く同じでやってることってあそこでコード化されたものを一つコンティションで渡してるだけなんですもちろんそれプラスイメージって言ってその画像みたいなものを作って渡すっていう2つの機能がメインであるんですけど」
「そこら辺でやってることって今までAIエンジェントのコードを書かせるっていう体験の中にヒグマトゥーコードでできた結果を混ぜながら出してることと実質変わらないのでやり方としてはあのコードそのものを」
「結果として出すんじゃなくて1回自分たちのプロジェクターこうなんですよって情報も混ぜながらエレルムに出していく書かせていくってことをやっていくと結構精度が良くなりますしコードもなんかおやおやってなりにくくなるのでこの辺りがコツかなと思いますしそのコツをもちろん」
「会社が自分でやればできはするんですけどそこを吉田にやってくれるのもMCPのいいところかななんていうふうに思いますねなるほどすごくよくわかりました超有料級情報そうですね僕これやってたのこれっていうかフィグマをコードに落とし込むのやってたの1年ちょっと前ぐらいなんですけどだから当時はすごい苦労してたんですが今AIエージェントの開発ツールいっぱいありますし」
「フィグマが出したものをいい感じにしてくれるっていうフェーズが今できるようになったなって思っててそう考えると体験結構変わってそうなんでやりてーっていう気持ちになりました確かに俺あとプラスでフィグマ使えるようになりたいって思ったわそうですよね確かに他にもいろいろデザインツールってプロタイプのツールとかあると思うんですけどフィグマはなぜかなんかまあ」
「ここら辺は進んでるのかななんて印象があったりはするので他のツールも追いついてくるかなとは思いますね熱いファンがいるんですね確かにフィグマって結構思想的にただのデザインツールじゃなくて開発と競合するための思想みたいなやつがあるイメージあるねそうですねすごくそのあたりは多分こだわって作ってるのかなと思ってて」

「ヒグマの話になっちゃうんですけどデブモードとかですね開発者がもちろんデザイナーさんとかがプロタイプを作るっていう体系ももちろんいいんですけどそれを実際に動くものに仕上げていくっていうエンジニア側の立場に立った時に使いやすい機能っていうのもちゃんと用意されたりはするのでそもそもそういう親和性が高い製品なのかなとは思いますねいいこと聞いたはい」
「ありがとうございますそうですねなんていうところがぜひ皆さん触っていただければななんていうところになってくるんですがこれはもう勝手なもう一つあってですねこれは僕の勝手なタイムの宣伝なんですけど実はですね今回このMCPサーバーの優しいMCPニューモっていう本を書かせてもらうきっかけになったですねLTが実は僕ありまして」
「何かっていうとMCPサーバーを作りましょう使ってみましょうっていうLTをやらせてもらったんですけどその中でですねMIDIMCPっていうのを作ったんですねMIDIMCP打ち込み?MIDIってご存知ですかねって話なんですけど音楽とかやってる方はもしかしたら打ち込み音源のYouTube動画に流れてるやつですよねそうですイメージ」
「おっしゃる通りですなんかキーボード例えばピアノとかのキーボードとかでドレミを押した時にそれのなんか長さとかどれぐらいの強弱でだったりとかどの音を押したとかっていう情報をプロットして再生機器に流せるっていうような企画がこのMIDIっていう企画があって結構古い企画なんですけどありますと」
「打ち込みとかやってる方とか音楽作成とかやってる方っていうのは結構この辺りはよく使う技術だったりはするんですけど僕がですね最初にこのMCP勉強しようかな入門しようかなと思った時にもちろんノーションに書き込むとかGoogleドライブにアクセスするとかそういうの作ってもよかったんですけどすでにもう作られてたんですよね世の中のなんでみんなが使って」
「作ったことないものを作ろうかなとか思ってなぜかMIDIを採用してエレルムに音楽を書かせよう作らせようって思ったんですね音楽先生の生成アイテム他にもあるんですけどそうじゃなくてMIDIを作らせてそれを再生させたらなんか面白い音楽できるんじゃないかなとか思って実は作ったものが」
「LTの中で紹介してもらったものをきっかけで今回の本格に至ったっていうのがあったりするんですよね見てたんですけどLTとかもスピード感と発想と行動力がえげつないんですよちょっと記憶なんですけど4月の1日とか2日くらいにミノルンさんがMCPの資料がバズってその週末とか」
「そうなんですよねそうです」

「その中でMIDIMCPっていうオリジナルMCP作ってデモしつつLTしてた大津男さんたまげましたわすごすぎる本当に報道力えぐいMIDIってあんまりイメージできないですもん結局MCPサーバーから何かのAPIを叩いて操作するわけじゃないですかはいはいはいはい」
「まずMIDIAPIあるのかよく分からないしネイティブアプリじゃないのみたいなMIDIはですねただのファイル形式でしかないのでMCPサーバーその」
「Apia叩くっていうところももちろん特徴に大きなポイントになってくるところではあるんですけど実はそれだけじゃなくて内部的にプログラムを実行するっていうのが本質なのでそのMIDIを作るためのプログラムっていうのを書いたんですね今回僕の方でそれがライブラリーがあるんですけどそのライブラリーを使うと例えばJSONの形式のものがMIDIを作る」
「ミディに変わりますよみたいな感じのものを作っていてそれをMCPとして組み込んだって形になりますとでそうですねちょうどお話もらったのは金曜日かなの夜くらいあったので土日で作らなきゃと思ってですねMCPに入門しようと思ってMCPサーバーすぐできたんですよ本当になんかものの」
「1時間もかからずに動くものができちゃったんですけどここからMIDIを吐き出すのがすごい辛かったんですよねつまりほとんどの時間はMIDIをいかにちゃんとしたMIDIを作るかっていうところの実装の方が100倍くらい大変だったので逆に言うとMCPはすぐできますっていう感じですかねおもろすぎる確かに」
「キャラクター生かしたものを作れるのもいいですねバンドやられてたっていう経験のもとミディ作るっていうのもうんうんうん」
「我々もねなんかポッドキャストなのかブレイクダンスなのかでできればいいんですけど思いつかんそうなそうですよね掛け算みたいなのも結構重要でエンジニアってどうしても技術ってところで勝負していくようなとこですけどその幅だったりとかできることの掛け算をしていくとキャリア的にもいい感じに進んでいくと思うので僕はたまたま音楽をやってたっていう」
「っていう経験があったのでそれがたまたまミディにつながって今回のこのMCPの話になってそれがきっかけで本を書くことになってとかいう感じで進んでたので自分の好きなものとか他に得意なものとかっていうのとエンジニアにも掛け算するのは面白いんじゃないかなと思いますね大事なことだはい」

「最後なんですけどMCPこれからどんどん普及していくところになるので皆さんも多分今まで以上にMCPという言葉とか実装に見かけることが多くなるのかなと思ってます最後にMCPが広がるとどうなるのかどういう世界になっていくのかって話だけ軽くさせてもらえればと思うんですけど」
「エンジニアで言えばさっきのコーディングさっきのFigmaMCPの話もそうですけどコーディングの世界変わりますよってところももちろんですしAIエンジニアの開発もさっきのファイルサーチの件もそうですけどもともとは自分でゴリゴリ実装してたものがMCP誰かのものを作って」
「借りて自走できたりとか同じようなものであればもうすでに出来上がってるものがあるから使っていこうねって感じでどんどんどんどんAI上の開発自体も加速していきますしそれ以外の開発もプログラミング部分ではすごく増えてくるのかなと思うのでどんどんどんどん便利なエンジニア目線で言うと便利になっていくのかなと思ってますとビジネス的なところもですね非常にこれからはMCP注目かなと思ってて」
「逆に言うとMCPに対応しないSaaSとかプロダクトってどんどんどんどん遅れていくような気もしていますこれは僕の予想でしかないんですけど例えばNotionとかGoogleDriveはもうMCPに対応してますよって話をしたらですね他のプロダクトだったりとかは僕らは対応してませんよってなったらどっちを選びますかっていう話にこれからなってくるのかなと」
「実際はまだサードパーティーだったりとか作られていないものもMCPサーバー自体が公開されていないプロダクトもいっぱいあるので」
「まだまだこれからかなと思うんですけどやってるかやってないかによってビジネスチャンス大きく変わってくると思うのでもしかしたらこれからはある意味常識的に僕らのプロダクトはMCPに対応してますみたいなことを言わないといけなくなるのかなっていうような時代になしかかってるんじゃないかなと思いますこれは僕の予想ですけどねうんうんうん」
「樋口MCP導入コンサルみたいな怪しいビジネスが生まれそうですね深井怪しい樋口怪しいですね」
「この辺りはちょっとバズワード的な話もあるので僕も結構言葉のチョイスとかっていうのは気をつけていかなきゃいけないかなと思ってはいるんですけどMCPってサーバー側とクライアントホスト側ってありますよって話をした通りMCPやってますって言ったらどっちってなっちゃったりするんですよねそのぐらい本当」

「ちゃんと言葉を使っていかなきゃいけないんですけど多分僕もミスって使ってるところも多かったりするしこれから怪しいビジネスみたいな話もあるんですけど多分あれこれMCPの話かなみたいなところもぶっちゃけ出てくるような気もしますとなのでよりちゃんと仕様とか仕組みみたいなものはあっさりでもいいので押さえておくとこれはMCPサーバーのこと言ってるんだなとか」
「これはホストのことを言ってるんだなとかこれはMCPのツールの話を言ってるんだなとかっていうところに多分フォーカスできると思うのである意味バズワードに惑わされないためにもある程度の知識を持っておくといいんじゃないかなとも思いますありがとうございます体系的にお話ししていただきましたね」
「歴史とかモチベーションっていうんですか日本語わかんないですけどなぜMCPができたのかっていう話から基本的な機能だったりとかあとは開発するための」
「便利な使い方とかそんなところを話させてもらいましたありがとうございますこれはめちゃめちゃ解像度上がりましたねMCP自体の単なるツール呼び出しだけを示してるんじゃないぞというのは結構大きかったんじゃないかなと思います」
「じゃあちょっとぼちぼち締めますねはいはいはい次のエピソードもお願いしますご参加いただくんですけどMCPの話は一旦ここまでということでありがとうございました最後なんかちょっと宣伝というかあればお願いしますはい改めてになりますけど7月1日にあの」
「我々が出している本として優しいmcp入門という本を出させてもらってます私の同様の恩田実と私大坪優で書かせてもらっている強調になっていてシュアシステムから発売させてもらってますamazonでも予約はされているのでぜひお手に取っていただければなと思いますよろしくお願いします」
「皆さんぜひよろしくお願いしますちょっと公開日によるんですが多分もう出ているはずです7月公開によってなんですねリンクから購入お願いしますでは最後走ったが暇人プログラマーでSNSのXでフィードバック募集してますので本日のエピソードの感想を学んだこととありましたらお願いいたしますぜひ大坪さんへの応援のメッセージとか感想とかあるとみんなのモチベーションが上がりますよろしくお願いします」
「ポッドキャストの説明欄からGoogleフォームで番組の要望・感想・質問何でも募集していますスラックオンラインコミュニティひまプロ談話室の参加リンクもありますのでそちらの方もご確認お願いいたしますお願いします最後にポッドキャストのフォロー・ご評価お待ちしていますお願いします励みになりますそれではまた次回バイバイこのキーボードは一生ものハッピーハッキングキーボード公式LINEスタンプ販売開始」
