このガイドのゴール
- MCP(Model Context Protocol)とは何かを理解する
- AI エージェントにファイル操作・Web 検索・DB 接続・GitHub 操作の能力を持たせる
- セキュリティ境界を正しく設計し、本番環境での事故を防ぐ
MCP は Anthropic が策定したオープンプロトコルで、AI モデルが外部ツールと通信するための標準インターフェースです。Claude Desktop や Claude Code などの AI エージェントが、ローカルファイルの読み書き・Web 検索・データベースクエリなどを実行できるのは、MCP Server がその橋渡しをしているからです。
MCP の仕組み
MCP は クライアント-サーバモデル で動作します。AI エージェント(クライアント)が MCP Server にリクエストを送り、サーバが外部ツールを実行して結果を返します。
通信プロトコル
MCP は JSON-RPC 2.0 ベースで、以下の 2 種類のトランスポートに対応しています。
- stdio — ローカル実行。プロセス間の標準入出力で通信。Claude Desktop / Claude Code はこの方式
- HTTP + SSE — リモート実行。HTTP でリクエストを送り、Server-Sent Events でレスポンスを受信
各 MCP Server のセットアップ
MCP Filesystem: ファイル操作
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y", "@modelcontextprotocol/server-filesystem",
"/Users/you/projects",
"/Users/you/documents"
]
}
}
}
許可するディレクトリを引数で明示的に指定します。指定外のパスへのアクセスはサーバ側で拒否されます。
ファイルシステム全体へのアクセスを許可すると、AI が ~/.ssh/id_rsa や ~/.env などの機密ファイルを読み取るリスクがあります。必要最小限のディレクトリだけを指定してください。
MCP Brave Search: Web 検索
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
}
}
Brave Search API のキーは Brave の開発者ポータル から取得します。無料プランは月 2,000 クエリまで。
MCP PostgreSQL: DB 接続
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y", "@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost:5432/mydb"
]
}
}
}
MCP PostgreSQL はデフォルトで読み取り専用ですが、接続先の DB ユーザー権限に依存します。必ず READ ONLY 権限のユーザーで接続し、可能であればレプリカに接続してください。本番 DB への直接接続は、AI が意図しないクエリ(重い JOIN や全件スキャン)を実行してパフォーマンスに影響を与えるリスクがあります。
MCP GitHub: リポジトリ操作
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}
}
}
GitHub Personal Access Token のスコープは最小限にしてください。Issue の読み書きだけなら repo スコープ全体ではなく issues:write だけで十分です。
セキュリティの設計原則
MCP は AI に「行動する能力」を与えるため、セキュリティ設計が特に重要です。
最小権限の原則
| サーバ | 推奨設定 |
|---|---|
| Filesystem | 作業ディレクトリのみ許可。ホームディレクトリ全体は許可しない |
| Brave Search | API キーのレート制限を設定 |
| PostgreSQL | READ ONLY ユーザーで接続。レプリカ推奨 |
| GitHub | 必要最小限の Token スコープ |
ヒューマン・イン・ザ・ループ
Claude Desktop ではツール呼び出し前にユーザーの承認を求めるダイアログが表示されます。この仕組みを無効化しないでください。特にファイルの書き込みや DB への書き込みは、必ず人間の確認を経るべきです。
MCP の設定(claude_desktop_config.json)はプロジェクトの .claude/ ディレクトリに置き、Git で管理することを推奨します。チームメンバー間で同じツール構成を共有でき、API キーは環境変数から読み込む形にすれば機密情報のコミットも防げます。
実践パターン
パターン 1: コードレビュー自動化
GitHub MCP + Filesystem MCP を組み合わせて、PR の diff を読み取り → ローカルでコードを確認 → レビューコメントを投稿、という流れを AI に任せる。
パターン 2: データ分析アシスタント
PostgreSQL MCP + Brave Search MCP を組み合わせて、DB のデータを分析しつつ、不明な用語や最新情報を Web 検索で補完する。
パターン 3: ドキュメント生成
Filesystem MCP でソースコードを読み取り → コードの構造を分析 → README やAPI ドキュメントを自動生成してファイルに書き出す。
まとめ
- MCP は AI エージェントに 外部ツールへのアクセス能力 を付与するオープンプロトコル
- 設定は JSON ファイルに サーバごとのコマンドと引数 を記述するだけで導入可能
- セキュリティは 最小権限 + ヒューマン・イン・ザ・ループ で設計する
- ファイルシステムは 作業ディレクトリのみ許可、DB は 読み取り専用ユーザー で接続
- 複数の MCP Server を 組み合わせる ことで、AI エージェントの活用幅が広がる
この記事の情報は 2026 年 4 月時点のものです。MCP の仕様は進化中であり、対応サーバやプロトコルの詳細は公式リポジトリで最新状況を確認してください。