キーワードを入力して検索

🔌

MCPサーバー完全ガイド【Claude Code拡張の決定版】

みさき Python みさき Python 896 views

MCPとは(Model Context Protocol)

MCP(Model Context Protocol)は、Claude Codeに外部ツールやサービスを接続するための標準プロトコルです。MCPを使うことで、Claude CodeがGitHub、Slack、データベース、ブラウザなど、様々な外部システムと連携できるようになります。

MCPで何ができるようになるか

MCPサーバーを追加することで、Claude Codeの能力が大幅に拡張されます。

| カテゴリ | できること | 例 |
|----------|------------|-----|
| バージョン管理 | GitHub/GitLabの操作 | PRの作成、Issue管理 |
| コミュニケーション | チャットツール連携 | Slackへの通知、メッセージ送信 |
| データベース | DB直接操作 | クエリ実行、スキーマ確認 |
| ブラウザ | Web操作 | スクレイピング、自動テスト |
| ファイル | 高度なファイル操作 | 画像処理、PDF操作 |
| API | 外部サービス連携 | Notion、Jira、Figmaなど |

MCPの仕組み

MCPはクライアント-サーバーモデルで動作します。

Claude Code(クライアント)
    ↓ MCPプロトコル
MCPサーバー(GitHub, Slack, etc.)
    ↓ 各サービスのAPI
外部サービス

Claude Codeが「GitHubにPRを作成して」と指示を受けると:

  • Claude CodeがMCPプロトコルでGitHub MCPサーバーに依頼
  • MCPサーバーがGitHub APIを呼び出してPRを作成
  • 結果がClaude Codeに返され、ユーザーに報告

人気のMCPサーバー一覧

公式MCPサーバー

Anthropicおよびコミュニティが提供する主要なMCPサーバーです。

| サーバー名 | 用途 | 提供元 |
|------------|------|--------|
| filesystem | ファイル操作 | 公式 |
| github | GitHub操作 | 公式 |
| gitlab | GitLab操作 | 公式 |
| slack | Slack連携 | 公式 |
| postgres | PostgreSQL | 公式 |
| sqlite | SQLite | 公式 |
| puppeteer | ブラウザ操作 | 公式 |
| playwright | ブラウザ自動化 | コミュニティ |

filesystem(ファイル操作)

ローカルファイルの読み書きを行います。Claude Code標準のファイル操作より高度な操作が可能です。

# インストール
claude mcp add filesystem -s user -- \
  npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dir

できること:

  • 特定ディレクトリへのアクセス制限
  • 大量ファイルの一括操作
  • バイナリファイルの操作

github(GitHub操作)

GitHubのリポジトリ、Issue、Pull Requestを操作します。

# インストール
claude mcp add github -s user \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxx \
  -- npx -y @modelcontextprotocol/server-github

できること:

  • PRの作成・レビュー・マージ
  • Issueの作成・クローズ
  • ブランチの作成・削除
  • コードの検索

Personal Access Tokenの作成方法:

  • GitHubにログイン
  • Settings → Developer settings → Personal access tokens → Tokens (classic)
  • Generate new token → 必要なスコープを選択(repo, read:org推奨)

slack(Slack連携)

Slackへのメッセージ送信やチャンネル管理を行います。

# インストール
claude mcp add slack -s user \
  -e SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxx \
  -- npx -y @modelcontextprotocol/server-slack

できること:

  • チャンネルへのメッセージ送信
  • DM送信
  • チャンネル一覧の取得
  • メッセージの検索

Slack Bot Tokenの取得方法:

  • Slack APIにアクセス
  • Create New App → From scratch
  • OAuth & Permissions → Bot Token Scopes で必要な権限を追加
  • Install to Workspace → Bot User OAuth Token をコピー

postgres / sqlite(データベース)

データベースへの直接アクセスを提供します。

# PostgreSQL
claude mcp add postgres -s user \
  -e DATABASE_URL=postgresql://user:pass@localhost:5432/dbname \
  -- npx -y @modelcontextprotocol/server-postgres

# SQLite
claude mcp add sqlite -s user \
  -- npx -y @modelcontextprotocol/server-sqlite /path/to/database.db

できること:

  • SQLクエリの実行
  • テーブル構造の確認
  • データの取得・更新

注意: 本番データベースへの接続は慎重に。READ ONLYユーザーの使用を推奨。

playwright(ブラウザ自動化)

Playwrightを使ったブラウザ操作を行います。

# インストール
claude mcp add playwright -s user \
  -- npx -y @anthropic/mcp-server-playwright

できること:

  • Webページのスクレイピング
  • フォームの自動入力
  • スクリーンショットの取得
  • E2Eテストの実行

MCPサーバーのインストール方法

