世界を動かす技術を、日本語で。

MCP: (偶然に)ユニバーサルプラグインシステム

概要

  • USB-CMCP の本質的な特徴と可能性について解説
  • 本来の用途を超えた プロトコルの拡張性 の例示
  • MCP が「AIのため」だけでなく 汎用的な連携基盤 である事実
  • APM の開発背景と MCPサーバー による拡張例
  • 想定外の使われ方が イノベーション を生む現象の考察

USB-CとMCP:可能性という穴

  • USB-C は単なる 充電・データ転送端子 ではなく、多様な用途のための「可能性の穴」
  • 友人Rexが トースターをモニターに接続、HDMI出力でトーストを焼く現象
  • 車のシガーソケット も元はタバコ用、今は何でも給電する「形だけ同じ汎用ポート」
  • プロトコルポート は「利用目的」を問わず、ユーザーの創造力次第で変化
  • MCP(Model Context Protocol) も同様に「AIのため」とされつつ、実は何にでも使える標準的な接続方式

MCPの本質と拡張性

  • MCP の公式説明:「AIモデルを様々なデータソースやツールに標準的に接続」

  • しかし「 AI抜き」でも「何でも繋げる規格」として解釈可能

  • NFT の例:本来は「画像へのポインタ」だが、「ポインタ自体が画像」になる応用

  • プロトコル が「参照」から「実体」になる瞬間の面白さ

  • MCPサーバー が増えるほど、すべてのアプリが新機能を「ただ繋ぐだけ」で獲得可能

    • 例:Spotify用MCPサーバーを誰かが作ると、他のアプリ(例:ワークアウトアプリ)がSpotify連携機能を簡単に実装
    • アプリ開発者同士の直接的な連携不要、 「みんなの持ち寄り」 的な機能拡張

MCPによるアプリの変身:APMの事例

  • APM(Actions Per Minute) :表向きはタスク管理アプリ、実態は「繋いだもの次第で何にでもなる」変幻自在アプリ
  • 全プラグインシステムがMCPサーバー で構成
    • スペルチェックもMCPサーバー
    • タスク10個完了でコーヒー注文もMCPサーバー
    • Warcraft 3のピオン風AI応答もMCPサーバー
  • MCPサーバー を繋げるだけで、用途無限大

プロトコルの想定外利用とイノベーション

  • 偉大なプロトコルは 想定外の使われ方 で進化
    • HTTP:学術論文用→今やインフラ
    • Bluetooth:ハンズフリー通話→玄関解錠
    • USB:キーボード・マウス→扇風機充電
  • MCP も「AI文脈付与」だけでなく、「何でも繋げるための優秀な規格」として機能
  • RexのトーストHDMI出力 のような、自由な発想が新たな価値を生む

まとめ:MCPは「AIのため」ではなく「何でも繋げる穴」

  • USB-C の本質は「何でも受け入れる穴」であること
  • MCP も「AI専用」ではなく、「機能性の穴」として活用可能
  • どんな機能もMCPサーバー次第で実現
  • 想定外の使われ方こそ、プロトコルの真価

APMと未来への招待

  • APM の早期アクセス開始
  • 役立つもの、変なもの、人生観を揺さぶるもの、何でもMCPで構築可能
  • 新しいプロトコルの使い道 を一緒に模索する仲間募集

P.S.

  • パンの焼ける香りを出すMCPサーバー を作ったら、ぜひ連絡を

P.P.S.

  • APMの早期アクセス 公開中。奇抜なアイデア歓迎
  • どこかで、プロトコルが「本来の用途通り」使われている。それはむしろ不自然

Hackerたちの意見

作者のMCPの普遍性に対する熱意を否定したくはないけど、ちょっと気になることがあるんだ。これって一般的なAPIの考え方じゃないの?MCPをRESTに置き換えても、記事の内容は本当に変わるのかな?それとも、オペレーティングシステムのAPIとか?POSIXとか?プログラム?Unixのパイプ?確かに、MCPはそれらよりもずっとシンプルで普遍的だけど、もしかしたら新しいことをやりたい時に毎回抽象化を作り直すんじゃなくて、良い基本的な抽象化の上にシンプルなソフトウェアを作る方が解決策かもしれないね。

