メインコンテンツへスキップ
注目 MCP Tools Integration Configuration

MCP (Model Context Protocol): 完全ガイド

Claude Code の MCP システムをマスターしましょう。公式 Model Context Protocol を通じて、外部ツール、データベース、サービスと連携し、Claude の機能を拡張する方法を学びます。

2026年1月10日 18 分で読める 著者:ClaudeWorld

MCP (Model Context Protocol) は、外部ツール、データベース、サービスに接続することで Claude の機能を拡張する Claude Code のプラグインシステムです。このガイドでは、MCP を効果的に活用するために必要な知識をすべて解説します。

MCP とは?

公式 Anthropic ドキュメントによると、MCP は AI アシスタントに以下の機能を提供する標準化されたプロトコルです:

  • 外部データソースへのアクセス(データベース、API、ファイルシステム)
  • 特殊なツールの実行(Git、パッケージマネージャー、クラウドサービス)
  • 永続的なコンテキストの維持(メモリ、ナレッジグラフ)
  • 開発ツールとの統合(IDE、CI/CD、プロジェクト管理)

MCP サーバーは、Claude に基本機能を超えた新しい能力を与えるプラグインと考えてください。

MCP アーキテクチャ

┌─────────────────────────────────────────────────────────┐
│                    Claude Code CLI                       │
│  ┌─────────────────────────────────────────────────┐    │
│  │                 MCP Client                       │    │
│  │  Manages connections to MCP servers             │    │
│  └─────────────────────────────────────────────────┘    │
│            │              │              │               │
│            ▼              ▼              ▼               │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐     │
│  │ MCP Server 1 │ │ MCP Server 2 │ │ MCP Server 3 │     │
│  │ (filesystem) │ │   (memory)   │ │    (git)     │     │
│  └──────────────┘ └──────────────┘ └──────────────┘     │
│            │              │              │               │
│            ▼              ▼              ▼               │
│      Local Files    Knowledge     Git Repository        │
│                      Graph                               │
└─────────────────────────────────────────────────────────┘

MCP サーバーの追加

公式 CLI メソッド(推奨)

Claude Code ドキュメントによると、常に CLI を使用してください:

# Basic syntax
claude mcp add [--scope <scope>] <name> [options] -- <command>

# Scopes:
# --scope user     → ~/.claude/settings.json (all projects)
# --scope project  → .claude/settings.json (this project)

よく使用される MCP サーバー

1. ファイルシステムアクセス

claude mcp add --scope project filesystem \
  -- npx -y @modelcontextprotocol/server-filesystem .

機能:

  • ファイルの読み書き
  • ディレクトリの作成
  • ディレクトリ内容の一覧表示
  • ファイル検索とパターンマッチング

2. Memory(ナレッジグラフ)

# IMPORTANT: Always use MEMORY_FILE_PATH for project isolation
claude mcp add --scope project memory \
  -e MEMORY_FILE_PATH=./.claude/memory.json \
  -- npx -y @modelcontextprotocol/server-memory

機能:

  • 永続的な知識の保存
  • エンティティと関係の追跡
  • セッションをまたいだメモリ
  • セマンティック検索

⚠️ 重要: MEMORY_FILE_PATH を設定しないと、すべてのプロジェクトが同じメモリを共有します!

3. Git 操作

claude mcp add --scope project git \
  -- npx -y @modelcontextprotocol/server-git

機能:

  • Git status、log、diff
  • ブランチ操作
  • コミット履歴
  • File blame

4. GitHub 統合

claude mcp add --scope user github \
  -e GITHUB_TOKEN=<your-token> \
  -- npx -y @modelcontextprotocol/server-github

機能:

  • Issue と PR
  • リポジトリ管理
  • コード検索
  • Actions ワークフロー

5. Sequential Thinking

claude mcp add --scope user sequential-thinking \
  -- npx -y @modelcontextprotocol/server-sequential-thinking

機能:

  • 構造化された推論
  • マルチステップ分析
  • 複雑な問題の分解

6. Context7(ライブドキュメント)

claude mcp add --scope user context7 \
  -- npx -y context7-mcp

機能:

  • リアルタイムの公式ドキュメント
  • 最新のライブラリリファレンス
  • フレームワークガイダンス

データベース MCP サーバー

PostgreSQL

claude mcp add --scope project postgres \
  -e DATABASE_URL="postgresql://user:pass@localhost:5432/db" \
  -- npx -y @modelcontextprotocol/server-postgres

