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サーバーから試し、必要に応じて自作サーバーに挑戦してみてください。