MCP (Model Context Protocol) 入門ガイド
AIと外部システムを繋ぐ「USB規格」の革命
本記事は2026年3月時点の情報に基づいています
エグゼクティブサマリー
MCPを1行で言うと:
MCP(Model Context Protocol)は、AIアプリケーションと外部システムを接続するためのオープンソース標準プロトコルである。
MCPでできること(3つの例):
- Claudeにローカルファイルを操作させる — 「このフォルダ内の売上データを分析して」と指示するだけで、Claudeが直接ファイルを読み込み、グラフを作成できる
- Slackと連携してチーム対応を自動化 — AIが未読メッセージを要約し、返信案をドラフトして投稿まで行う
- データベースに直接クエリを投げる — 自然言語で「先月の売上上位10製品を教えて」と聞くだけで、PostgreSQLやSQLiteから自動的にデータを取得・分析
1. MCPとは何か?
USB-Cのアナロジー
MCPは、電子機器をつなぐ「USB-Cポート」のようなものです。
USB-Cが登場する前、周辺機器を接続するには、各メーカーが独自の規格を持っていました。マウスにはPS/2、キーボードには別のコネクタ、プリンタにはまた別のケーブル…。これでは、機器ごとに異なるドライバをインストールする必要があり、互換性の問題も頻発しました。
USB-Cの登場により、すべてが統一されました。今では、どのメーカーのマウスでも、どのメーカーの外付けHDDでも、同じポートに接続できます。
MCPは、AIの世界にこの「統一規格」をもたらします。
MCPが登場する前:
- Claude用にSlack連携プラグインを開発
- ChatGPT用に別のSlack連携プラグインを開発
- Cursor用にまた別のプラグインを開発
- 各AIツールごとに、連携機能を個別に実装する必要があった
MCPが登力した後:
- 1つのMCPサーバーを作れば、すべてのMCP対応AIツールで使える
なぜMCPが必要なのか?
問題提起:AIは「賢いけど閉じ込められている」
現在のAIモデル(Claude、GPT-4など)は非常に高度な推論能力を持っています。しかし、標準状態では以下の制約があります:
- ローカルファイルにアクセスできない
- 社内データベースを参照できない
- SlackやGoogle Calendarなどの外部APIを直接操作できない
- ユーザーのコンテキスト(環境、設定、履歴)を理解できない
各AIツールが個別に統合機能を開発しようとすると、以下の問題が発生します:
- 開発コストの重複 — 同じ機能を複数のAIツール向けに実装し直す必要がある
- メンテナンスの複雑化 — 各統合機能を個別に更新・修正する必要がある
- エコシステムの分断 — あるAIで使える機能が、別のAIでは使えない
MCPの解決策:標準化された接続レイヤー
MCPは、以下の3層構造でこの問題を解決します:
┌─────────────────────────────────────────┐
│ MCP Host (AIアプリケーション) │
│ Claude Desktop / Cursor / VS Codeなど │
└─────────────────┬───────────────────────┘
│ MCP プロトコル
┌─────────────┼─────────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│MCP │ │MCP │ │MCP │
│Server A│ │Server B│ │Server C│
│(Files) │ │(DB) │ │(Slack) │
└────────┘ └────────┘ └────────┘
2. MCPでできること(具体例)
MCPサーバーは、主に3種類の機能(プリミティブ)を提供します:
2.1 Tools(ツール)— AIが能動的に実行する関数
ツールは、AIモデルがユーザーの要求に応じて自ら判断して呼び出す機能です。
具体例:
// ツール定義の例(天気予報取得)
{
name: "get_forecast",
description: "指定した場所の天気予報を取得",
inputSchema: {
type: "object",
properties: {
latitude: { type: "number", description: "緯度" },
longitude: { type: "number", description: "経度" }
},
required: ["latitude", "longitude"]
}
}
ユーザー:「東京の週末の天気を教えて」
→ AIが自動的に get_forecast(35.6762, 139.6503) を呼び出し
代表的なツール例:
- ファイルの作成・編集・削除
- データベースへのクエリ実行
- API呼び出し(Slack投稿、GitHub Issue作成など)
- 計算処理、データ変換
2.2 Resources(リソース)— 読み取り専用のデータソース
リソースは、AIアプリケーションがコンテキストとして参照する読み取り専用のデータです。
具体例:
resource://project-docs/README.md → プロジェクトのドキュメント
database://schema/users → ユーザーテーブルのスキーマ
calendar://events/2024 → 2024年のカレンダーイベント
代表的なリソース例:
- ファイルシステム(ドキュメント、コード)
- データベーススキーマ
- APIドキュメント
- 設定ファイル
2.3 Prompts(プロンプト)— 再利用可能な対話テンプレート
プロンプトは、特定のタスクを効率的に実行するための定型フォーマットです。
具体例:
{
name: "analyze_codebase",
description: "コードベースを分析してアーキテクチャを文書化",
arguments: [
{ name: "directory", description: "分析対象のディレクトリ" }
]
}
ユーザーがこのプロンプトを選択すると、AIは事前定義された手順に従って分析を実行します。
3. 対応ツール一覧(2026年3月時点)
3.1 MCP対応クライアント(AIアプリケーション)
| クライアント | 開発元 | 特徴 | 対応機能 |
|---|---|---|---|
| Claude Desktop | Anthropic | デスクトップアプリ、最も普及 | Tools, Resources, Prompts |
| Claude Code | Anthropic | CLIベースの開発ツール | Tools, Resources |
| Cursor | Anysphere | AI搭載IDE | Tools, Resources |
| VS Code + Copilot | Microsoft | MCP対応(拡張機能) | Tools |
| MCPJam | コミュニティ | MCP専用クライアント | Tools, Resources, Prompts |
| ChatGPT | OpenAI | MCP対応(2025年追加) | Tools |
3.2 主要なMCPサーバー一覧
公式リファレンスサーバー(Anthropic提供):
| サーバー名 | 機能 | 用途 |
|---|---|---|
| Filesystem | ファイル操作 | ローカルファイルの読み書き |
| Git | Git操作 | リポジトリ管理、履歴検索 |
| Fetch | Web取得 | URLからコンテンツを取得・変換 |
| Memory | 知識グラフ | 永続的なメモリ管理 |
| Sequential Thinking | 思考支援 | 段階的な問題解決 |
| Time | 時間変換 | タイムゾーン変換 |
主要なサードパーティサーバー:
| サーバー名 | カテゴリ | 機能 |
|---|---|---|
| PostgreSQL | データベース | クエリ実行、スキーマ参照 |
| SQLite | データベース | ローカルDB操作 |
| Slack | コミュニケーション | メッセージ送受信、チャンネル管理 |
| GitHub | 開発 | Issue/PR管理、リポジトリ操作 |
| Google Drive | ストレージ | ファイル検索、アクセス |
| Google Maps | 位置情報 | 経路検索、プレイス情報 |
| Sentry | 監視 | エラー分析、Issue追跡 |
📌 最新サーバー一覧: MCP Registry で常に更新されています
4. 導入方法(ハンズオン)
4.1 Claude DesktopへのMCPサーバー設定
最も一般的なユースケースである「Claude Desktopでローカルファイルを操作できるようにする」手順を解説します。
前提条件:
- Claude Desktop(公式サイトからダウンロード)
- Node.js(LTS版推奨)
手順1: 設定ファイルを開く
- Claude Desktopを起動
- メニューバーから「Settings…」を選択
- 左サイドバーの「Developer」タブをクリック
- 「Edit Config」ボタンをクリック
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
手順2: 設定を追加
以下のJSONを設定ファイルに追加します:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/Desktop",
"/path/to/your/Documents"
]
}
}
}
⚠️ 重要: パスは絶対パスで指定してください。アクセスを許可するディレクトリのみを指定します。
手順3: Claude Desktopを再起動
設定を反映させるために、Claude Desktopを完全に終了してから再起動します。
手順4: 接続確認
- 画面右下の🔌アイコンをクリック
- 「filesystem」サーバーが「Connected」と表示されていれば成功
4.2 複数サーバーの設定例
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/path/to/project/my-app"]
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
4.3 環境変数の設定
APIキーなどが必要なサーバーの場合:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here"
}
}
}
}
5. ユースケース3選
5.1 開発ワークフローの自動化
シナリオ: ソフトウェアエンジニアが日々の開発作業を効率化
使用するMCPサーバー: Filesystem, Git, GitHub
具体的な活用例:
ユーザー: 「このプロジェクトのREADMEを更新して、先週のコミット内容を反映させて」
AIの実行フロー:
- Git サーバーで
git log --since="1 week ago"を実行 - コミットメッセージを分析して主要な変更点を抽出
- Filesystem サーバーで README.md を読み込み
- 変更履歴セクションを更新
- GitHub サーバーでプルリクエストを作成
効果: 手動でコミット履歴を確認・整理する作業が自動化され、ドキュメントの鮮度が向上
5.2 社内ツールとの連携
シナリオ: プロジェクトマネージャーが進捗管理を効率化
使用するMCPサーバー: Slack, Google Calendar, Notion(サードパーティ)
具体的な活用例:
ユーザー: 「来週のミーティングを確認して、関係者にSlackで事前資料の共有を依頼して」
AIの実行フロー:
- Google Calendar サーバーで来週のイベントを取得
- 各ミーティングの参加者を特定
- Notion サーバーで関連ドキュメントを検索
- Slack サーバーで各参加者にメッセージを送信
効果: 複数ツールを行き来する作業がなくなり、コミュニケーション漏れを防止
5.3 データ分析パイプライン
シナリオ: データアナリストがビジネスインサイトを迅速に取得
使用するMCPサーバー: PostgreSQL, Filesystem
具体的な活用例:
ユーザー: 「先月の売上データを分析して、上位10製品のレポートを作成して」
AIの実行フロー:
- PostgreSQL サーバーでスキーマを確認
- SQL クエリを生成・実行:
SELECT product_name, SUM(revenue) as total_revenue FROM sales WHERE sale_date >= '2026-02-01' AND sale_date < '2026-03-01' GROUP BY product_name ORDER BY total_revenue DESC LIMIT 10; - 結果を分析してインサイトを抽出
- Filesystem サーバーでレポート(Markdown/HTML)を生成
効果: SQLを書かずに自然言語でデータ分析が可能
6. セキュリティ注意点
MCPは強力な機能を提供する一方で、適切なセキュリティ対策が不可欠です。
6.1 信頼できるサーバーの見分け方
✅ 信頼できるサーバーの特徴:
公式リポジトリからの提供
github.com/modelcontextprotocol/servers(公式リファレンス)- ベンダー公式のGitHubリポジトリ
コミュニティでの評価
- GitHub Stars数が多い
- IssuesやPull Requestsが活発
- セキュリティポリシー(SECURITY.md)が存在
コードの透明性
- ソースコードが公開されている
- 依存関係が明確
❌ 注意が必要なサーバー:
- 個人リポジトリでメンテナンスされていない
- 不明なnpmパッケージとして配布されている
- 過剰な権限を要求する
6.2 権限管理のベストプラクティス
最小権限の原則:
// ❌ 危険: ルートディレクトリへのアクセス
{
"args": ["@modelcontextprotocol/server-filesystem", "/"]
}
// ✅ 安全: 必要なディレクトリのみ
{
"args": ["@modelcontextprotocol/server-filesystem", "/path/to/project/my-app"]
}
環境変数の管理:
// ✅ APIキーは設定ファイルに直接書かず、環境変数から読み込む
{
"env": {
"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}"
}
}
6.3 OAuth 2.0認証の活用
MCPは、リモートサーバーとの通信において OAuth 2.1 ベースの認証をサポートしています。
認証フロー:
- MCPサーバーが
401 Unauthorizedを返却 - クライアントが保護リソースメタデータを取得
- OAuth認可サーバーでユーザー認証
- アクセストークンを取得してリクエスト
推奨事項:
- リモートMCPサーバーでは常にOAuth認証を使用
- Bearer Tokenの有効期限を適切に設定
- スコープは必要最小限に制限
6.4 ログと監査
ログの確認方法(Claude Desktop):
# リアルタイムでログを監視
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
監視すべきイベント:
- サーバー接続/切断
- ツール実行(どのツールが、いつ、何の引数で)
- エラー発生
- 認証失敗
7. 注意点・限界
7.1 技術的な限界
| 項目 | 説明 |
|---|---|
| STDIOトランスポート | ローカルサーバーでは標準入出力を使用するため、サーバー側で print() を使用すると通信が破損する |
| 状態管理 | MCPは本質的にステートフル。セッション管理が必要 |
| 大規模データ | 大量のリソース転送には時間がかかる。ページネーションの実装を推奨 |
7.2 運用上の注意点
サーバーのライフサイクル:
- Claude Desktop起動時にサーバーが自動起動
- サーバーエラー時はログを確認
- 設定変更後はアプリケーションの再起動が必要
デバッグ方法:
- MCP Inspector(
npx @modelcontextprotocol/inspector)で個別テスト - Claude DesktopのDevToolsを有効化:
echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json Command-Option-Shift-iでDevToolsを開く
7.3 エコシステムの現状
- サーバー品質のばらつき: サードパーティサーバーは品質がまちまち
- ドキュメント不足: 一部のサーバーは設定方法が不明確
- 互換性: クライアントごとにサポート機能が異なる
8. まとめと次のステップ
MCPがもたらす価値
- 開発効率の向上: 1つのサーバーを開発すれば、すべてのMCP対応クライアントで利用可能
- ユーザー体験の向上: AIがユーザーのコンテキストを理解し、より適切な支援を提供
- エコシステムの活性化: 標準化により、統合機能の開発・共有が促進
初心者におすすめの最初のステップ
- Claude Desktopをインストール
- Filesystemサーバーを設定 — 自分のプロジェクトフォルダへのアクセスを許可
- 試してみる — 「このフォルダのコードを分析して」と頼んでみる
- Gitサーバーを追加 — リポジトリ操作を体験
- 独自サーバーの開発に挑戦 — 公式チュートリアルを参照
参考リソース
- 公式ドキュメント: https://modelcontextprotocol.io
- MCP仕様書: https://modelcontextprotocol.io/specification/latest
- サーバーレジストリ: https://registry.modelcontextprotocol.io
- GitHubリポジトリ: https://github.com/modelcontextprotocol
- MCP Inspector: https://github.com/modelcontextprotocol/inspector
MCPは、AIと私たちのデジタル環境を繋ぐ「共通言語」です。
この標準規格が普及することで、AIはより身近で、より役立つ存在になっていくでしょう。
まずは小さな一歩から。ローカルファイルへのアクセスから始めて、徐々に世界を広げていきましょう。
本記事はAnthropic公式ドキュメント(https://modelcontextprotocol.io)を参照して作成されています。
最終更新: 2026年3月7日


コメント