機能:

  • クエリ実行
  • スキーマ検査
  • テーブル操作
  • マイグレーションサポート

SQLite

claude mcp add --scope project sqlite \
  -e DATABASE_PATH="./data/app.db" \
  -- npx -y @modelcontextprotocol/server-sqlite

MongoDB

claude mcp add --scope project mongodb \
  -e MONGODB_URI="mongodb://localhost:27017/db" \
  -- npx -y @modelcontextprotocol/server-mongodb

クラウドサービス MCP サーバー

AWS

claude mcp add --scope user aws \
  -e AWS_ACCESS_KEY_ID=<key> \
  -e AWS_SECRET_ACCESS_KEY=<secret> \
  -e AWS_REGION=us-east-1 \
  -- npx -y @modelcontextprotocol/server-aws

Cloudflare

claude mcp add --scope user cloudflare \
  -e CLOUDFLARE_API_TOKEN=<token> \
  -- npx -y @anthropic/cloudflare-mcp

Vercel

claude mcp add --scope user vercel \
  -e VERCEL_TOKEN=<token> \
  -- npx -y vercel-mcp

MCP 設定ファイル

プロジェクト設定(.claude/settings.json)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {
        "MEMORY_FILE_PATH": "./.claude/memory.json"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    }
  },
  "enableAllProjectMcpServers": true
}

ユーザー設定(~/.claude/settings.json)

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    }
  }
}

MCP スコープと階層

MCP サーバーは Claude Code の 4 層階層に従います:

┌─────────────────────────────────────────────┐
│  Layer 1: Enterprise                         │
│  Location: /etc/claude-code/settings.json    │
│  Control: IT department                      │
│  Use: Restrict MCP servers via allowlist     │
├─────────────────────────────────────────────┤
│  Layer 2: User Global                        │
│  Location: ~/.claude/settings.json           │
│  Use: Personal MCP servers (github, etc.)    │
├─────────────────────────────────────────────┤
│  Layer 3: Project                            │
│  Location: .claude/settings.json             │
│  Use: Project-specific servers (db, memory)  │
├─────────────────────────────────────────────┤
│  Layer 4: Project Local                      │
│  Location: .claude/settings.local.json       │
│  Use: Personal overrides (gitignored)        │
└─────────────────────────────────────────────┘

優先順位: Local > Project > User > Enterprise

MCP コンテキストコスト

各 MCP サーバーはコンテキストトークンを消費します。コストに注意してください:

MCP サーバー概算トークン数推奨
hubspot~1,800✅ 小さい、推奨
netlify~2,000✅ 小さい、推奨
figma~2,500✅ 許容範囲
notion最適化済み✅ 公式最適化
vercel~3,000✅ 許容範囲
stripe~4,000⚠️ 中程度
linear~6,200⚠️ 大きい
atlassian~7,100⚠️ 大きい
asana~12,800❌ 大きすぎる
sentry~14,000❌ 大きすぎる、控えめに使用

ベストプラクティス: 実際に使用する MCP サーバーのみを有効にしてください。サーバーが多いほど = コンテキストが多い = コストが高く、レスポンスが遅くなります。

MCP 管理コマンド

# List all MCP servers
claude mcp list

# Add a new server
claude mcp add --scope project <name> -- <command>

# Remove a server
claude mcp remove --scope project <name>

# Check server status
claude mcp status

# Reset project MCP choices (troubleshooting)
claude mcp reset-project-choices

MCP の実践的な使用例

例 1: データベースクエリ

postgres MCP が有効な場合:

ユーザー: "過去7日間にサインアップしたユーザーを表示して"

Claude: [postgres MCP を使用]
  → クエリ: SELECT * FROM users WHERE created_at > NOW() - INTERVAL '7 days'
  → フォーマットされた結果を返す
  → クエリが遅い場合はインデックスを提案

例 2: ナレッジの永続化

memory MCP が有効な場合:

ユーザー: "すべての API バリデーションに Zod を使用することを覚えておいて"

Claude: [memory MCP を使用]
  → エンティティを作成: "API Validation"
  → 観察を追加: "Use Zod for all API validation"
  → 将来のセッションでも利用可能

例 3: GitHub 統合

github MCP が有効な場合:

ユーザー: "議論したログインバグの Issue を作成して"

Claude: [github MCP を使用]
  → タイトル、本文、ラベル付きで Issue を作成
  → 関連するコードにリンク
  → 指定された場合はチームメンバーにアサイン

Memory MCP 詳細解説