僕も最初にそう思った。でも、少なくとも自分のアプリをAIに接続したい人たちがいることで、開発者が実際にインターフェースを実装することを強制されるかもしれないね。一般の人にはほとんど知られていないAPIとは違って。

MCPとRESTの主な違いは、MCPが最初から自己記述的であることだね。RESTにはOpenAPIがあるけど、それは後から追加されたもので、まだ標準化されていない部分もある。MCPを公開する最初のステップは、それを記述することだけど、RESTではオプションのステップで、しばしば省略されることが多いんだ。

正直なところ、そうだね。でもMCPにはAPIの機能をリストするためのすごくシンプルな「リフレクション」エンドポイントがあって、メソッドやタイプについて人間が読めるドキュメントがあるんだ。これはgRPCやOpenAPIなどがオプションの拡張として長い間サポートしてきたけど、ほとんどおもちゃみたいなもんだった。MCPはそれを中心に据えているから、もしかしたらそれが大きな違いになるかもしれないね。

MCPはRESTじゃないよ。君の比較だと、MCPは実行時にRESTエンドポイントを発見するためのプロトコルで、ユーザーが実行時にどのRESTエンドポイントを使うべきかを設定できるようにするものだね。例えば、アプリを作ってて、ユーザーにSpotifyの曲を再生させたいとする。そりゃ、SpotifyのAPIを使うよ。でも、アプリをローンチした後に、ユーザーがプレイボタンを押した時にsonofmの曲を再生させたいとしたらどうする?コードを開いて、if文を書いてsonofmのAPIをハードコーディングして、新しいバージョンを出さなきゃいけない。MCPはまさにこれを拡張可能にする方法で、ハードコーディングする代わりに実行時に設定できるようにするんだ。

私の中でMCPの新しいところは、スキーマがプロトコルの一部として提供される必要があるってことだけだと思う。確かに、リクエストやレスポンスのラッパーの形が全部同じってのは便利だし、動的タイプを静的タイプでラップするライブラリを使うときに管理が楽になるけど、みんなすでにAPIでそれをやってたし、ただその封筒の形について合意がなかっただけなんだよね。でも、プロトコルと一緒にスキーマを提供する必要があって、AIモデルがそれをシームレスに利用できるっていうインセンティブがあれば、十分な動機になるよね。

うわ、これ読んでみたら、自分の反応と似てて安心した。詳しく言うと、MCPについてはあんまり詳しくないけど、みんなが話すときは流行りの言葉を使いたがる感じがあるし、興味ある人たちがこういう概念的なミスをすることが多い。あと、これはMCPだけじゃなくて、JSONとかRust、MongoDBにも当てはまることなんだけど、複雑なことを学ぶ前に基本を学ばない現象があるよね。この動画を引用するのは初めてじゃないけど、ホーマーがマーケティングを勉強する時に本を順番に読まないやつ https://www.youtube.com/watch?v=2BT7_owW2sU 。このミスがよくあるのも納得できる、文献やリソースの量が逆ピラミッドみたいになってて、古典的な基礎がほとんどなくて、新しいものがすごく多いけど、その多くは時代に耐えられないものだと思う。普通は大学が道を示して古典的なコーパスや道筋を確立するけど、70年経ってもまだ安定したものが見つからない若い分野だから、大学もCからJava、JavaからPython(少なくともCSの入門では)教えるようになって、次はRustを教えるかもしれないけど、この流行り言葉を使うのは未来を予測しようとしてる感じがするし、その分野では勝者よりも敗者の方が多くなると思う。勝者は新しい技術を学ぶだけじゃなくて古典も学んでるから、新しいものだけ学ぶのは危険だよね。

疑い深いように聞こえたくはないけど、MCPが素晴らしいって話してる人が多い一方で、それを使って面白いものを作ってる人はあまり見ないな。ブロックチェーンの盛り上がりを思い出すよ。MCPはAIモデルがもっと良くなるまでの「中間的な」ステップに見える。2年後には、MCPを使う代わりにツールのドキュメントやOpenAPIを指し示して、AIが中間層なしで全体のコンテキストを取り込むようになると思う。

