MCP で Claude Code を「何でも屋」に変える
Claude Code は単体でもコードの読み書きやターミナル操作ができますが、「GitHub の Issue を見てそのまま実装して PR を出す」「Sentry のエラーログを調べて修正する」「データベースを直接クエリする」といった作業をさせるには、外部ツールとの接続が必要です。
その接続を担うのが MCP(Model Context Protocol) です。
MCP は AI ツール統合のためのオープン標準で、Claude Code と外部サービスの間に「橋」を架けてくれます。MCP サーバーを追加するだけで、Claude Code が GitHub、Sentry、Slack、データベースなど、数百のサービスと直接やり取りできるようになります。
つまり、MCP を使えば Claude Code が「コードしか触れないアシスタント」から「開発ワークフロー全体を回せるアシスタント」に進化するわけです。
MCP を使うと何ができるのか
具体的なイメージを持ってもらうために、MCP サーバーを接続した状態で Claude Code にお願いできることを挙げてみます。
- 「JIRA のチケット ENG-123 の内容を読んで実装して、GitHub に PR を作ってください」
- 「Sentry で過去 24 時間のエラーを調べて、一番多いやつの原因を分析して」
- 「PostgreSQL のデータベースから、先月のアクティブユーザー数を集計して」
- 「Slack の #design チャンネルに投稿された Figma のデザインに合わせてUIを更新して」
こういった「ツールをまたぐ作業」が、Claude Code の中で完結するようになります。
MCP サーバーを追加する 3 つの方法
MCP サーバーの接続方式は大きく 3 種類あります。利用するサービスによって適切な方式を選びましょう。
方式 1:HTTP サーバー(推奨)
クラウドベースのサービスに接続する場合、最も一般的な方式です。
claude mcp add --transport http <サーバー名> <URL>
たとえば GitHub に接続するなら:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
認証が必要な場合はヘッダーを付けられます。
claude mcp add --transport http my-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token-here"
方式 2:SSE サーバー
Server-Sent Events を使う方式ですが、現在は非推奨です。HTTP サーバーが使えるなら、そちらを選びましょう。
claude mcp add --transport sse asana https://mcp.asana.com/sse
方式 3:stdio サーバー(ローカル実行)
自分のマシン上でプロセスとして動かすタイプです。ファイルシステムへのアクセスやカスタムスクリプトが必要な場合に使います。
claude mcp add --transport stdio --env API_KEY=your-key my-tool \
-- npx -y @some/mcp-server
注意:
--transportや--envなどのオプションは、サーバー名の前に置きます。--(ダブルダッシュ)の後ろに書いたものは MCP サーバーへのコマンドとして渡されます。この順番を間違えるとエラーになるので気をつけてください。
Windows ユーザーへ: ネイティブ Windows(WSL でない場合)で
npxを使う MCP サーバーは、cmd /cで包む必要があります。claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package
接続した MCP サーバーを管理する
追加したサーバーは以下のコマンドで管理できます。
# 一覧を表示
claude mcp list
# 特定のサーバーの詳細を確認
claude mcp get github
# サーバーを削除
claude mcp remove github
Claude Code のセッション中なら /mcp と入力することで、接続状況の確認や認証のやり直しができます。
実際に使ってみよう:3 つのユースケース
ユースケース 1:GitHub で Issue → 実装 → PR を一気通貫
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
追加したら Claude Code 内で /mcp を実行し、GitHub アカウントで認証します。
あとは自然な言葉で指示するだけです。
Issue #42 の内容を確認して、その修正を実装してください。
完了したら PR を作成してください。
Claude が Issue の内容を読み、コードを修正し、PR まで作ってくれます。
ユースケース 2:Sentry のエラーを調査して修正する
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
認証後、こんなふうに使えます。
過去 24 時間で一番多いエラーは何?
スタックトレースを見て、修正してください。
本番のエラーログを見ながらコードを修正する、という一連の流れを Claude Code 内で完結させられます。
ユースケース 3:データベースに直接クエリを投げる
claude mcp add --transport stdio analytics-db \
-- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@db.example.com:5432/analytics"
接続したら、自然言語でデータベースを操作できます。
今月の売上の合計を教えて。
過去 90 日間にログインしていないユーザーを一覧にして。
Tip: データベース接続にはリードオンリーのユーザーを使いましょう。Claude が意図せず書き込み操作をしてしまうリスクを避けられます。
OAuth 認証のセットアップ
GitHub や Sentry などクラウドサービスの MCP サーバーは、OAuth 2.0 による認証が必要です。手順はシンプルです。
- サーバーを追加する(
claude mcp add ...) - Claude Code 内で
/mcpを実行 - ブラウザが開くのでサービスにログイン
- 認証完了、以降は自動でトークンが更新される
認証をやり直したい場合は /mcp メニューから「Clear authentication」を選べばリセットできます。
自動認証が使えないサーバーの場合
「Incompatible auth server: does not support dynamic client registration」というエラーが出る場合は、事前にクライアント ID とシークレットを用意する必要があります。
- サービスの開発者ポータルで OAuth アプリを作成
- リダイレクト URI を
http://localhost:8080/callbackに設定 - 以下のコマンドでサーバーを追加
claude mcp add --transport http \
--client-id your-client-id --client-secret --callback-port 8080 \
my-server https://mcp.example.com/mcp
--client-secret フラグを付けると、シークレットの入力を求められます。入力したシークレットはシステムのキーチェーンに安全に保存されます。
スコープを使い分ける
MCP サーバーの設定は 3 つのスコープで保存できます。
| スコープ | 保存場所 | 適用範囲 | 共有 |
|---|---|---|---|
local(デフォルト) |
~/.claude.json |
今のプロジェクトだけ | 自分だけ |
project |
.mcp.json |
プロジェクト全体 | チームで共有(git コミット可) |
user |
~/.claude.json |
全プロジェクト | 自分だけ |
# チーム全員で共有したいサーバー
claude mcp add --transport http github --scope project https://api.githubcopilot.com/mcp/
# 自分だけ、全プロジェクトで使いたいサーバー
claude mcp add --transport http my-tool --scope user https://mcp.example.com
Tip: 初めてチームで使うなら
--scope projectで.mcp.jsonを作って git にコミットするのがおすすめです。新しいメンバーが参加したとき、必要な MCP サーバーが自動的に使えるようになります。
.mcp.json で環境変数を使う
チームで .mcp.json を共有する場合、API キーなどの秘密情報は環境変数で渡せます。
{
"mcpServers": {
"analytics": {
"type": "http",
"url": "${ANALYTICS_API_URL}/mcp",
"headers": {
"Authorization": "Bearer ${ANALYTICS_TOKEN}"
}
}
}
}
${VAR:-デフォルト値} の記法も使えるので、開発用と本番用で URL を切り替えるのも簡単です。
JSON 設定から直接追加する
他のプロジェクトやドキュメントから JSON 形式の MCP 設定をもらった場合、そのまま追加できます。
claude mcp add-json my-api '{"type":"http","url":"https://api.example.com/mcp","headers":{"Authorization":"Bearer token"}}'
Claude Desktop で設定済みのサーバーがあるなら、一括インポートも可能です。
claude mcp add-from-claude-desktop
@ メンションで MCP リソースを参照する
MCP サーバーはツールだけでなく「リソース」も公開できます。リソースはファイルと同じように @ で参照できます。
@github:issue://42 を分析して修正を提案してください
@postgres:schema://users のテーブル構造を確認して
プロンプトに @ を入力すると、接続中のサーバーが公開しているリソースがオートコンプリートに表示されます。
MCP サーバーが増えすぎたら:ツール検索機能
MCP サーバーをたくさん接続すると、ツールの定義がコンテキストウィンドウを圧迫してしまいます。
Claude Code にはこの問題を自動で解決するツール検索機能が備わっています。MCP ツールの定義がコンテキストの 10% を超えると、自動的に「必要なときだけツールを読み込む」モードに切り替わります。
手動で制御したい場合は環境変数で設定できます。
# 5% を超えたら有効にする
ENABLE_TOOL_SEARCH=auto:5 claude
# 常に有効
ENABLE_TOOL_SEARCH=true claude
# 無効にする(全ツールを常にロード)
ENABLE_TOOL_SEARCH=false claude
Claude Code 自体を MCP サーバーにする
面白い使い方として、Claude Code を MCP サーバーとして公開し、他のアプリから Claude Code のツール(ファイル読み書き、検索など)を呼び出すこともできます。
claude mcp serve
Claude Desktop から接続する場合は、claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"claude-code": {
"type": "stdio",
"command": "claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
注意:
claudeコマンドが PATH に通っていない場合は、which claudeで取得したフルパスをcommandに指定してください。
トークン制限に注意する
MCP ツールの出力が大きすぎると、コンテキストウィンドウを使い切ってしまうことがあります。デフォルトでは 10,000 トークンを超えると警告が出ます。
大量のデータを返す MCP サーバーを使う場合は、上限を引き上げましょう。
export MAX_MCP_OUTPUT_TOKENS=50000
claude
データベースのクエリ結果やログファイルなど、大きな出力が予想されるときに便利です。
まとめ:MCP で開発ワークフローを一元化しよう
MCP を活用すれば、Claude Code が「コードエディタ」の枠を超えて、開発ワークフロー全体のハブになります。
- コード管理 → GitHub MCP
- エラー監視 → Sentry MCP
- データ分析 → データベース MCP
- プロジェクト管理 → JIRA / Linear MCP
- コミュニケーション → Slack MCP
まずは 1 つ接続してみて、Claude Code の可能性を体感してみてください。claude mcp add ひとつで世界が広がります。