この記事にはアフィリエイトリンクが含まれる場合があります。

2026年5月現在、AIアプリケーション開発の文脈で必ず登場するキーワードがMCP(Model Context Protocol)です。Anthropicが提唱したオープンプロトコルですが、すでにClaude Desktop、Claude Code、Cursor、VS Code、ChatGPT Desktopなどの主要なクライアントが対応しており、対応サーバーの数は数百を超えています。MCPは「AIモデルが外部世界と接続するためのUSB-C」と言われるほど、デファクト標準として急速に定着しました。
本記事では、MCPの基本概念、プロトコル構造、トランスポート、主要サーバーの実例、自作サーバーの最小実装までを一通り解説します。読み終わる頃には、自分のClaude Code環境に新しいMCPサーバーを追加し、必要なら独自のサーバーを書ける状態を目指します。
MCPとは:AIの「USB-C」を改めて定義する
MCPは、AIモデル(クライアント)と外部ツール・データソース(サーバー)の間で「ツールの一覧」「ツールの呼び出し」「リソースの取得」「プロンプトの提供」を標準化されたJSON-RPCメッセージでやり取りするためのプロトコルです。これまでは、ツールごとにOpenAPIスキーマを書いて、AIフレームワーク側で個別のラッパーを実装する必要がありました。MCPはこれを共通化し、サーバー側の実装1つで複数のAIクライアントから利用可能にします。
プロトコル自体はオープンスタンダードとして公開されており、特定ベンダーに依存しません。Anthropic以外のAIクライアントが対応することも自由で、すでに複数の対応実装が存在します。
2026年5月時点のクライアント・サーバー対応状況
クライアント側は主要な開発者向けAIツールがほぼ網羅されています。Claude Desktop、Claude Code(CLI)、Cursor、VS Code(Copilot系プラグイン)、JetBrains系、ChatGPT Desktop、Continueなどが代表例です。OSのデスクトップアプリだけでなく、ヘッドレスのAgent SDKからも利用できます。
サーバー側は、Anthropic公式リポジトリで提供されるfilesystem、git、github、postgres、brave-searchなどのリファレンス実装に加えて、Microsoft、Google、GitHub、Notion、Slack、Cloudflare、Stripeなど多数のベンダーが公式サーバーを出しています。コミュニティ製を含めれば、開発・業務系のほぼあらゆるツールが既にMCP化されている状態です。
プロトコル構造:Tools / Resources / Prompts

MCPサーバーは、AIに対して3種類の能力を提供できます。
- Tools:AIが呼び出せる関数。引数スキーマと結果スキーマを公開し、副作用のあるアクションも担う。
- Resources:AIが参照できるデータ(ファイル、DBレコード、ドキュメント)。URI形式で識別される。
- Prompts:再利用可能なプロンプトテンプレート。引数を埋め込んでAI側に提供する。
3層構造のうち、最初に押さえるべきはToolsです。多くのMCPサーバーはまずToolsだけを実装し、後からResourcesやPromptsを足していくケースが多いです。
トランスポート:stdio / HTTP / SSE

