MCPとは何か?ウェブデータのためのモデルコンテキストプロトコルの解説
Expert in Web Scraping Technologies
短い説明
MCPは、AIアプリケーションが一つのプロトコルを通じて外部ツールやデータにアクセスできるようにする標準です。特にWebデータに関しては、トレーニングセットしか知らないモデルから、ライブWebを検索、スクレイピング、およびブラウジングできるエージェントへの橋渡しをします — 各機能は発見可能なツールとして公開され、各呼び出しはJSON-RPCメッセージとなり、各サーバーはすべてのMCP対応ホスト間でポータブルです。発表された内容には、Scrapeless MCPサーバーの投稿におけるScrapelessの実装が含まれています。
はじめに
**モデルコンテキストプロトコル(MCP)**は、AIアプリケーションが外部ツールやデータソースを一貫したインターフェイスを通じて呼び出せるオープンな標準です。エージェントが必要とする各APIのために別々の統合を手動でコーディングするのではなく、エージェントをMCPサーバーに接続し、サーバーがその機能 — 検索、ブラウジング、スクレイピング、データベースクエリ — をモデルが会話中に呼び出せるツールのリストとして公開します。
特にWebデータに関して、MCPは「モデルはトレーニングデータしか読み取れない」という状態を「モデルはライブページを取得し、Google検索を行い、実際のブラウザを操作し、返ってきたものに基づいて推論できる」状態に変えるレイヤーです。このエントリでは、MCPが何であるか、その下にあるクライアント/サーバーメカニズム、および古いツールをLLMに配線する方法と比較してどのように位置づけられるかを説明します。
MCPが存在する理由
MCPの前は、エージェントが使用するすべてのツールは特注の統合でした。ウェブを検索し、PDFを読み込み、倉庫をクエリするアシスタントを希望するチームは、それぞれ独自の認証、ペイロード形式、失敗モードを持つ3つの異なるアダプターを作成しました。モデルを入れ替えるか、4つ目のツールを追加すると、配線が倍増しました。このプロトコルは2024年末にAnthropicによって導入され、エージェントエコシステム全体で採用され、M×Nの統合問題を1つの契約に縮小することに成功しました。
残ったアナロジーはポート標準です。MCPはAIツーリングにおいて、ユニバーサルコネクターが周辺機器に対して果たす役割を果たします:ホストアプリケーションは1つのプロトコルを話し、それを話すサーバーはカスタム接着剤なしで接続します。ウェブスクレイピングサーバー、ファイルシステムサーバー、Postgresサーバーはすべて、モデルに同じ形を提供するため、エージェントランタイムはプロトコルを一度学ぶだけで済み、各ベンダーのAPIを学ぶ必要がありません。
MCPの仕組み
MCPは、JSON-RPC 2.0に基づいたクライアント–サーバープロトコルであり、ツーリング界の多くで使用されている軽量リモートプロシージャコール形式です。3つの役割が作業を行います:
- ホスト — ユーザーが対話するAIアプリケーション(チャットクライアント、IDEアシスタント、自律エージェント)。接続するサーバーごとに1つのMCPクライアントを実行します。
- クライアント — ホスト内の接続部品で、1つのサーバーとの単一セッションを保持し、メッセージを双方向で中継します。
- サーバー — 機能を公開するプログラム。ウェブデータサーバーは、検索呼び出しやページ取得のようなツールを公開し、データベースサーバーはクエリツールを公開し、ファイルシステムサーバーは読み書きツールを公開します。
ハンドシェイクは固定的です。接続時に、クライアントとサーバーはinitializeメッセージを交換し、プロトコルバージョンを固定し、機能を宣言します — 例えば、ライブのScrapeless MCPサーバーはプロトコルバージョン2024-11-05を交渉し、tools機能を広告します。クライアントがinitialized通知を送信した後、tools/listを呼び出してサーバーが提供するものを発見し、その後tools/callで呼び出すことができます。すべてのメッセージは、method、params、および各リクエストに対してその応答をペアリングするidを持つJSON-RPCオブジェクトです。
ツールは、多くのウェブデータ作業が依存する原始的なもので、ツールには名前、人間が読める説明、および入力のためのJSONスキーマがあり、モデルはgoogle_searchを呼び出せることと、呼び出しが期待する引数を知っています。最小限のtools/call交換は次のようになります:
json
// スキーマはJSON-RPC 2.0 / MCP tools/callの形状を反映しています。フィールド値は説明的サンプルです。
// リクエスト
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "scrape_markdown",
"arguments": { "url": "https://example.com" }
}
}
// 応答
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [{ "type": "text", "text": "# Example Domain\n..." }]
}
}
トランスポートはそのメッセージレイヤーの下に位置しています。ローカルサーバーは通常、stdioを介して動作します。ホストはサーバーをサブプロセスとして起動し、標準入力と出力を介してJSON-RPCをパイプで接続します。リモートサーバーはストリーム除法HTTPを介して動作し、クライアントはURLに対してセッションを開き、サーバーが送信するイベントとして応答を受け取ります。Scrapeless MCPサーバーはhttps://api.scrapeless.com/mcpでリモートエンドポイントとしてアクセス可能で、ドキュメントからのAPIキーで認証しており、Google検索とトレンド、直接ページスクレイピング(HTML、マークダウン、スクリーンショット)、完全なブラウザ自動化アクション(セッション作成、ナビゲート、クリック、入力、スクロール、スナップショット、待機)を網羅する21のツールを公開しています。これにより、エージェントは一度の呼び出しでページを取得するか、実際のクラウドブラウザを段階的に操作することができます。
無料プランでAPIキーを取得: app.scrapeless.com
チームがウェブデータにMCPを使用する理由
- エージェントのためのライブウェブアクセス。 検索やスクレイピングツールを呼び出せるアシスタントが、古いトレーニングデータではなく、現在のウェブから回答を返し、ページコンテンツはモデルがインラインで読むテキストとして返されます。
- 一つのクライアントで、多くのソース。 すべてのサーバーが同じ
tools/listインターフェースを持っているため、単一のエージェントランタイムが同時に検索サーバー、ブラウザサーバー、データベースサーバーとのセッションを保持し、各タスクを適切なツールにルーティングできます。 - ブラウザ駆動の抽出。 クラウドブラウザを作成し操作するツールにより、エージェントはJavaScriptでレンダリングされたページまたはインタラクションゲートページに到達できます。つまり、クリックしてレンダリングを待ち、その後DOMを読むことができ、ホストが独自のブラウザスタックを持つ必要はありません。
- プロンプト内の構造化スクレイピング。 マークダウンまたはHTMLスクレイピングツールは「このURLを読んで」というリクエストを、クリーンでモデル利用可能なコンテンツを返す単一のツール呼び出しに変換するため、取得ステップが個別のパイプラインではなく会話の一部になります。
- ポータブルな統合。 一度書かれたサーバーがすべてのMCP対応ホストで動作します。同じウェブデータツールがデスクトップチャットクライアント、IDEエージェント、カスタムランタイムで点灯し、ホストごとの再実装は不要です。
MCPと古いツールの接続方法との比較
| アプローチ | ツールの説明方法 | ホスト間での再利用 | 発見 |
|---|---|---|---|
| MCP | 単一のプロトコル。サーバーはJSONスキーマ入力でツールを公開。 | どのMCPホストでもカスタムコードなしで接続可能。 | 動的 — 実行時に tools/list |
| ネイティブ関数呼び出し | アプリごとのスキーマがAPIリクエストで渡される。 | モデルごと、アプリごとに再実装。 | 静的 — 自分のコードで定義。 |
| 手作りAPIアダプター | サービスごとのカスタムクライアント。 | なし — 各々が一回限り。 | なし — ハードコーディング。 |
| プラグイン仕様(ベンダーごと) | ベンダー固有のマニフェスト。 | そのベンダーのホストに依存。 | マニフェストベース。 |
重要な違いは、関数呼び出しがモデルがツールを使うように要求する方法であり、MCPはサーバーがどのモデルのホストにもツールを提供する方法です。競合するのではなく、組み合わさります — 通常のMCPホストは、実行するモデルに関して各サーバーがリストしたツールを関数定義としてレンダリングします。MCPが追加するのは、標準的な契約およびランタイム発見であり、エージェントが到達できるツールはもはやアプリケーションのソースコードに固定されることはありません。MCPブラウザツールがChrome DevToolsやPlaywright統合とどのように比較されるかについての詳しい情報は、MCP統合ガイドで取引を説明しています。
MCPはそのメッセージフォーマットをJSON-RPC 2.0仕様から直接引き出しており、そのペイロードはRFC 8259で定義されているJSONインターチェンジフォーマットとしてエンコードされています。このプロトコルの役割、ライフサイクル、プリミティブは公式のモデルコンテキストプロトコルドキュメントで示されており、ツールの発見と呼び出しの正確な形はMCPサーバーツール仕様に記載されています。
ウェブデータ用のMCPサーバーで探すべきこと
- 本物のブラウザ、単なるHTTPフェッチではない。 多くのターゲットページはクライアント側でレンダリングされたり、インタラクションの背後にコンテンツをゲートしています。クラウドブラウザを作成および操作できるツールを持つサーバーは、それらのページに到達できます。HTTPのみのフェッチツールでは不可能です。
- 速いパスと深いパスの両方。 マークダウンやHTMLスクレイピングは静的ページを一度の呼び出しでカバーできます。ステップバイステップのブラウザアクションは困難なものをカバーします。両方を公開するサーバーは、エージェントがタスクごとに選択できるようにします。
- ツールの説明とスキーマを整理する。 モデルは、ツールの説明と入力スキーマが正確であるときにのみ、ツールをうまく使用します。曖昧なツールは正しく呼ばれなかったり、無視されたりします。
- 管理されたインフラストラクチャ。 195カ国以上での住宅用出口、セッション管理、検出防止のレンダリングは、ウェブツールが挑戦ページではなく実際のコンテンツを返す理由です。管理されたサーバーは、すべてをツールの呼び出しの背後に隠します。
- リモートおよびローカル輸送。 リモートストリーミング可能なHTTPエンドポイントはキーを使用して任意のホストから接続します。stdioの起動はローカルサブプロセスのセットアップに適しています。Scrapeless スクレイピングAPIはサーバーのツールをサポートしており、使用ベースの料金とサインアップ時の無料クレジットがあります。
エージェントをライブウェブに接続する準備はできましたか?
コミュニティに参加して無料プランを獲得し、MCPを活用したウェブデータエージェントを構築している開発者とつながりましょう: Discord · Telegram。
app.scrapeless.comにサインアップして、無料クレジットを獲得し、Scrapeless MCPサーバーのツールをエージェントが必要とする検索、ページ、およびブラウザフローにポイントします。
よくある質問
Q: MCPは何の略ですか?
MCPはモデルコンテキストプロトコルの略で、AIアプリケーションを外部ツールやデータソースに接続するためのオープンスタンダードです。これはJSON-RPC 2.0に基づいた単一のクライアント–サーバーインターフェースを通じて行われます。
Q: MCPは関数呼び出しと同じですか?
いいえ。関数呼び出しはモデルが1つのAPI呼び出し内でツールを要求する方法です。MCPは、サーバーが任意のMCP対応ホストにツールを提供する方法です。それらは一緒に機能します—ホストは通常、MCPにリストされている各ツールを、それが実行しているモデルのための関数呼び出し定義に変換します。
Q: MCPサーバーを使用するためにコードを書く必要がありますか?
MCP対応ホストから使用するためには、ホストをサーバーのエンドポイントまたは起動コマンドにポイントし、必要なキーを提供します。ホストがプロトコルハンドシェイクとツール発見を処理します。独自のサーバーを構築するのがコーディングの部分です。
Q: MCPサーバーはウェブスクレイピングにどのように役立ちますか?
それはスクレイピングやブラウジングを呼び出し可能なツールとして公開するので、エージェントはページをマークダウンやHTMLとして取得したり、検索を実行したり、クリックやスクロールを通じてクラウドブラウザを操作したりできます — その後、同じ会話内で返されたコンテンツについて推論します。
Q: Scrapeless MCPサーバーは何ツールを公開していますか?
Scrapeless MCPサーバーは、https://api.scrapeless.com/mcp で21のツールを公開しており、Googleの検索とトレンド、HTML、マークダウン、スクリーンショット形式でのページの直接スクレイピング、そしてクラウドブラウザの自動化アクションの完全なセットをカバーしています。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



