Ad Space (horizontal)
Advanced

Claude Code MCPサーバーの設定と活用法

Claude CodeのMCPサーバー機能を解説。外部ツールとの連携方法、設定手順、実用的なMCPサーバーの活用例を具体的に紹介します。

MCPとは

MCP(Model Context Protocol)は、AIアシスタントと外部ツール・データソースを接続するためのオープンプロトコルです。Claude CodeはMCPクライアントとして動作し、MCPサーバーを通じてデータベース、API、各種サービスと連携できます。

MCPサーバーの設定方法

MCPサーバーの設定は .claude/settings.json または ~/.claude/settings.json に記述します。

{
  "mcpServers": {
    "server-name": {
      "command": "実行コマンド",
      "args": ["引数1", "引数2"],
      "env": {
        "ENV_VAR": "value"
      }
    }
  }
}

CLIから追加することも可能です。

claude mcp add server-name -- command arg1 arg2

実用例1:データベース連携

PostgreSQLに直接クエリを実行できるMCPサーバーを設定します。

claude mcp add postgres-server -- npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost:5432/mydb

設定後、Claude Codeのセッション内でデータベースを操作できます。

> usersテーブルから直近1週間の新規登録ユーザー数を集計して
> 日別のトレンドをテーブル形式で表示して

Claude Codeが自動的にSQLクエリを生成・実行し、結果を整形して表示します。

実用例2:GitHub連携

GitHub MCPサーバーで、Issue管理やPR操作をClaude Codeから直接行えます。

claude mcp add github -- npx -y @modelcontextprotocol/server-github

環境変数でトークンを設定します。

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

活用例を見てみましょう。

> リポジトリの未対応Issueを一覧表示して
> Issue #42 の内容を確認して、修正ブランチを作成して実装して
> 実装が終わったらPRを作成して

実用例3:ファイルシステム拡張

特定ディレクトリへのアクセスを安全に提供するMCPサーバーです。

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory

実用例4:Webスクレイピング

Puppeteer MCPサーバーでWebページの取得・操作が可能です。

claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
> https://example.com/api/docs のAPIドキュメントを読んで、
> そのAPIのクライアントライブラリを作成して

実用例5:Slack連携

Slack MCPサーバーで、開発チャンネルのメッセージを参照したり通知を送信できます。

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
      }
    }
  }
}
> #dev チャンネルの最新メッセージを確認して
> 本日の進捗を #daily-report チャンネルに投稿して

MCPサーバーの管理

登録済みサーバーの確認

claude mcp list

サーバーの削除

claude mcp remove server-name

スコープの指定

MCPサーバーの設定スコープを指定できます。

# プロジェクトローカル(デフォルト)
claude mcp add --scope project db-server -- command

# ユーザーグローバル
claude mcp add --scope user db-server -- command

自作MCPサーバーの作成

プロジェクト固有のツールをMCPサーバーとして作成することも可能です。

// my-mcp-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "my-project-tools",
  version: "1.0.0",
});

// カスタムツールの定義
server.tool(
  "deploy-staging",
  "ステージング環境にデプロイする",
  { branch: z.string().describe("デプロイするブランチ名") },
  async ({ branch }) => {
    // デプロイロジック
    return {
      content: [{ type: "text", text: `${branch} をステージングにデプロイしました` }],
    };
  }
);

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

登録方法は以下の通りです。

claude mcp add my-tools -- npx tsx my-mcp-server.ts

セキュリティの注意点

1. 認証情報の管理

MCPサーバーの設定に含まれるトークンやパスワードは、環境変数や.envファイルで管理し、Gitにコミットしないようにしましょう。

2. アクセス範囲の制限

データベースMCPサーバーには読み取り専用のユーザーを使用するなど、最小権限の原則を守りましょう。

3. ローカル設定の活用

認証情報を含む設定は .claude/settings.local.json に記述し、.gitignore に追加します。

まとめ

MCPサーバーを活用することで、Claude Codeの能力をプロジェクトのエコシステム全体に拡張できます。データベース操作、GitHub連携、Slack通知など、開発ワークフローのあらゆる場面でClaude Codeをハブとして活用しましょう。まずは公式のMCPサーバーから試し、必要に応じて自作サーバーに挑戦してみてください。

Ad Space (rectangle)
#Claude Code #MCP #MCPサーバー #外部連携 #拡張機能