でも、この投稿はAIなしでMCPを使うことについてなんだよね。

モデルがどんなに良くなっても、決定論的なツールや世界の状態に関する情報にアクセスできなければ、あまり役に立たないよ。それにセキュリティの観点も考慮しなきゃいけない。生産環境に対して無作為なリクエストを実行するモデルなんて、頭おかしいよ。MCPについてはあまり高く評価してないし、その盛り上がりも馬鹿げてると思うけど、解決しようとしている問題は現実的だね。もしこの記事が期待しているように、プロバイダーが機能のためのAPIを公開する口実として機能するなら、開発者にとってはワクワクすることだよ。

ツールのドキュメントやOpenAPIを指摘することになる もしクライアントがHTTP MCPにアクセスできるなら、もうこれができるよ。現在のモデルにOpenAPI仕様を与えれば、どうすればいいか正確に分かるから。

監査ログを調査するには素晴らしいよ。うちの顧客は毎日使ってる。 https://blog.runreveal.com/introducing-runreveal-remote-mcp-...

それ、あり得るね…もしかしたら、使いたいMCPサーバーのURLを入力する代わりに、オンラインドキュメントのURLを入れて、好きなAIアシスタントに全部見てもらうって感じになるかも。

ブロックチェーンのハイプとは全然違うね。最初は似たような疑念を持ってたけど、判断する前にちょっと試してみることをおすすめするよ。今出てきてる会話型/音声AI技術と、現在のLLM、MCPやツール、ベンダーAPIやプライベートデータ/サービスを組み合わせる機能があって、まさに新しいフロンティアって感じ。100%ではないけど、多くのユースケースには十分近いし、今後アプリの作り方が大きく変わると思う。

いい情報源は見つからなかったけど、Anthropic(MCPの開発者)がアストロターフィングやシリング、グロースハッキング、SEO、オーガニック広告をやってるって何度か読んだことある。今まで読んだMCPやClaude、SNSでの盛り上がりはそれと一致してるし、ただのハイプで価値がない感じ。

記事に同意するし、著者がMCPを(誤って)使ってるのが面白いね。事故の内容をちょっと言い換えたいんだけど、実際の事故は、前はできなかったことをするためのプロトコルができたってことじゃないんだよね。他のコメントでも指摘されてるけど、MCP(その仕様)は新しいものでも面白いものでもない。事故っていうのは、AIエージェントの波が相互運用性のハイプを生んで、ベンダーロックインが古臭くなったってことだと思う。これがどれくらい続くかは分からないけど、感謝してるよ。

どれくらい続くか分からない なんでまだどのソフトウェアベンダーもMCP経由でAPIにアクセスするためのサブスクリプションを出してないのか、ほんと不思議だよ。要するに、有料APIアクセス自体は新しいことじゃないけど、「企業ユーザー向けの有料MCPアクセス」ってのは、どこでも計画されてるはずだし、その後はオープンさが薄れていくんじゃないかな。

確かにハイプはあるよね。でも、私の見方では、AIエージェントが相互運用性のインセンティブを生んだと思う。みんながデスクトップユーザーで仕事が安定してるなら、APIなんて必要ないよね?でも、ワットアワーで料金を取る新しいパーソナルアシスタントは必要だよ。CEOがハッカソンのためにピザを取りに行くのは、実質的にタダの労働だから、みんながすべてをつなげたいと思うのも分かる。APIの波に乗ってた私たちにとって、統合が手間になってた頃よりも、世界が追いついてきた感じがする。続いてほしいけど、私も分からないな。

Web 2.0を覚えてる?セマンティックウェブを覚えてる?フォークソノミーを覚えてる?マッシュアップ?情報のサイロの終わり?HTTP APIの民主化の力?誰か?誰かいる?

アイロニックだよね、AIのトレーニングに反応してアクセスを制限するAPIがたくさんあるのに!一般的なAPIのロックダウンはそれよりずっと前から始まってたけど、君と同じく、今回のオープンアクセスの波が本当に続くのか、期待通りにならないと疑ってるよ。