Memory MCP は永続的なプロジェクト知識を可能にするため、特別な注意が必要です。

Memory コマンド

# Built-in skills for memory management
/memory-save    # Save important knowledge
/memory-search  # Search saved knowledge
/memory-list    # List all entities
/memory-audit   # Check memory health

Memory 構造

{
  "entities": [
    {
      "name": "Authentication System",
      "type": "Architecture",
      "observations": [
        "Uses JWT with 24-hour expiration",
        "Refresh tokens stored in httpOnly cookies",
        "Located in src/lib/auth.ts"
      ]
    },
    {
      "name": "Database Schema",
      "type": "Infrastructure",
      "observations": [
        "PostgreSQL with Prisma ORM",
        "Users table has email_verified column",
        "Soft deletes using deleted_at"
      ]
    }
  ],
  "relations": [
    {
      "from": "Authentication System",
      "to": "Database Schema",
      "type": "uses"
    }
  ]
}

Memory のベストプラクティス

## 保存すべきもの
✅ アーキテクチャの決定とその理由
✅ コードパターンと規約
✅ バグ修正とその根本原因
✅ 重要な設定の詳細
✅ チームの決定と制約

## 保存すべきでないもの
❌ 一時的なデバッグ情報
❌ 一度きりの実装詳細
❌ CLAUDE.md に既にある情報
❌ 頻繁に変更されるデータ

MCP のトラブルシューティング

サーバーが読み込まれない

# Check if server is registered
claude mcp list

# Verify settings file
cat .claude/settings.json

# Reset and re-add
claude mcp reset-project-choices
claude mcp add --scope project <name> -- <command>

権限の問題

プロジェクト設定で enableAllProjectMcpServers: true を確認してください:

{
  "enableAllProjectMcpServers": true,
  "mcpServers": { ... }
}

環境変数の問題

環境変数には ${VAR_NAME} 構文を使用してください:

{
  "env": {
    "DATABASE_URL": "${DATABASE_URL}"
  }
}

または -e フラグで直接指定します:

claude mcp add --scope project postgres \
  -e DATABASE_URL="postgresql://..." \
  -- npx -y @modelcontextprotocol/server-postgres

エンタープライズ MCP 管理

エンタープライズ環境では、allowlist を使用して使用可能な MCP サーバーを制御します:

// /etc/claude-code/settings.json
{
  "mcpServers": {
    "allowlist": [
      "filesystem",
      "memory",
      "git"
    ]
  }
}

これにより、ユーザーが許可されていない MCP サーバーを追加することを防ぎます。

カスタム MCP サーバーの作成

特殊なニーズに対応するためにカスタム MCP サーバーを作成できます。プロトコル仕様は modelcontextprotocol.io にあります。

基本構造

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server(
  { name: 'my-custom-mcp', version: '1.0.0' },
  { capabilities: { tools: {} } }
);

server.setRequestHandler('tools/list', async () => ({
  tools: [
    {
      name: 'my_tool',
      description: 'Does something useful',
      inputSchema: {
        type: 'object',
        properties: {
          input: { type: 'string' }
        }
      }
    }
  ]
}));

server.setRequestHandler('tools/call', async (request) => {
  // Handle tool calls
});

const transport = new StdioServerTransport();
await server.connect(transport);

MCP と他のツールの比較

機能MCPビルトインツールHooks
外部データアクセス✅ 主目的❌ 限定的❌ なし
永続ストレージ✅ Memory MCP❌ セッションのみ❌ なし
カスタム統合✅ 拡張可能❌ 固定✅ コマンド経由
コンテキストコスト可変含まれる最小限
セットアップ複雑度中程度なし低い

MCP を始めよう

今日:

  1. プロジェクトに filesystem と memory MCP を追加
  2. プロジェクト分離のために MEMORY_FILE_PATH を使用
  3. 重要な決定を 1 つメモリに保存

今週:

  1. 該当する場合はデータベース MCP を追加
  2. Issue トラッキングのために GitHub MCP を設定
  3. memory コマンド(/memory-*)を探索

今月:

  1. コンテキスト効率のために MCP 選択を最適化
  2. プロジェクト固有の MCP 設定を作成
  3. 特殊なニーズにはカスタム MCP を検討

MCP は Claude Code をスタンドアロンのアシスタントから統合開発プラットフォームへと変革します。サーバーを賢く選択し、Claude の完全な可能性を解放しましょう。

出典: Model Context ProtocolClaude Code DocumentationMCP Servers Repository