Claude CodeにMCPを追加する手順|設定とスコープの違い

この記事の要点
- MCPは、Claude Codeに外部のツール(課題管理・データベース・ブラウザなど)を足すための共通のつなぎ方
- 追加は claude mcp add の1行。保存先はスコープ(local・project・user)で決まり、既定は local
- つないだら claude mcp list と /mcp で状態を確かめる。信頼できるサーバーだけをつなぎ、鍵は設定ファイルに直書きしない
Claude Code は、そのままでもファイルを読み書きしたり、コマンドを実行したりできます。ところが仕事で使い始めると、「課題管理の中身を見て直してほしい」「データベースを調べてほしい」「ブラウザで画面を確かめてほしい」と、外の道具をAIに使わせたい場面 が必ず出てきます。
そのためのつなぎ方が MCP(Model Context Protocol) です。この記事では、Claude Code の公式ドキュメント(2026年10月22日確認)にもとづいて、MCPサーバーを追加する手順、保存先(スコープ)の違い、つながったかの確かめ方、認証、そしてつないだ後に気をつけることを順に整理します。
結論:MCPは「AIに道具を足す差し込み口」。追加は1行、確かめるのは2か所
MCPを一言でいうと、Claude Code に外部のツールを足すための共通の差し込み口 です。公式ドキュメントでは、MCPを使うと課題管理の検索・データベースへの問い合わせ・ブラウザの操作など、Claude Code に元からある道具の外にあるツールを使えるようになる、と説明されています。
追加の手順そのものは短く、claude mcp add で登録し、claude mcp list(ターミナル)と /mcp(会話の中)で状態を確かめる だけです。迷いやすいのは「どこに保存されるか(スコープ)」と「鍵をどう渡すか」の2点なので、この記事ではそこを重点的に説明します。
MCPとは?サーバーとクライアントの関係
MCPには2つの役者がいます。
- MCPサーバー:道具を提供する側。自分のパソコンの中で動くプログラムのこともあれば、インターネット上で提供されるサービスのこともあります
- Claude Code:道具を使う側(クライアント)。サーバーが持っている道具の一覧を受け取り、必要なときに呼び出します
ここで大事なのは、Claude はどの道具を使うかを自分で選ぶ という点です。つないだ後は、依頼文でサーバー名をいちいち書かなくても、関係のありそうな道具を Claude が選んで使います。
ほかの拡張の仕組みとの違いも押さえておきましょう。公式の機能一覧では、MCPは「外部のサービスにつなぐもの」、スキルは「Claude が知っていること(使い方の手順など)を増やすもの」と整理されています。道具そのものを足すのがMCP、道具の上手な使い方を教えるのがスキル と考えると分かりやすいです。決まったタイミングで必ず処理を走らせたいなら、Claude Codeのフックの出番です。
MCPサーバーを追加する手順(基本の4ステップ)
公式のクイックスタートは、ログイン不要の公式ドキュメント検索サーバーを例にしています。どのサーバーでも流れは同じです。
- サーバーを登録する:
claudeの会話の中ではなく、ターミナルで実行します。会話を始める前に道具を準備するイメージです
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
- つながったか確かめる:同じくターミナルで一覧を出します
claude mcp list
- 会話の中で使う:
claudeを起動し、「claude-code-docs サーバーを使って MCP_TIMEOUT の意味を調べて」のように頼みます。初めて呼ぶときに許可を聞かれたら承認します。出力に表示される道具の呼び出しにサーバー名が付いていれば、MCP経由で答えが返ってきた証拠です - 不要になったら外す:
claude mcp remove claude-code-docsで登録を消します
コマンドの部品は次のとおりです。
--transport http:URLで提供されるサーバーであることを示しますclaude-code-docs:自分で付ける名前です。docsでも同じように動きます。この名前が道具の表示や、削除するときの指定に使われます- 最後のURL:サーバーがある場所です
自分のパソコンの中でプログラムを動かすタイプ(stdio)のサーバーは、--transport を付けず、-- のあとにサーバーを起動するコマンドを書きます。
claude mcp add my-tool -- npx -y <サーバーのパッケージ名>
-- を書き忘れると、起動コマンドが正しく登録されません。つながらないときにまず疑う所です。
なお、使わなくなったサーバーは外しておくのがおすすめです。公式ドキュメントでも、つないだサーバーの道具の名前や説明は毎回の会話に読み込まれ、AIが一度に扱える文脈の一部を使うと書かれています。

