-
-
うぱ / upamune
しょうもない10分で書いたブログをね。
michiru_da
めっちゃ、でも、なんだっけ、ブックマーク?
うぱ / upamune
そうね。
michiru_da
されてた?
うぱ / upamune
確かに、さっきの理屈で言うと、人間をMCPツールとして利用するっていうのがどうやるかよく分かんないみたいな感じなのかな。
michiru_da
APIみたいな話で言うと。まず人間にAPI生えてないから。
うぱ / upamune
ちょっと待って、なんか皆さん何のブログ書かれたか分かってないんだから。
もちろんご存知。
michiru_da
うばさんが人間をMCPとして利用するっていうブログを書いて、ちょっと読まれたりとかしてるみたいなんですけど、
その説明、私Discordでうぱさんにしてもらったんですけど、何一つ分からなかった。
うぱ / upamune
確かにこれ会社のLT会で、私一発芸としてやったやつなんですけど、
そちらさんにその前にDiscordで見せたら、なんか、おーって。
michiru_da
ふーんって。
ふーんみたいなことを言いました。
うぱ / upamune
感じですね。
よしじゃあ、やりますか。
michiru_da
お願いします。
うぱ / upamune
MCPは、まあそもそも何の略かっていうと、モデルコンテキストプロトコルっていうやつで、
プロトコルなんですよね。
michiru_da
一連の手続きだけを定めたもの、がモデルコンテキストプロトコルなんですよ。
手続きって何?
うぱ / upamune
あーなんだろうな。
michiru_da
それを説明していきますか。
プロトコルってシステム用語としては知ってるんですけど、
他に、例えばこれがプロトコルだよーみたいな。
うぱ / upamune
あーもうほぼ全てプロトコルですよ。
例えばHTTPってよく聞くじゃないですか、あれもプロトコルですね。
HTTPのPはプロトコル。
へー。
そうですね、Hyper Text Transfer Protocol、HTTPですね。
だからこれも、よく言われるサーバーとブラウザ。
どうやってやり取りするかを決めたよっていうのがHTTPなんですよ。
なのでブラウザもサーバーもこのHTTPっていう決まりごとにのっとっておけば、
相手が初めて見る知らないやつでも、そのHTTPっていうやり方でやりましょうっていう2人ともやるから、
そのウェブページが表示できたりするっていう。
MCPも同じことですと。
で、MCPって誰が発表したか知ってます?
michiru_da
アンスラピック。
うぱ / upamune
おーよく知ってますね。
クロードをね、開発してる会社で、なんかねオープンAIもなんかChatGPTなんとかプラグインみたいなのを前に出してたんですけど、
それはなんかあんまりオープンじゃなかったから続きませんでしたね。
michiru_da
じゃあ最近できた概念。
うぱ / upamune
去年の11月、2024年11月25日にアンスラピックが発表したオープンなプロトコルがMCPですと。
michiru_da
どうやってなんだろう、アンスラピックが発表するってことは、そのアンスラピックで使うものだよっていう感じで発表したんですか?
うぱ / upamune
いや、もともとそのオープンなものとして、このプロトコルにのっとっていけば、
LLMモデルとツールとかのやり取りをこのやり方でやるのどうすかっていう。
みんなどう?
なんで、クロードのデスクトップアプリがあると思うんですけど、あれが多分最初にMCPのサポートしているやつですね。
なんで他にも今だったらみちるださんこの辺で話してたカーソルとかもMCPをサポートしているみたいな感じで、
どんどんいろんなやつがサポートしていったら、提供する側もそれをサポートする価値があるんで、ニワトリ卵的なものがあるんですけど、
なってるっていう感じですと。
でね、これ2024年11月25日に仕様が決まったんですけど、一回めっちゃでかいアップデートがあったんですよ。
それが2025年3月にあったんですけど、
michiru_da
最近だ。
うぱ / upamune
その差分を全部調べて、同じく私ブログに書いたんですけど、
これはマジでもう3時間とか4時間ぐらいかかったんですけど、
変更点とその変更に至る過程が、全部GitHubのプロリクエストで書かれてるんで、
そのプロリクエストの全部を書いて、
何で結果的にこうなったかみたいなのをまとめたんですけど、
それはね、結構時間かかったのに30ブクマぐらいっていう、
さっきの10分で書いた記事の10分の1ぐらいのブクマ数で全然読まれないっていうね。
悲しいね。
悲しいですね。
っていう感じで、一回仕様もアップデートが決まったんですけど、
GitHubのプロリクエストでこういう仕様にしようみたいな感じで、
誰でもコメントできる感じで決まっていますと。
じゃあアンスロピックが主導してるけど、みんなで決めてる?
そうですね。GitHubのプロリクエストの最初のところに、
どの企業の誰々さんと、どの企業の誰々さんとドラフトを作成しましたみたいな。
michiru_da
MCPの中身って、なんかコードが書いてあるんですか?
うぱ / upamune
中身とかがある?
えっと、MCPは通信するときはこういうやり方でやりましょうみたいな、
michiru_da
通信するときはこういうやり方でやりましょうみたいな、
うぱ / upamune
通信するときはこういうやり方でやりましょうみたいな、
MCPは通信するときはこういうやり方でやりましょうみたいなのが書かれているだけなんですよ。
だからその、
ルール?
ルールが書かれてて、
で、いろんな、例えばプログラミング言語があると思うんですけど、
そのルールにのっとった便利なライブラリみたいな感じで、
それぞれ出してる。
タイプスクリプトっていう言語とか、
パイソンとか、語言語っていろいろあるんですけど、
それぞれその仕様で決まったルールで、
その便利に、すぐその仕様にのっとって実装できるようなのが、
それぞれライブラリを出してたりするっていう感じで、
うぱ / upamune
いろんなものがMCPとして提供されてるんですけど、
結構WebサービスがすでにAPIある場合がほとんどなんで、
それをラップして、隠蔽してMCPサーバーっていう風に提供してる場合が多いですね。
ここからがLLMだなっていう感じのとこなんですけど、
いろいろ組み込んだツールじゃないですか。
SlackのMCPサーバー、NotionのMCPサーバー、
別の天気を見るMCPサーバーみたいな。
クロードデスクトップとかカーソルに対しては人間がメッセージを送るわけですよね。
例えばクロードデスクトップの方が分かりやすいので、
例えばクロードに対して今日の天気何?って聞いたら、
クロードは天気何?って聞かれてるなってなって、
今自分が使えるMCPサーバーはどういうのがあるんだろうってなって、
Slackにはサーチメッセージあるし、
ポストメッセージあるし、デリートメッセージあるみたいな。
天気のMCPサーバーは今日の天気を返すGet Today Weatherみたいなツールが提供されてる。
いっぱいあるツールの中からLLMが勝手に判断して、
天気のこと聞かれてるからこのMCPサーバー叩こうっていうのをLLMが判断して、
こいつを叩いて、そしたら天気のMCPサーバーが、
今日の天気晴れだよーみたいな。来て、晴れらしいです。
みたいな感じでやるのがMCPの流れなんですよ。
michiru_da
すごい。そうなんだ。指定するんだと思ってました。
今回はNotionみたいな。いらないんですね。
うぱ / upamune
LLMが判断してくれるんだ。すごいな。
Notionのこんなドキュメントある?とか言ったら、
Notionって言ってるからSlackのサーチメッセージじゃなくて、
多分Notionのサーチドキュメントだろうみたいな感じで叩いてくれるっていう感じですね。
michiru_da
そのツールの意味合いをLLMに教えるのは、それはコードで書くんですか?
うぱ / upamune
はい。それはMCPサーバーのやることで、
ビューツール図っていうか最初に、私の持っているツール全部これですっていう、
教えてあげるのがあるんですよ。
そこにツールの名前と、例えばsearch underscore messagesみたいなのがあって、
説明も書くことができるんで、
これを使えばSlackのメッセージを検索することができますみたいな感じでLLMに教えてあげる。
michiru_da
やりますね。すごいな。
うぱ / upamune
なんでここまで来たら、さっきの私の、
人間をMCPツールとして実装してみたっていうやつが多分理解できるはずで、
まず私が書いたのはMCPサーバーです。
HumanMCPって名前なんですけど、ツールで例えば人間の語感をツールとして使えるよって教えてあげたんですよ。
例えばHumanEyeツールとか、HumanHandツールとか、HumanTasteツールとか、
目とか手とか口使えますとか、で説明にはHumanEyeツールを使ったら、
今人間に何を見えているか聞くことができますとか、
HumanTasteツールを使ったら、今食べているものの味を聞くことができます。書いたんですね。
裏側が、さっきだとWebAPIみたいな話が多かったんですけど、
それを言われた瞬間に、人間が書き込むっていう感じにしたんですよね。
何を?
音を。
なんでそのMCPサーバーは、例えばクロードデスクトップで今何が見えてます?とか聞いたら、
そのLLMは今自分はMCP何使えるか見て、であ、HumanEyeツールっていうのがあるぞってなって、
そのHumanEyeツールに今何が見えてる?って聞くんですよ。
そうしたら普通だったらWebAPIとか呼び出すけど、そんなWebAPIないんで、
一旦データベースに書き込むんですよ、手元の。書き込みますと。
そのデータベースに書き込んだものが、他のWebの画面でその人のタスクリストみたいな感じで出てきて、
今LLMに人間何見えてますか?って聞かれてるよみたいな。
で、その人が例えば今スシが見えてますみたいな。
で、応答みたいな感じをしたら、さっきのMCPサーバーがずっとデータベースに入るまで見てて、
来たらスシ見えてるってなって、クロードデスクトップに対してスシ見えてるらしいみたいな感じに返して、
こっちのクロードデスクトップを使ってる人間に対して、スシが見えてますみたいな感じで出るっていうのが、
人間をMCPツールとして利用するってやつですね。
michiru_da
なるほど。それ一人で、人間一人だったんですか?
うぱ / upamune
人間一人だったら、普通に多分思わないじゃないですか。
だから、私これLTでやったんですけど、私がLTして、さっきのクロードデスクトップみたいな感じで、
今何が見えてるって聞いて、そしたらデータベースに書き込まれるじゃないですか。
そのウェブページを別の人に入力をお願いしてて、会場にいる誰かに、今スシが見えてますみたいに入力してもらうことで、
私があたかも人間をMCPツールとして利用してるような感じで発表できてたから、
みんなすごい不気味がってくれたっていうやつですね。
michiru_da
その人間を複数名にすることもできるんですね。
うぱ / upamune
できます。
なるほど。ようやく理解しました。
なんで、結構これネタとして作ったんですけど、例えばですけど、
AIにOCRというか、金額の読み取りとかしてもらって、普通自信度とかも答えさせられるじゃないですか、AIに。
だから、AIに自信度が0.6より下だったら、人間を読み出してとかやったら、
その人間にこれ合ってるみたいな感じ聞いて、人間の画面に画像とAIが言ってる金額とか出て、
michiru_da
OK、間違ってるよみたいなのも応用できるから、意外と便利なんじゃねっていう。
今のってMCP関係あります?
関係あります。
むずい。
この場合に特定のMCPの機能を使わせれるよね、みたいな話をしてましたか。
うぱ / upamune
そうですね。その機能を使う、その人間を使うっていうところが、MCPによって隠蔽されてるところですね。
そのLLMが何かしらのツールを使いたい、例えば人間に聞きたい、
うぱ / upamune
Googleに、Googleカレンダーから何予定を引っ張りたい、その時に使えるのがMCP。
だからさっきの自信なかったら人間に聞くっていうのが、MCPを使うことによって実現できるっていう感じですね。
その目の前の、チャットだったら目の前の人に聞くっていうことは、普通にMCPとかなくてもできるんですけど、
関係ないかもしれない人のところに聞くっていうのが無理だから、MCPを使う。
michiru_da
私なんか、MCPってただ連携が楽になるから喜んでるんだと思ってたんですけど、
複数つないで必要な時に必要なツールを使えるから便利なんですね。
うぱ / upamune
そうですね。
なるほどな。
ナレッジのカットオフ、モデルとかって、例えば2024年12月31日で知識が止まってますみたいなのもあるじゃないですか。
とか、自分の組織にしか存在しない知識とかもあるじゃないですか。
なのでそういう部分を入れてあげるっていうのもMCPを通じて可能です。
ここでは詳しく説明しなかったんですけど、ツールの他にプロンプトとかリソースっていうのもあるんで、
MCPに対して他のツール以外の、この情報を知りたいんだけどとか、
MCPに聞いてきたら、はいどうぞみたいな感じで教えられるっていうのも他にもあるんで、
それを使っていけばめちゃ便利になるっていう感じですね。
ツールが多分一番わかりやすい。
なのでカーソルとかルールをかけるけど、あれは知識を、変わらない知識というかを与えて、
MCPのツールはさらにカーソルに対して新たな能力を与えてあげるっていう感じ。
だからカーソルも例えば、クロードですけどトップとかのほうがいいか、
ブラウザを起動できたりするのもMCPの力で起動したり、ブラウザのスクリーンショットとかも撮れますと。
michiru_da
それもそのMCPツールのおかげっていう感じですね。
なんとなくわかった気がします。危なくないんですか?
いい質問ですね。
結局裏側がAPIだったら、APIの認証がしっかりしていれば大丈夫ということなのか?
うぱ / upamune
認証はそうですね、そのMCPサーバーをどこに配置するかっていうのもあって、
今あるやつって、何だろうな、手元に何かツールをインストールして、
そいつが例えば、Slackのサーバーに対してAPIリクエストを送るっていうのが今のMCPのほとんどなんですけど、
michiru_da
手元にツールをダウンロードしてMCPを叩いている?
うぱ / upamune
今は。
michiru_da
そのツールって何ですか?
うぱ / upamune
それはそれぞれが企業が出している、企業とか個人が出している、
だいたいMCP使う時って何かnpx-yとかやるんですけど、そこが何だろうな、
例えばHumanMCPだったら私が提供しているツール、
HumanMCPだったらある方が提供しているNotionのAPIを叩くためのMCPのツール、サーバーツールっていうのを、
ツールって言うんですね。
ここのツールはMCPのツールじゃなくて、一般的な意味でのツール。
うぱさんが説明用に使っている単語。
そうです。実行用のプログラムを手元にインストールしてるんですけど、
さっきまさに話した新しいMCPの仕様で、MCPサーバーに認証を導入するっていうのがあって、
今までってSlackとかNotionの連携って結局今までのWebと変わらない認証、
手元のやつがただAPI叩いてるだけだから、
もう一歩進んで、そもそもNotionに直接MCPサーバーになるっていうのもあって、
そしたらその認証をどうするねんみたいな話があって、
うぱ / upamune
それが新しく3月26日の認証はこれでやりましょうみたいなのが決まったんで、
詳しくは私のブログ読んでくださいっていう感じです。
michiru_da
サブの方のブログ?
うぱ / upamune
危ないシリーズでいくと、これめっちゃ危なくて、
michiru_da
危ないんかい。
うぱ / upamune
特に知らない一般人のMCPを利用するときは危なくて、
例えばNPXみたいな感じで、NPX-Y○○みたいなツールとか書くんですけど、
これってつまり、ある人が開発したツールを手元のPCで動かすよっていうことなんですよ。
だから私が例えばHumanMCPってやつ作ったから、みんな使ってってやって、
じゃあみんな面白そうだからインストールみたいな感じするじゃないですか。
その行動の中に、例えば私がホームディレクトリのその人のファイルを全部ZIPでまとめて、
どっかにアップロードするみたいなやつをやってたら、
その人の情報が全部抜かれちゃうわけですよね。
だから今はめっちゃ危ないです。
michiru_da
うぞむぞのスパムMCPがいっぱいあるのか。
うぱ / upamune
なるべく公式が出してるやつ以外は使わないことをお勧めします。
michiru_da
なるほど。
うぱ / upamune
うん。
michiru_da
でも出てないのもあるんですよね。
うぱ / upamune
出てないのもある。
michiru_da
Notionとか。
うぱ / upamune
そうっすね。
でも個人で使うなら別に個人のNotionが流出したところで別にっていう。
michiru_da
でも影響範囲がその繋ぎ先のサービスだけかどうかわかんないですよね。
うぱ / upamune
そうっすね。
繋ぎ先のやつだとしたら多分Notion、私使ってないですけど、
Notionのトークンみたいなのを入れてNotionを取ると思うんですけど、
Notionのトークンをそのまま自分のサーバーに、
その開発者のサーバーとかにピュッて投げることもできるし、
その返ってきたNotionのページを自分のところにもできるし、
そのローカル、多分できると思うんですけど、
ローカルのマシンのファイルを引っこ抜いてできたりもするから、
危ない。
マジで危ないです。
今すごい牧歌的な時代ですね。
michiru_da
じゃあMCPで繋いで便利って言ってる人たちは、
もう自分で作ってるか公式のやつを利用して楽しんでいる?
うぱ / upamune
いてほしい。
michiru_da
いてほしい。
うぱ / upamune
けど多分現実はそうじゃなくて、
多分すごい制約とかがめっちゃ事件とか起こらない限り、
多分あんま変わらなそう。
いつの間にか抜かれてるかもしれない。
michiru_da
なんかもう起きてそうですよね。
起きてそうです。
全然。
うぱ / upamune
なんでなんだろうな。
その人に、開発者に悪意がなくても、
最近GitHubとかで事件あったんですけど、
勝手に、簡単に言うと知らぬ間にリポジトリというか、
そのツールが乗っ取られてて知らない人に、
勝手に第三者に対して秘密の情報を送るものが注入されてたみたいな、
それに気づかなかったみたいな事件もあるんで、
信頼できる開発者でも、
第三者の悪い悪人によってそのリポジトリが汚染されてる可能性とかもあるんで、
まぁ、あんまりあれですね。
やだらめたらMCPを入れるもんじゃないっていう感じです。
michiru_da
なるほど。2025年4月7日現在は。
うぱ / upamune
そうですね。
結構ここら辺が、なんかカーソルとかは何もないと思うんですけど、
Windows Serveのエンタープライズ版とかしっかりしてて、
利用できるMCPサーバーをアドミンが制限できるみたいな。
やりますね。
分かってるね。
分かってますね。
分かってるなっていう感じなんですよね。
なので、個人だったら何でもいいんですけど、
会社のやつであんまりやりやすいようなのやめといた方がいいかなと思います。
michiru_da
悩ましいところだ。
うぱ / upamune
多分その大きい企業というか、セキュリティがしっかりしてる企業だったら、
一般人が発行できるNotionのAPIトークンとかで全然記事見れないとかになってると思うんですけど、
そうですね。
なんで、気をつけるかつ、公式で出してるやつ以外はあんま使わないことをお勧めします。
michiru_da
うぱさんもはどういうMCPを使ってるんですか。
うぱ / upamune
そうですね。私よく使ってるのは、マイクロソフトが出してるPlaywright MCPっていうやつ。
プレイライト難しいけど、簡単に言うとブラウザー使えるよみたいなやつなんで。
michiru_da
そうなんですか。テストのツールだと思ってたけど、そうじゃないのか。
うぱ / upamune
ブラウザーの提供してて、それの今見てる、写ってる画面のスクリーンショットとか勝手に撮ってくれて、
それをLLMが渡してくれたりするので、結構これは便利ですね。
michiru_da
うぱさんもやたらめったらMCPつなぎマンではないんだ。
うぱ / upamune
そうですね。個人のPCがないから見れないな。個人のPCだったら、これ面白そうじゃんと思ってつないだりするんですけど、
会社のやつだと全然つないだりしない。プレイライトぐらいしかないかも。
簡単なやつだったら、多分今だったらプロダクトマネージャーとかでもMCPサーバー作れると思うんで。
michiru_da
ほんまかいな。
うぱ / upamune
あれじゃないですか、12Cの星座占いとかいうMCPサーバーとかも作れますしね。
なんか作ってみるのがいいんじゃないでしょうか、簡単なやつを。本当に10行ぐらい作れる。
michiru_da
そうなんだ。
うぱ / upamune
普通のHTTPサーバー、APIのサーバー作るより簡単ですね。
michiru_da
占いはなんでそれがMCPでいいと思ったんですか。
うぱ / upamune
占いは何だろうな、毎日変わるし、めっちゃ簡単だから。
シューバーMCPとかだったら、データベースにアクセスする仕組みとかいろいろ必要なんですけど、
12C占いのやつは、一番簡単なやつは毎日12Cをシャッフルして順番に並べて適当にランダムに返してあげるやつが一番楽なんですけど、
michiru_da
そんな感じで多分今10行ぐらいで書けるんですよ。
うぱ / upamune
なので、もっとこれ役に立つなっていうやつが思いついたらそれを作ってもいいなっていう感じですね。
それこそListenのMCPサーバーとかも、でもAPIがないのかな、Listenは。
なので道平さんがディスクリプションとかを手元で書いて、
よしってなったら、カーソルに対してこのディスクリプションで予約投稿しといてみたいな感じでやったら、
ツールを使ってやっておくわみたいな感じとかできます。
無限の拡張性があるっていう感じですね。
michiru_da
拡張性がある。
うぱ / upamune
LLMのモデルに対して、いろんなツールを能力を与えることができるので、
michiru_da
なるほど、ツールの定義も自分でできるから。
うぱ / upamune
なるほどな。
michiru_da
APIよりその意味で柔軟みたいな理解であってますか?
でも結局できることはAPI次第だとしたらあんま変わんないですか?
うぱ / upamune
APIの結局叩かなきゃいけないじゃないですか、Web APIだったら、
その叩き方が最初の方に言ったように千差万別じゃないですか。
なんで結局できることとしては同じようなことなんだけど、それをLLMに簡単にやらせてあげるっていう、
michiru_da
簡単に難しいことを隠してあげるっていうのがMCBですね。
繋ぎ込みのコストが低くなる。
うぱ / upamune
そうそう。複雑なフローが必要だったら、LLMわかんないじゃないですか。
そこをちゃんとコーディングっていうかプログラミングしてあげることで、簡単にしてあげる。
Human MCPとかね、MCPなら絶対無理なんで。
APIなら絶対無理。MCPなら絶対無理。
MCPないと無理。
はいはいはい。
michiru_da
という感じですかね。
55パーぐらいわかりました。
うぱ / upamune
よかったです。
michiru_da
そうですね、簡単なMCPサーバーを立ってみるが、
Next Actionだな、それをやらないとちゃんとわかんない気がする。
うぱ / upamune
うん。
今日の日付を返すMCPサーバーとかも良さそう。