メインコンテンツへ移動
,

【完全解説】MCPとは?Model Context Protocolの仕組みと活用法2026

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

MCPで複数のアプリと接続するClaudeのフラットイラスト

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公式リポジトリで提供されるfilesystemgitgithubpostgresbrave-searchなどのリファレンス実装に加えて、Microsoft、Google、GitHub、Notion、Slack、Cloudflare、Stripeなど多数のベンダーが公式サーバーを出しています。コミュニティ製を含めれば、開発・業務系のほぼあらゆるツールが既にMCP化されている状態です。

プロトコル構造:Tools / Resources / Prompts

MCPホスト・クライアント・サーバーの3層をJSON-RPCで繋ぐ図

MCPサーバーは、AIに対して3種類の能力を提供できます。

  • Tools:AIが呼び出せる関数。引数スキーマと結果スキーマを公開し、副作用のあるアクションも担う。
  • Resources:AIが参照できるデータ(ファイル、DBレコード、ドキュメント)。URI形式で識別される。
  • Prompts:再利用可能なプロンプトテンプレート。引数を埋め込んでAI側に提供する。

3層構造のうち、最初に押さえるべきはToolsです。多くのMCPサーバーはまずToolsだけを実装し、後からResourcesやPromptsを足していくケースが多いです。

トランスポート:stdio / HTTP / SSE

stdio HTTP SSE の3つのトランスポートを比較する図

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講座を公開しています。

あわせて読みたい

Next Action

AIエージェント開発を体系的に学ぶ

MCP、Claude Code、マルチエージェント設計を、概念で終わらせず実装と運用までつなげます。

AIエージェント開発を体系的に学ぶ 完全マスターを読む