9月24日、Abid Ali Awanが「MCP Explained in 5 Minutes」と題した記事を公開した。MCPの仕組みをClaude CodeとTavily・GitHub・Playwrightの連携を通じて実践的に解説している。
MCPという名称はAIエージェントや開発ツールの文脈で頻繁に耳にするようになったが、「実際にどう動くのか」「どう使うのか」まで把握しているエンジニアは少ない。本記事はその疑問に5分で答えることを目指した実践ガイドである。
MCPとは何か
MCP(Model Context Protocol)とは、AIアプリケーションが外部ツールやデータソースと接続するための標準インターフェースだ。
従来は、APIごとに個別のカスタム統合を実装する必要があった。MCPを使えば、AIアプリケーションはMCPサーバーに接続するだけで、そのサーバーが提供する機能を一覧取得(ディスカバリー)して呼び出せるようになる。
重要な点として、MCPはAPIを置き換えるものではない。MCPサーバーは裏側で通常のAPIと通信しており、MCPが標準化するのは「AIがその機能をどう把握し、どう呼び出すか」の部分だ。
MCPサーバーが公開できる機能は3種類ある。
- Tools: モデルが実行できるアクション(Web検索、Issue作成、クエリ実行など)
- Resources: アプリケーションが読み取れる情報(ファイル、ドキュメント、DBレコードなど)
- Prompts: サーバーが提供する再利用可能なプロンプトテンプレート
AIエージェントのワークフローでは、Toolsが特に実用的だ。テキスト生成にとどまらず、外部システムへの実際の操作が可能になる。
アーキテクチャの全体像
MCPはクライアント・サーバー構成をとる。
- Host(例:Claude Code)がAIアプリケーション本体
- Host内部のMCPクライアントが、1つ以上のMCPサーバーに接続
- MCPサーバーが外部サービスへのツール・リソース・プロンプトを公開
たとえば「最新のPyTorchリリース内容を調べてまとめてほしい」という指示に対して、モデルはまず現在の情報が必要と判断し、利用可能なMCPツールの中からWeb検索ツールを選択、MCPサーバー経由でリクエストを送り、結果を受け取る。
「いつツールが必要か」「結果をどう使うか」を判断するのはモデル自身であり、MCPはあくまでその接続を標準化する仕組みだ。
Claude Codeで3つのMCPサーバーを試す
ここからが記事の核心部分だ。Claude CodeはMCPサーバーの管理機能を内蔵している。設定済みのサーバー一覧は以下で確認できる。
claude mcp list
MCP接続の状態確認・操作はClaude Code内で /mcp コマンドからも行える。
1. Tavily — Webリアルタイム検索
言語モデルは最新情報を持っていない。TavilyはClaude Codeにライブ検索・クローリング・抽出などのツールを提供するMCPサーバーだ。
claude mcp add --transport http tavily https://mcp.tavily.com/mcp
追加後、/mcp で認証を完了すれば、以下のような指示が通るようになる。
最新のvLLMリリースをWeb検索して、主な変更点をまとめてください。
Claude側はTavilyの内部APIを知る必要がない。MCPサーバーが公開しているツールを発見して呼び出すだけだ。
2. GitHub MCP — リポジトリ操作
公式のGitHub MCPサーバーを使うと、GitHubのリポジトリ操作をClaude Codeから直接実行できるようになる。対応する操作はコード検索・コミット確認・Issue・PRのレビュー・ワークフロー分析など、権限に応じて幅広い。
Personal Access Token(PAT)を使って追加する。
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
YOUR_GITHUB_PAT は必要な権限だけを付与したPATに置き換える。設定後は以下のような指示が使える。
PR #42をレビューして、潜在的なバグとテスト不足の箇所を特定してください。
コードやIssueを手動でコピー&ペーストせずに、Claudeが必要なコンテキストをMCP経由で取得して処理できるのが利点だ。
3. Playwright — ブラウザ自動操作
APIでは対応できないタスク——ページを開いてボタンをクリックし、フォームに入力するといった操作——にはPlaywright MCPが有効だ。MicrosoftのPlaywright MCPサーバーを追加する。
claude mcp add playwright npx @playwright/mcp@latest
追加後は、たとえば以下のような自然言語の指示でブラウザ操作を実行できる。
ローカルアプリを開いてサインアップフローをテストしてください。
Playwright MCPはページのアクセシビリティスナップショット(構造化された表現)を使ってブラウザ要素を操作する。APIが存在しないUIの操作や、E2Eテストの自動実行といった用途で、他の2つのサーバーではカバーしきれない領域を補う位置づけだ。セレクタの記述やスクリプトの手書きが不要になる点が実務上の大きな利点である。
最新仕様のポイント:ステートレス化
なお、本記事の公開時点では言及されていないが、MCPプロトコル自体も継続的に更新されている。**MCP 2026-07-28仕様では、プロトコルのコアがステートレス**になる大きなアーキテクチャ変更が加わった。特定サーバーとのセッションを維持する代わりに、各リクエストが処理に必要な情報を自己完結的に持つ形になる。これにより、リモートMCPサーバーを標準的なクラウドインフラでスケールさせやすくなる。
※編集部の考察:この仕様変更はサーバー実装者にとって影響が大きく、既存のステートフルな実装からの移行コストが生じる可能性がある。本記事で紹介されているサーバー(Tavily・GitHub・Playwright)が各仕様にどう追従するかは、それぞれの公式リポジトリを確認されたい。
主な追加内容は以下の通りだ。
- セッション不要のステートレスリクエスト
- ツール・リソース・プロンプトリストのキャッシング
- ツールが追加情報を要求して処理を継続できるマルチステップインタラクション
- 長時間実行タスクのサポート(Tasks)
- セキュアなリモートサーバー向けの認証強化
- コアプロトコルを変更せずに機能追加できる拡張機構
モデル → MCP → ツール → 結果 という基本フローを押さえれば、サービスごとにカスタム統合を書かなくても、より高機能なAIエージェントを組み立てられるようになる。
詳細はMCP Explained in 5 Minutesを参照していただきたい。