MCP(Model Context Protocol)入門 — AIエージェントの「手足」を理解する【2026年版】
MCP(Model Context Protocol)とは何か、なぜ重要なのかを基礎から解説。仕組み、設定手順、Claude CodeでのMCP活用例まで、初中級エンジニア向けにわかりやすく紹介します。
MCPとは? AIに「外部ツールを使う力」を与えるプロトコル
AIコーディングツールを使っていて「ファイルを読めない」「DBに接続できない」「ブラウザで検索できない」と感じたことはありませんか? MCP(Model Context Protocol)は、まさにその壁を取り払うために生まれたオープンプロトコルです。
MCP は Anthropic が2024年末に発表したオープン標準で、AIモデルと外部ツール・データソースを安全に接続するための仕組みです。筆者自身、MCPを導入してから開発ワークフローが劇的に変わりました。「AIに調べさせて、結果をコピペして…」という作業がほぼゼロになったのは大きいです。従来、AIアシスタントが外部のリソースにアクセスするには、ツールごとにカスタムの統合コードを書く必要がありました。MCPはその接続部分を標準化し、「USBポート」のように統一されたインターフェースを提供します。
MCPが解決する課題
- ツール統合のコスト: APIごとに個別実装していたものを、共通プロトコルで統一
- セキュリティ: AIが外部ツールを使う際の権限管理と承認フローを標準化
- 再利用性: 一度作ったMCPサーバーは、対応するどのAIクライアントからでも利用可能
- エコシステム: コミュニティで共有されたサーバーをすぐに使い始められる
MCPの基本アーキテクチャ
MCPは クライアント-サーバーモデル を採用しています。全体像を把握しておくと、設定やトラブルシューティングが格段にスムーズになります。
3つの登場人物
| コンポーネント | 役割 | 具体例 |
|---|---|---|
| MCPホスト | ユーザーが操作するアプリケーション | Claude Code, Claude Desktop, Cursor |
| MCPクライアント | ホスト内でサーバーとの通信を管理 | ホストに内蔵(通常は意識しない) |
| MCPサーバー | 特定のツールやデータソースを提供 | ファイルシステム、GitHub、PostgreSQL など |
通信の流れ
ユーザーの指示
↓
MCPホスト(Claude Code など)
↓
MCPクライアント(プロトコル処理)
↓ JSON-RPC 2.0
MCPサーバー(ツール提供)
↓
外部リソース(ファイル、DB、API...)
MCPサーバーは ローカルプロセス(stdio通信)として動作するものと、リモートサーバー(HTTP + SSE通信)として動作するものがあります。ローカルのほうがセットアップが簡単で、初めての方にはおすすめです。どんなサーバーがあるかはMCPサーバーおすすめ一覧で用途別に紹介しています。
MCPサーバーが提供する3つの機能
MCPサーバーは、以下の3種類の機能をAIに公開できます。
1. ツール(Tools)
AIが「アクション」を実行するための機能です。ファイルの読み書き、API呼び出し、コマンド実行などが該当します。
{
"name": "read_file",
"description": "指定されたパスのファイルを読み取る",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string" }
}
}
}
ツールの実行にはユーザーの 明示的な承認 が必要です。AIが勝手にファイルを削除する、といったことは起きません。
2. リソース(Resources)
AIが「読み取り専用」でアクセスできるデータです。設定ファイル、ドキュメント、DBのスキーマ情報などが該当します。
3. プロンプト(Prompts)
MCPサーバーが提供するテンプレート化されたプロンプトです。特定のタスクに最適化された指示テンプレートをサーバー側で定義できます。
MCPを体験してみよう — 最速セットアップ
まずはもっともシンプルな方法で、MCPを動かしてみましょう。ここでは Claude Code を使った手順を紹介します。
前提条件
- Node.js 18以上がインストール済み
- Claude Code がインストール済み(
npm install -g @anthropic-ai/claude-code) - Claude Pro または Max プランに加入済み
ステップ1: MCPサーバーを追加する
Claude Code には claude mcp add コマンドが用意されています。試しに ファイルシステムサーバー を追加してみましょう。
# ファイルシステムMCPサーバーを追加
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
このコマンドにより、Claude Code の設定ファイル(~/.claude.json または プロジェクトの .mcp.json)にサーバー情報が書き込まれます。
ステップ2: サーバーの動作を確認する
# 登録済みのMCPサーバー一覧を表示
claude mcp list
正常に登録されていれば、filesystem サーバーが一覧に表示されます。
ステップ3: Claude Codeから使ってみる
# プロジェクトディレクトリでClaude Codeを起動
claude
# Claude Code内で指示を出す
> /path/to/allowed/directory にあるファイル一覧を教えて
Claude Code がMCPサーバー経由でファイルシステムにアクセスし、一覧を返してくれます。初回はツール実行の承認を求められるので、内容を確認して許可してください。
実践: よく使うMCPサーバーの設定例
GitHub連携
# GitHub MCPサーバーを追加
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# 環境変数でトークンを設定
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxxx
これにより、Claude Code から以下のような操作が可能になります。
- リポジトリの検索・閲覧
- Issueの作成・更新
- PRの内容確認
Web検索連携
# Brave Search MCPサーバーを追加
claude mcp add brave-search -- npx -y @modelcontextprotocol/server-brave-search
# APIキーを環境変数に設定
export BRAVE_API_KEY=your_api_key_here
Web検索をAIに使わせることで、最新のドキュメントやエラーメッセージの解決策を自動で調べてくれるようになります。
メモリ(永続記憶)
# Memory MCPサーバーを追加
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory
会話をまたいで情報を記憶させたい場合に便利です。プロジェクトのコンテキストや意思決定の経緯を保存できます。
MCPの設定ファイルを理解する
Claude Code でMCPサーバーを追加すると、設定は JSON ファイルに保存されます。設定ファイルの場所と構造を把握しておくと、手動での編集やチーム共有がスムーズです。
プロジェクトスコープ(.mcp.json)
プロジェクトルートに配置する設定ファイルです。チームで共有するサーバーはここに定義します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./src"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}
ユーザースコープ(~/.claude.json)
個人のグローバル設定です。すべてのプロジェクトで使いたいサーバーはここに定義します。
# ユーザースコープにサーバーを追加(-s user オプション)
claude mcp add -s user memory -- npx -y @modelcontextprotocol/server-memory
MCPのセキュリティモデル
MCPは外部ツールへのアクセスを伴うため、セキュリティ設計が重要です。以下のポイントを理解しておきましょう。
ツール実行の承認フロー
- AIがツールの実行を提案する
- ユーザーに承認を求める(ツール名、引数が表示される)
- ユーザーが許可した場合のみ実行される
- 結果がAIに返される
権限の最小化
MCPサーバーには 必要最小限のアクセス権 だけを与えるのがベストプラクティスです。
# 良い例: 特定のディレクトリだけを許可
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ./src
# 避けるべき例: ルートディレクトリ全体を許可
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /
信頼できるサーバーのみを使う
MCPサーバーは任意のコードを実行できるため、公式リポジトリやコミュニティで信頼されたサーバー のみを使用してください。npmパッケージのダウンロード数やGitHubのスター数を確認するのも有効です。
MCPが変えるAI開発ワークフロー
MCPの導入によって、AI開発のワークフローは大きく変わります。
Before: MCP導入前
- AIに質問する
- 回答をコピーする
- 手動でファイルを編集する
- 手動でgit操作する
- 手動でデプロイする
After: MCP導入後
- AIに指示する
- AIがファイルを読み、編集し、gitにコミットし、テストを実行する
- ユーザーは結果を確認して承認するだけ
特に Claude Code + MCP の組み合わせは強力で、ターミナルから離れることなく、外部サービスとの連携まで含めた複雑なタスクを処理できます。
トラブルシューティング
MCPサーバーの設定でつまずきやすいポイントをまとめます。
サーバーが起動しない
# サーバーの状態を確認
claude mcp list
# サーバーを再起動
claude mcp reset
npx のキャッシュが古い場合は、パッケージを明示的にインストールしてみてください。
npm install -g @modelcontextprotocol/server-filesystem
環境変数が読み込まれない
MCPサーバーに渡す環境変数は、設定ファイルの env フィールドか、シェルの環境変数として設定する必要があります。.env ファイルは自動で読み込まれないので注意してください。
ツールが表示されない
サーバーは起動しているのにツールが見つからない場合、サーバーのバージョンが古い可能性があります。
# パッケージを最新に更新
npx -y @modelcontextprotocol/server-filesystem@latest /path/to/directory
まとめ
MCP(Model Context Protocol)は、AIモデルと外部ツールをつなぐオープン標準です。
- 標準化されたプロトコル により、ツール統合のコストが大幅に下がる
- クライアント-サーバーモデル で、セキュリティと拡張性を両立
- Claude Code との組み合わせで、ターミナルからAIにあらゆる外部操作を任せられる
- エコシステム が急成長中で、すぐに使えるサーバーが豊富
まずは1つのMCPサーバーを追加して、AIの「手足」が広がる体験をしてみてください。MCPの具体的な業務活用パターンはMCP実践活用ガイドで、Claude CodeでのMCP設定はClaude Code MCP設定ガイドで詳しく解説しています。