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

公開 更新 著者 永上裕之導入とルール
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つの役者がいます。

ここで大事なのは、Claude はどの道具を使うかを自分で選ぶ という点です。つないだ後は、依頼文でサーバー名をいちいち書かなくても、関係のありそうな道具を Claude が選んで使います。

ほかの拡張の仕組みとの違いも押さえておきましょう。公式の機能一覧では、MCPは「外部のサービスにつなぐもの」、スキルは「Claude が知っていること(使い方の手順など)を増やすもの」と整理されています。道具そのものを足すのがMCP、道具の上手な使い方を教えるのがスキル と考えると分かりやすいです。決まったタイミングで必ず処理を走らせたいなら、Claude Codeのフックの出番です。

MCPサーバーを追加する手順(基本の4ステップ)

公式のクイックスタートは、ログイン不要の公式ドキュメント検索サーバーを例にしています。どのサーバーでも流れは同じです。

  1. サーバーを登録する:claude の会話の中ではなく、ターミナルで実行します。会話を始める前に道具を準備するイメージです
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
  1. つながったか確かめる:同じくターミナルで一覧を出します
claude mcp list
  1. 会話の中で使う:claude を起動し、「claude-code-docs サーバーを使って MCP_TIMEOUT の意味を調べて」のように頼みます。初めて呼ぶときに許可を聞かれたら承認します。出力に表示される道具の呼び出しにサーバー名が付いていれば、MCP経由で答えが返ってきた証拠です
  2. 不要になったら外す:claude mcp remove claude-code-docs で登録を消します

コマンドの部品は次のとおりです。

自分のパソコンの中でプログラムを動かすタイプ(stdio)のサーバーは、--transport を付けず、-- のあとにサーバーを起動するコマンドを書きます。

claude mcp add my-tool -- npx -y <サーバーのパッケージ名>

-- を書き忘れると、起動コマンドが正しく登録されません。つながらないときにまず疑う所です。

なお、使わなくなったサーバーは外しておくのがおすすめです。公式ドキュメントでも、つないだサーバーの道具の名前や説明は毎回の会話に読み込まれ、AIが一度に扱える文脈の一部を使うと書かれています。

MCPサーバーを登録し、状態を確かめ、会話の中で使う流れの図
MCPサーバーを登録し、状態を確かめ、会話の中で使う流れの図(イメージ)

スコープ(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つあります。

チームで同じ道具を揃えるなら 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 approvalproject スコープのサーバーをまだ承認していない
Disabled for this projectこのプロジェクトでは止めてある(/mcp で戻せる)

一時的に使わないだけなら、消さずに /mcp で止める こともできます。設定は残るので、また使うときに戻すだけです。どのスコープに登録されているかは claude mcp get <名前> で確かめられます。

ログインが必要なサーバーの認証

インターネット上のサービスの多くは、ブラウザでログインして許可する方式(OAuth)をとっています。手順は次のとおりです。

  1. サーバーを追加する:URLは各サービスの公式案内に書かれたものを使います(ここでは例として https://mcp.example.com/mcp)
claude mcp add --transport http example-service https://mcp.example.com/mcp
  1. 一覧で状態を見る:claude mcp list で Needs authentication と出ます。これは想定どおりです
  2. 会話の中で認証する:claude を起動して /mcp を開き、サーバーを選んで Authenticate を選びます。ブラウザが開くので、サービス側で接続を許可します
  3. 状態が変わったか確かめる:Claude Code に戻ると、表示が「つながった」に変わります

ブラウザが自動で開かないときは、画面に出たURLをコピーして自分で開きます。ターミナルから直接ログインしたいときは claude mcp login <名前>、ログイン情報を消すときは claude mcp logout <名前> も使えます。公式ドキュメントでは、ログインで得た認証の情報は安全に保管され、自動で更新される と説明されています。

ログインではなく固定の鍵(トークン)で認証するサーバーもあります。その場合は追加するときに --header で鍵を渡しますが、次の章の注意点をまず読んでください。

つないだ後の注意点(信頼できるサーバーだけ・鍵を直書きしない)

MCPは便利な分、AIに渡す道具を増やす=AIができることを増やす ことでもあります。公式ドキュメントが特に強く注意しているのは次の点です。

.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のマルチエージェント入門で解説しています。

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事