スコープ(local・project・user)の違い
claude mcp add で登録したサーバーは、スコープ によって保存先と効く範囲が決まります。既定は local です。違いを表にまとめます。
| スコープ | 使える範囲 | チームと共有 | 保存先 | 向いている使い方 |
|---|---|---|---|---|
| local(既定) | 今のプロジェクトだけ | しない | ホームの .claude.json(そのプロジェクトの欄) | 自分だけの試し・鍵が要るもの |
| project | 今のプロジェクトだけ | する(リポジトリに入れる) | プロジェクト直下の .mcp.json | チーム全員で同じ道具を使う |
| user | 自分のすべてのプロジェクト | しない | ホームの .claude.json(全体の欄) | どこでも使う自分用の道具 |
スコープは --scope で指定します。
claude mcp add --scope user --transport http claude-code-docs https://code.claude.com/docs/mcp
押さえておきたい点が3つあります。
- スコープは後から変えられない:変えたいときは、いったん
claude mcp removeで消してから、新しいスコープで追加し直します - 同じ名前が複数のスコープにあると、上位の1つだけが使われる:優先順は local → project → user の順です。設定は項目ごとに混ざらず、勝った側の内容がまるごと使われます
- project スコープは、初回に承認が要る:
.mcp.jsonを含むリポジトリを開くと、サーバーを使ってよいか確認が出ます。手元に取り込んだリポジトリが、勝手にパソコン上でプログラムを動かせないようにするための仕組みです
チームで同じ道具を揃えるなら project、鍵が必要な道具や試しに入れるだけのものは local にしておくのが安全です。
つながったかの確かめ方(/mcp と claude mcp list)
状態の確認は2か所でできます。ターミナルなら claude mcp list、会話の中なら /mcp です。/mcp の画面では、サーバーごとの道具の数を見たり、つなぎ直したり、認証をしたりできます。
claude mcp list に出る主な表示の意味は次のとおりです。
| 表示 | 意味 |
|---|---|
| Connected | 使える状態 |
| Connected · tools fetch failed | つながったが、道具の一覧を取れなかった |
| Needs authentication | サーバーには届いたが、ログインか鍵が必要 |
| Failed to connect / Connection error | サーバーが応答しなかった |
| Pending approval | project スコープのサーバーをまだ承認していない |
| Disabled for this project | このプロジェクトでは止めてある(/mcp で戻せる) |
一時的に使わないだけなら、消さずに /mcp で止める こともできます。設定は残るので、また使うときに戻すだけです。どのスコープに登録されているかは claude mcp get <名前> で確かめられます。
ログインが必要なサーバーの認証
インターネット上のサービスの多くは、ブラウザでログインして許可する方式(OAuth)をとっています。手順は次のとおりです。
- サーバーを追加する:URLは各サービスの公式案内に書かれたものを使います(ここでは例として
https://mcp.example.com/mcp)
claude mcp add --transport http example-service https://mcp.example.com/mcp
- 一覧で状態を見る:
claude mcp listで Needs authentication と出ます。これは想定どおりです - 会話の中で認証する:
claudeを起動して/mcpを開き、サーバーを選んで Authenticate を選びます。ブラウザが開くので、サービス側で接続を許可します - 状態が変わったか確かめる:Claude Code に戻ると、表示が「つながった」に変わります
ブラウザが自動で開かないときは、画面に出たURLをコピーして自分で開きます。ターミナルから直接ログインしたいときは claude mcp login <名前>、ログイン情報を消すときは claude mcp logout <名前> も使えます。公式ドキュメントでは、ログインで得た認証の情報は安全に保管され、自動で更新される と説明されています。
ログインではなく固定の鍵(トークン)で認証するサーバーもあります。その場合は追加するときに --header で鍵を渡しますが、次の章の注意点をまず読んでください。
つないだ後の注意点(信頼できるサーバーだけ・鍵を直書きしない)
MCPは便利な分、AIに渡す道具を増やす=AIができることを増やす ことでもあります。公式ドキュメントが特に強く注意しているのは次の点です。
- 信頼できるサーバーだけをつなぐ:公式ドキュメントは「つなぐ前に、そのサーバーを信頼できるか確かめる」よう警告しています。外部の内容を取ってくるサーバーは、内容に紛れ込んだ指示でAIが操られる危険(プロンプトインジェクション) につながることがあります。まずは審査済みのものが並ぶ公式のディレクトリや、サービス提供元の公式案内から選びましょう
- 鍵を設定ファイルに直書きしない:特に project スコープの
.mcp.jsonはリポジトリに入れてチームで共有するファイルです。鍵を書くと、共有した全員に鍵が渡ってしまいます。.mcp.jsonでは${API_KEY}のように環境変数で参照する書き方 ができるので、鍵そのものは各自の環境に置き、設定ファイルには名前だけを書きます。鍵が必要な道具は local スコープに置くのも有効です - 道具ごとに許可を決める:MCPの道具は
mcp__<サーバー名>__<道具名>という名前で、許可・拒否のルールに書けます。サーバーの道具をまとめて指定するならmcp__<サーバー名>__*です。確認を減らす仕組みとあわせて使うときは、Claude Codeのオートモードの考え方も参考になります
.mcp.json で環境変数を使う書き方の例です(公式ドキュメントの例に準じています)。
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
${名前:-初期値} と書けば、環境変数が無いときの初期値も決められます。なお、Claude Code 自身の鍵など一部の名前は、外部のサーバーへ送られないよう、わざと空として扱われます。サーバーに渡す鍵は、自分で決めた別の名前の変数に入れて参照します。
つながらないときのFAQ
/mcp に「No MCP servers configured」と出ます
よくある原因は、別のプロジェクトで claude mcp add を実行した ことです。local スコープのサーバーは、追加したプロジェクトでしか使えません。今のプロジェクトで追加し直すか、--scope user で追加します。もう1つは、設定ファイルの置き場所の間違いです。公式ドキュメントでは、Claude Code が読むのはホームの .claude.json とプロジェクト直下の .mcp.json で、.claude フォルダの中に置いた .mcp.json などは読まれないとされています。
Failed to connect と出ます
claude mcp list や claude mcp get <名前> に出る詳しい理由をまず見ます。URLで提供されるサーバーなら、curl -I <URL> で届くか確かめられます。404や405が返るなら、サーバー自体は動いています(POSTだけを受け付ける窓口が多いため)。401や403なら認証が必要です。自分のパソコンで動かすサーバーなら、登録した起動コマンドをターミナルで直接実行し、出てくるエラーを読みます。
起動時に時間切れになります
初回は、サーバーのプログラムのダウンロードで時間がかかることがあります。起動待ちの初期値は30秒で、環境変数 MCP_TIMEOUT で延ばせます(例 MCP_TIMEOUT=60000 claude。単位はミリ秒)。
つながったのに道具が1つも出てきません
/mcp でサーバーを選び、道具の一覧を確かめます。空なら、サーバーが必要とする環境変数(鍵など)が足りないことが多いです。claude mcp add の --env で渡すか、.mcp.json の env 欄に書きます(鍵は前の章のとおり環境変数で参照します)。
.mcp.json を書き換えたのに反映されません
.mcp.json は会話を始めたときに読み込まれます。いったん終了して、新しく起動し直します。以前に承認を断っていた場合は、claude mcp reset-project-choices で選び直せます。
次の一歩
1つつないで動いたら、次は「どの作業に、どの道具を持たせるか」を決める段階です。たとえば、調べもの役のAIにだけ特定のサーバーを使わせるといった分担もできます。AIを役割ごとに分けて動かす考え方は、Claude Codeのマルチエージェント入門で解説しています。
出典
- Claude Code 公式ドキュメント「Connect to MCP servers」
- Claude Code 公式ドキュメント「Connect Claude Code to tools via MCP」
- Claude Code 公式ドキュメント「Extend Claude Code」
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