MCPには3種類のトランスポートがあり、用途に応じて選びます。
- stdio:サーバーをサブプロセスとして起動し、標準入出力でJSON-RPCをやり取り。ローカル実行向け。最も普及。
- HTTP(Streamable HTTP):HTTPエンドポイントで通信。リモートサーバーやSaaS向け。
- SSE:Server-Sent Eventsでサーバーからプッシュ。HTTPと併用されることが多い。
初学者はまずstdioから始めるのが安全です。`npx`や`uvx`でローカル起動するサーバーが多く、認証も不要なケースが多いためです。社内ホストされたMCPサーバーを共有する段階になったら、HTTPに切り替えます。
Claude Codeに既存MCPサーバーを追加する:claude mcp add
Claude Codeへの登録は1コマンドです。ローカルstdio型と、HTTP型で書き方が少し変わります。
# filesystem(公式リファレンス)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/dir
# GitHub
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# Playwrightでブラウザ自動化
claude mcp add playwright -- npx -y @playwright/mcp@latest
# Context7(最新ライブラリドキュメント検索)
claude mcp add context7 -- npx -y @upstash/context7-mcp
# Microsoft Learn(公式ドキュメント検索)
claude mcp add ms-learn --transport http -- https://learn.microsoft.com/api/mcp
# DeepWiki(GitHubリポジトリ解説)
claude mcp add deepwiki --transport http -- https://mcp.deepwiki.com/mcp
登録後、Claude Codeのセッション内で/mcpを実行すると、接続中のサーバーと提供ツールが一覧表示されます。Claudeは必要に応じて自動でツールを呼び出すため、ユーザー側は「GitHubのIssueを一覧して」など自然言語で依頼するだけです。
よく使われる公式・準公式サーバー一覧
- filesystem / git / github:開発の基本セット。ローカルファイル操作とGit、GitHub APIをカバー。
- postgres / sqlite:データベース照会。SELECTのみに権限を絞って分析タスクで使うのが定番。
- brave-search / fetch:Web検索とHTTP取得。RAG的な用途に。
- slack / notion / google-drive:業務系ツール統合。OAuth認証が必要。
- playwright / puppeteer:ブラウザ自動化。E2EテストやUI操作に。
- context7:ライブラリの最新ドキュメントを取得。学習データのカットオフ対策に効果絶大。
- ms-learn:Microsoft / Azure / .NET / M365の公式ドキュメント検索。
- deepwiki:GitHubリポジトリのAI解説。OSSの仕様確認に。
- memory:Claude越しの永続メモリ。ナレッジグラフ的に使える。
- sequential-thinking:段階的推論をサーバー側に切り出す実験的サーバー。
最小の自作MCPサーバー(TypeScript SDK)
独自のMCPサーバーを作るのは想像より簡単です。Anthropic公式のTypeScript SDKを使えば、20〜30行で動くToolサーバーを作れます。
// server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "udemy-helper",
version: "0.1.0",
});
server.tool(
"get_course_price",
"指定された講座IDの現在価格を返します",
{ course_id: z.string() },
async ({ course_id }) => {
const price = await fetchPrice(course_id);
return { content: [{ type: "text", text: `講座${course_id}の価格: ${price}円` }] };
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
あとはtsx server.tsで起動できるようにし、Claude Codeにclaude mcp add udemy-helper -- npx -y tsx server.tsと登録すれば、Claudeからget_course_priceを呼べるようになります。Python SDKも同様のAPIで提供されており、好みの言語を選べます。
認証とスコープ:エンタープライズで使う前に
MCPサーバーは強力な反面、Claudeが自律的にツールを呼び出すため、認可設計を間違えると事故につながります。本番運用では以下を必ず押さえてください。
- 各ツールの権限スコープを最小化(DBは読み取り専用、ファイルは特定パスのみ、など)。
- OAuthで個人スコープを使う場合、ユーザーごとに別プロセスでサーバーを起動する。
- HTTPトランスポートのサーバーには、認証ヘッダや署名検証を必須化。
- Hooks(Claude Code側の機能)で、ツール呼び出しごとに監査ログを残す。
- 破壊的操作のツールはホワイトリスト化し、Auto モードでは無効にする。
デバッグとログの取り方
MCPサーバーのデバッグには、stderr出力とMCP Inspectorが便利です。Anthropic公式が提供する@modelcontextprotocol/inspectorを使えば、ブラウザUI上でサーバーへJSON-RPCを送って動作確認できます。サーバー実装時は、まずInspectorで通し動作を確認し、その後Claude Codeに繋ぐ流れが安全です。
本番のヘッドレス運用では、構造化ログを必ず実装してください。tool_name、引数のハッシュ、所要時間、結果の成功/失敗、呼び出し元のセッションID、を残しておくと、後の分析と障害切り分けが楽になります。
まとめ
MCPはAIモデルと外部世界を繋ぐ標準として、2026年5月時点ではほぼ確定的な地位にあります。まずは既存のMCPサーバー(filesystem、github、context7、playwright あたり)を自分のClaude Codeに足して使ってみてください。慣れてきたら、自分の業務に特化したサーバーをTypeScript SDKで書き起こす段階に進みましょう。MCPで繋いだ瞬間、Claudeは「賢い対話相手」から「自走するアシスタント」に変わります。
MCPとAIエージェント開発を実践形式で学ぶ
Claude Code・MCP・AIエージェント実装を扱うUdemy講座を公開しています。