A Large-Scale Dataset of MCP Implementations on GitHub
本論文は、実世界のMCPエコシステム、開発トレンド、およびアーキテクチャパターンを分析するための基礎的なベンチマークを確立するために、厳格なハイブリッド検証パイプラインを通じて作成された、GitHub由来の2,297件の検証済みModel Context Protocol(MCP)実装からなる、初の規模の大きいエビデンスに基づいたデータセットを紹介するものである。
原論文は CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/) のもとパブリックドメインに提供されています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
AIの世界を、コンピュータの中に住む巨大でしゃべり好きなロボットだと想像してみてください。長い間、このロボットは学習データにあることについて話すことしかできませんでした。まるで、教科書の中身しか知らない学生のようです。しかし最近、「Model Context Protocol (MCP)」という新しいルールブックが登場しました。MCPは、ユニバーサルな翻訳機であり、ロボットが天気アプリや検索エンジン、コードエディタといった現実世界のツールにプラグを差し込み、単にそれらについて話すだけでなく、実際に「実行」できるようにするための標準的な電源コンセントのようなものです。
しかし、ここに問題があります。どれほど多くの人々がこれらの「電源コンセント」を作っているのか、また、それらが内部でどのような仕組みになっているのかを、正確に知る術が誰もなかったのです。噂やリストはありましたが、実際のコードに基づいた確かな地図はありませんでした。
そこで、この論文が登場します。著者たちはデジタルな宝探し隊となり、開発者がコードを保管する巨大なライブラリであるGitHubへと飛び込み、これらのMCPプロジェクトに関する最初の大規模で検証済みの地図を作り上げました。
大発掘
チームは単に推測したわけではありません。手がかりを探し出すための非常にスマートなロボット・パイプラインを構築しました。彼らはまず、「MCP」と言及している3,238個の潜在的なプロジェクトからスタートしました。しかし、すべてのプロジェクトが「私はMCPプロジェクトです」と言ったからといって、実際にそうであるとは限りません。中には空っぽの殻のようなものや、単なるチュートリアル、あるいは「MCP」という名前を(AIツールではなく、例えばMinecraftのゲームModのように)全く別の目的で使用しているものもありました。
真実に辿り着くために、彼らは多段階の健康診断を実施しました:
- 履歴書のチェック: プロジェクトに最近の更新があるか? 9ヶ月間動きがなければ、それは除外されました。
- コードのスキャン: プロジェクトが実際にMCPシステムに接続しようとしていることを証明する、特定の「指紋」ファイル(
package.jsonやpyproject.tomlなど)を探しました。 - 構造のチェック: コードが単なるコンセプトとして置かれているのではなく、実行可能な状態であることを示す特定のフォルダやエントリポイントを確認しました。
このフィルタリングを経て、彼らは本物のプロジェクトである2,297個を見つけ出しました。彼らは非常に慎重に作業を行い、ランダムなサンプルを手動で再確認したところ、そのプロセスは83%の精度であることが分かりました。さらに、一見本物のツールのように見えるものの、実際には動作するパーツを持たない単なる「見せ物」用のテンプレートであった90個のプロジェクトも見つけ出し、最終的なリストから排除しました。
これらのプロジェクトは何をしているのか?
検証済みの2,297個のプロジェクトリストを作成した後、彼らはそれらを演劇の登場人物のように、3つの主要な役割に分類しました:
- クライアント(Clients): これらは「リクエスター(要求者)」です。ロボットの手のように、ツールを求めて手を伸ばす存在です。(例:天気を教えてほしいと頼むチャットインターフェース)。
- サーバー(Servers): これらは「プロバイダー(提供者)」です。ツールを保持し、求められた時にそれを提供します。
- ゲートウェイ(Gateways): これらは「仲介役」または「翻訳機」です。異なるシステム同士が互いに会話できるよう、AIと外部サービスとの間の溝を埋める役割を果たします。
データは、PythonとTypeScriptがこれらのツールを構築するためのスーパースター言語であることを示唆しています。これらは、リクエスター(クライアント)とプロバイダー(サーバー)の両方において、シーンを支配しています。興味深いことに、「仲介役」(ゲートウェイ)もまた、スピードと信頼性で知られる言語であるGoを好んで使用しています。
どのように構築されているのか?
この論文は、これらのプロジェクトの多くが巨大な企業のモノリス(一枚岩の構造)ではないことを示唆しています。むしろ、小規模で機敏なチームのように見えます。典型的なプロジェクトには、約4人のユニークな貢献者と、70回のコミット(更新)があります。開発者は、一度に巨大で恐ろしいアップデートを行うよりも、小さく頻繁な微調整を行うことを好んでいるようです。
これが何を意味するか
この論文は、AIツールに関するあらゆる謎を解明したと主張しているわけではありません。代わりに、確かな証拠に基づいた基礎を提供しています。エコシステムは急速に成長していますが、現在は少数の主要な言語によって支配されており、特定のパターンに従って発展していることを示唆しています。研究者に、クリーンで検証済みの2,297のプロジェクトリストを提供することで、この研究は、マーケティング上の誇大広告に基づいて推測するのではなく、AIの接続が実際にどのように進化しているかを理解するための将来の研究への舞台を整えたのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。