
【Claude Code基本操作 #8】MCPサーバーの設定と活用——外部ツールと繋げる仕組み
Claude Codeは標準のままでもファイル操作やWeb検索など多くのことができる。さらに機能を拡張したいときに使うのが**MCP(Model Context Protocol)**になる。
MCPとは何か
MCP(Model Context Protocol)はAnthropicが策定したオープンな規格で、AIが外部のツールやサービスと通信するための共通インターフェース。
Claude Codeは標準で以下のようなツールを持っている。
- ファイルの読み書き・編集
- コマンド実行
- Web検索・URLフェッチ
- Glob・Grep による検索
MCPを使うと、この標準ツールセットに外部サービスやカスタムツールを追加できる。GitHubのIssueを読む、Slackにメッセージを送る、データベースに問い合わせる——こういった操作をClaude Codeから直接行えるようになる。
MCPサーバーとは
MCP仕様に従って実装されたプログラムを「MCPサーバー」と呼ぶ。Claude Codeはクライアントとして動き、MCPサーバーに「このツールを実行してくれ」とリクエストを送る。
Claude Code(クライアント)
↕ MCP
MCPサーバー(GitHub / Slack / Filesystem など)
↕
外部サービス・ファイルシステム・API
設定方法
コマンドで追加する
claude mcp add コマンドでMCPサーバーを追加できる。
claude mcp add <name> <command> [args...]
例:ローカルのファイルシステムを操作するMCPサーバーを追加する場合。
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /Users/myname/projects
設定ファイルで管理する
claude mcp add の実態は .claude/settings.json(プロジェクトスコープ)または ~/.claude/settings.json(ユーザースコープ)への書き込み。直接編集しても動く。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/myname/projects"]
}
}
}
スコープの種類
| スコープ | 設定ファイル | 用途 |
|---|---|---|
local(デフォルト) |
.claude/settings.local.json |
個人利用・Gitに含めない |
project |
.claude/settings.json |
チーム共有・Gitでコミット |
user |
~/.claude/settings.json |
全プロジェクト共通 |
チームで使うMCPサーバーはprojectスコープに書いてGitで共有するのがすっきりする。APIキーなど秘密情報が含まれる場合はlocalスコープに書いてGitignoreする。
Gemini連携の実例
Geminiを含む外部LLMをClaude CodeのMCPとして繋げると、「Claude Codeのセッション内からGeminiに問い合わせる」ことができる。
設定
Gemini CLIのMCPサーバーを追加する。
claude mcp add gemini npx -y @google/gemini-mcp-server
GEMINI_API_KEY を環境変数で渡す場合は設定ファイルに書く。
{
"mcpServers": {
"gemini": {
"command": "npx",
"args": ["-y", "@google/gemini-mcp-server"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
使い方
設定後はClaude Codeの会話の中でGeminiを呼び出せる。
「この画像生成プロンプトをGeminiで試して、結果を教えて」
「GeminiとClaudeでこの質問への回答を比較して」
Claude Code自身が「Geminiに聞くべき場面」と判断したときに自動でツールを呼び出す。明示的に「Geminiを使って」と指示することもできる。
代表的なMCPサーバー
公式・コミュニティから多数のMCPサーバーが公開されている。
| MCPサーバー | できること |
|---|---|
@modelcontextprotocol/server-github |
Issue・PR・コードの読み取り・作成 |
@modelcontextprotocol/server-filesystem |
任意パスのファイル操作 |
@modelcontextprotocol/server-postgres |
PostgreSQLへの問い合わせ |
@modelcontextprotocol/server-puppeteer |
ブラウザ操作・スクレイピング |
@modelcontextprotocol/server-slack |
Slackのメッセージ送受信 |
利用可能なMCPサーバーの一覧は MCP公式サイト や awesome-mcp-servers にまとまっている。
追加後の確認
設定済みのMCPサーバーは以下で確認できる。
claude mcp list
カスタムMCPサーバーを作る
既存のMCPサーバーで対応できない場合、自分でMCPサーバーを実装することもできる。MCP SDKはPython・TypeScript向けが公開されており、任意のAPIやツールをClaude Codeから呼び出せるようにできる。
# Python SDKの場合
pip install mcp
# TypeScript SDKの場合
npm install @modelcontextprotocol/sdk
社内APIやプロプライエタリなデータソースに繋げたい場合はカスタム実装が選択肢になる。
まとめ
- MCPはClaude Codeと外部ツールを繋ぐ共通規格
claude mcp addまたはsettings.jsonで設定する- スコープ(local / project / user)を用途で使い分ける
- GitHub・Slack・DB・ブラウザなど多数のMCPサーバーが公開されている
- 対応するものがなければカスタム実装も可能