MCP サーバー連携
Model Context Protocol(MCP)は、Claude Code を外部のツールやサービスと接続するための標準プロトコルです。MCP を使うと、Claude Code から直接 GitHub の Issue を操作したり、データベースにクエリを投げたり、Sentry のエラーを確認したりできるようになります。いわば「Claude Code にプラグインを追加する」ようなイメージです。
MCP の仕組み
Claude Code
←→
MCP プロトコル
←→
外部サービス
ホバーして各要素の詳細を確認
設定方法
MCP サーバーの設定は、settings.json の mcpServers セクション、または専用の .mcp.json ファイルに記述します。
ローカルコマンドサーバー(stdio)
ローカルでプロセスを起動し、標準入出力で通信する方式です。最も一般的な接続方法です。
json
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@mcp-servers/sentry"],
"env": {
"SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}"
}
}
}
}リモート HTTP サーバー
リモートの HTTP エンドポイントに接続する方式です。SaaS が提供する MCP エンドポイントを利用する場合に使います。
json
{
"mcpServers": {
"github": {
"url": "https://api.github.com/mcp",
"auth": {
"type": "bearer",
"token": "${GITHUB_TOKEN}"
}
}
}
}設定ファイルの場所
MCP の設定も通常の設定と同様に、スコープに応じた配置が可能です。
| 配置場所 | ファイル | スコープ |
|---|---|---|
| ローカル(gitignored) | .claude/.mcp.json | このプロジェクト・自分のみ |
| プロジェクト(共有) | .mcp.json | プロジェクト全体・チーム共有 |
| ユーザー | ~/.claude/mcp.json | すべてのプロジェクト |
設定オプション
| オプション | 説明 |
|---|---|
command | 起動するコマンド(例: npx, node) |
args | コマンドに渡す引数の配列 |
env | 環境変数。${VAR} 形式で既存の環境変数を参照可能 |
url | リモート HTTP/SSE サーバーの URL |
auth | 認証設定(bearer トークンなど) |
timeout | タイムアウト時間(秒) |
MCP ツールの権限管理
MCP 経由のツールにも、通常のツールと同じ権限ルールを適用できます。ツール名は mcp__サーバー名__ツール名 の形式です。
json
{
"permissions": {
"allow": [
"mcp__github__*",
"mcp__sentry__get_issues"
],
"deny": [
"mcp__github__delete_repo"
]
}
}CLI での管理
bash
# MCP サーバーの設定を対話的に管理
claude mcp
# 設定ファイルを指定して起動
claude --mcp-config path/to/mcp.jsonセキュリティのヒント
env フィールドでは ${VAR_NAME} 形式で環境変数を参照できます。API キーなどの機密情報を設定ファイルに直接記述する必要がなく、安全に管理できます。