基本構文

claude mcp add <サーバー名> [オプション] -- <コマンド>

スコープオプション

MCPサーバーはスコープを指定してインストールします。

| オプション | 説明 | 設定ファイル |
|------------|------|--------------|
| -s local | 現在のプロジェクトのみ | .mcp.json |
| -s project | プロジェクト共有 | .mcp.json(Git管理) |
| -s user | 全プロジェクトで利用 | ~/.claude/mcp.json |

使い分けの目安:

  • -s local: プロジェクト固有の設定(個人用)
  • -s project: チームで共有したい設定
  • -s user: どのプロジェクトでも使うツール(GitHub, Slackなど)

環境変数の設定

APIキーなどは-eオプションで環境変数として渡します。

claude mcp add github -s user \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxx \
  -e GITHUB_ENTERPRISE_URL=https://github.mycompany.com \
  -- npx -y @modelcontextprotocol/server-github

設定ファイルの直接編集

~/.claude/mcp.jsonを直接編集することも可能です。

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
      }
    }
  }
}

MCPサーバーの管理コマンド

一覧表示

# インストール済みサーバーを一覧表示
claude mcp list

詳細確認

# 特定サーバーの詳細を確認
claude mcp get github

削除

# サーバーを削除
claude mcp remove github

セッション内での確認

Claude Code起動中に、利用可能なMCPツールを確認できます。

/mcp

MCPサーバーの自作

既存のMCPサーバーで要件を満たせない場合、自作することも可能です。

最小構成のMCPサーバー(Node.js)

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

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

// ツールを定義
server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "hello",
    description: "挨拶を返す",
    inputSchema: {
      type: "object",
      properties: {
        name: { type: "string", description: "名前" }
      },
      required: ["name"]
    }
  }]
}));

// ツールの実行
server.setRequestHandler("tools/call", async (request) => {
  if (request.params.name === "hello") {
    const name = request.params.arguments.name;
    return {
      content: [{ type: "text", text: `こんにちは、${name}さん!` }]
    };
  }
});

// サーバー起動
const transport = new StdioServerTransport();
await server.connect(transport);

インストール

claude mcp add my-server -s local -- node /path/to/server.js

トラブルシューティング

MCPサーバーが動作しない

# サーバーの状態を確認
claude mcp list

# ログを確認
claude --mcp-debug

「Tool not found」エラー

MCPサーバーが正しく起動していない可能性があります。

# サーバーを再インストール
claude mcp remove github
claude mcp add github -s user \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxx \
  -- npx -y @modelcontextprotocol/server-github

環境変数が読み込まれない

環境変数は-eオプションで明示的に渡す必要があります。シェルの環境変数は自動では引き継がれません。

パフォーマンスの問題

MCPサーバーが多すぎると、起動時にすべて読み込まれるためパフォーマンスが低下します。

対策:

  • 不要なサーバーは削除する
  • ENABLE_TOOL_SEARCH=trueを設定して動的検索モードにする
export ENABLE_TOOL_SEARCH=true
claude

セキュリティ上の注意点

APIキーの管理

  • APIキーをコードや設定ファイルに直接書かない(環境変数を使う)
  • 定期的にキーをローテーションする
  • 必要最小限の権限だけを付与する

データベース接続

  • 本番DBには接続しない(READ ONLYユーザーを使う)
  • 機密データが含まれるテーブルへのアクセスを制限する

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

  • filesystemサーバーには必要なディレクトリのみ許可する
  • ホームディレクトリ全体を許可しない

まとめ

MCPを活用することで、Claude Codeの能力を大幅に拡張できます。

MCPサーバー導入のチェックリスト

  • [ ] 必要なMCPサーバーを特定
  • [ ] APIキー・トークンを取得
  • [ ] 適切なスコープ(local/project/user)を選択
  • [ ] インストールコマンドを実行
  • [ ] 動作確認(/mcpコマンド)
  • [ ] セキュリティ設定の確認

おすすめの導入順序

  • GitHub: PRやIssueの操作に便利
  • PostgreSQL/SQLite: データベース操作が必要なら
  • Slack: チーム通知に便利
  • Playwright: Web操作・テストが必要なら

関連記事

  • [Claude Codeとは?使い方・始め方・料金を徹底解説](/posts/what-is-claude-code/)
  • [Claude Codeの始め方【インストールから初回実行まで】](/posts/getting-started/)
  • [CLAUDE.mdの書き方完全ガイド](/posts/claude-md-guide/)
  • [Claude Codeの料金プラン徹底比較](/posts/pricing-guide/)

Discussion

0
または

8文字以上で入力してください

または

パスワードをリセット

登録したメールアドレスを入力してください。パスワードリセット用のリンクをお送りします。