AIエージェントの波が相互運用性のハイプを生んで、ベンダーロックインが古臭くなったかもね。でも、今のハイプ、例えばCursorはMCPを一方向でしか使ってないよ。Cursorにデータを流し込むことはできるけど(例えばブラウザツール)、出すことはできない(例えば会話履歴やコンテキストなど)。Cursorは好きだけど、「返さない」っていう考え方は、VS Codeのクローズドソースのフォークに反映されてて、なんか嫌な感じがする。最終的には開発者の信頼を失うと思う。ロックインはまだまだ続いてるみたい。

主な利点は、相互運用性を流行らせたことでも、簡単に接続できるようにしたことでもないよ。LLM自体が重要で、ツールを使いこなせるかどうかなんだ。バックエンドを構築しても、フロントエンドはもう君の仕事じゃなくて、AIがやってくれる。私の経験では、ClaudeやGeminiはツールの使い方を引き継げるし、私たちがするべきことは目標を伝えるだけなんだ。これはすごいことだよ。以前はコンピュータ上で何かを達成するために手順を指定しなきゃいけなかったから。動的なプロセスに対処するために固定プログラムを書くのは難しいけど、LLMはその場で適応できるからね。

MCPはただドキュメントを使ってプログラムのAPIを呼び出す方法を「理解」するだけだと思ってたんだけど、多くのAPIがクソだってことは関係ないの?

コメントにはたくさんの懐疑的な意見があるね。先週、MCPサーバーを実装してみたけど、「よく設計された」って言うのはちょっと過大評価かも。一つの原則として「MCPサーバーは非常に簡単に実装できるべき」ってあるけど、どうだろう、スキルの問題かもしれないけど、全然簡単じゃないよ。でも、今は多くの目が一方向を向いてるのが重要だと思う。つまり、問題がすぐに解決される可能性が高いってこと。あと、エコシステムを作るために注目を集めるのが難しいことが多いけど、今まさにそれが起きてる。参加者全員に忍耐と幸運を願うよ。

以前にもやったことがあるけど、うまくいかなかったし、アプリがエンドポイントをロックダウンし始めるのは、数年、いや数ヶ月の問題だと思う。相互運用性はユーザーのポータビリティを意味するんだ。どのテック系の会社もユーザーのポータビリティを望んでない、ロックインと独占を求めてるんだよ。

MCPの原則の一つは「MCPサーバーは非常に簡単に実装できるべき」ってことだよね。詳しいことは知らないけど、もっとこういう感じじゃないかな。「既存の公開/準公開APIを再露出するMCPサーバーは、元のエンドポイントにできるだけ少ない変更で簡単に実装できるべき」って。少なくとも、私が考える traction を得る唯一の方法だと思う。

MCPのPythonライブラリを使えば、結構簡単だよ。関数にアノテーションを付けるだけで、ツールができる。俺もやってみたけど、MCPについて何も知らなくてもちゃんと動いたよ。プロトコルを知って自分で実装する必要があるなら、話は別かもしれないけど。

俺もこれ考えたことあるけど、実際のところMCPサーバーって既存のAPIのクライアントみたいなもんじゃない?例えば、KagiのMCPサーバーはKagi APIとやり取りしてるし、直接そのAPI使った方が良い体験できるんじゃないかな?それとは別に、システム上で動いてるPythonインタープリターの数がMCPサーバーの数とともに増えると、全てのMCPサーバーを動かす「ホスティング」サービスみたいなのが出てくると思う?

ブレット・ビクターが昔の動画で、コンピュータが自然に相互運用できる世界について話してたことがあった。MCPはそのアイデアの最初の実現みたいに感じる。

エモーショナルサポートポータブルファン 俺だけじゃないよね、これを真剣に持ってる人。

相互運用性は、システムを一緒にプログラミングする上で常に一番難しい部分だよね。MCPを通じてインターフェースを公開するために、AI以外の努力が必要だったってのは示唆的だよ(ws-*やrest、エンタープライズサービスバス、xml、CORBA、EJBなど)。

「カオティック・ジーニアス」ってフレーズに投票した!