3行でいうと
- MCPサーバーは、
claude mcp addで足します。つなぎ方は、URLで呼ぶ「http」(リモート向けに推奨)と、手元でプログラムを起動する「stdio」が基本で、「sse」は非推奨と書かれています。 - 足した設定には3つの範囲があります。自分だけ・このプロジェクトだけ(local、既定)、チームで共有(project、
.mcp.json)、自分の全プロジェクト(user)です。同じ名前が複数あるときの優先順位も公式に書かれています。 - 安全面は「入れる側が信頼を判断する」前提です。公式は、Anthropicは各MCPサーバーのセキュリティ監査も管理もしないと書いています。承認の画面、権限ルール、組織の許可リストはありますが、それで足りるかの判断は使う人に残ります。
この記事は公式ドキュメントを2026年10月16日に読んでまとめたもので、実際に使って確かめた記録ではありません。運営者はClaude Codeを入れていますが、使い心地はこの記事には書いていません。コマンドや設定名は公式に書かれたとおりに写しており、動作確認はしていません。公式の文章は要約の形で取得したため、引用はせず言い換えています。バージョン番号つきの挙動は、公式ページに書かれていた範囲です。
先に結論
- 足し方の基本。 リモートは
claude mcp add --transport http <名前> <URL>、手元で動かすものはclaude mcp add <名前> -- <起動コマンド>です。足したあとはclaude mcp listで状態を見ます。 - 範囲の基本。 何も指定しないと、足したサーバーは「自分だけ・いま入っているプロジェクトだけ」で有効になります。チームで共有したいときだけ
--scope projectを付け、.mcp.jsonをリポジトリに入れます。 - 認証の基本。 ログインが要るサーバーは、足したあとにClaude Codeの中で
/mcpを開き、ブラウザで承認します。固定のトークンを使うサーバーは、足すときに--headerで渡します。 - 安全面の基本。 公式が勧めているのは、自分で書くか、信頼できる提供元のものを使うことです。
MCPとは:道具箱に「外の道具」を足す
MCP(Model Context Protocol)は、AIの道具を外部のサービスとつなぐための公開された共通ルールだと、公式は説明しています。MCPサーバーを足すと、Claude Codeが、課題管理ツール、監視画面、データベースなどのデータを、自分で読んだり操作したりできるようになります。
たとえるなら、道具箱に、外の工具屋さんから借りた道具を足すイメージです(僕らのたとえで、公式の表現ではありません)。
足し方:3種類のつなぎ方
公式ドキュメントに出てくるコマンドは、次のとおりです。
| つなぎ方 | コマンドの形(公式の例) | 向いているもの |
|---|---|---|
| http | claude mcp add --transport http notion https://mcp.notion.com/mcp |
URLで公開されているリモートのサーバー。公式は推奨と書いています |
| stdio | claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable -- npx -y airtable-mcp-server |
手元のパソコンでプログラムを起動するサーバー |
| sse | claude mcp add --transport sse asana https://mcp.asana.com/sse |
古い方式。公式は非推奨と書いています |
読むときの注意点を2つ挙げます。
- stdioの
--は、「ここからはサーバーを起動するコマンド」という区切りです。公式のクイックスタートは、claude mcp get <名前>で表示される内容が打った内容と違うときは、--を省いた可能性が高い、と説明しています。 - 設定ファイルに直接書く場合、URLのあるサーバーには
typeが必要です。typeがないと、stdio扱いで読み飛ばされると書かれています。
足したあとの確認は claude mcp list で、「Connected」「Needs authentication」「Failed to connect」などの状態が出ます。Claude Codeの中では /mcp が同じ役目です。
範囲:どこで有効になるのか
MCPサーバーの設定には、3つの置き場所(スコープ)があります。
| スコープ | 有効になる場所 | チームで共有 | 保存先(公式の記載) |
|---|---|---|---|
| local(既定) | 足したプロジェクトの中だけ | しない | ~/.claude.json の、そのプロジェクトの項目 |
| project | そのプロジェクトの中だけ | git経由でする | プロジェクト直下の .mcp.json |
| user | 自分のすべてのプロジェクト | しない | ~/.claude.json の最上位の mcpServers |
指定は --scope local、--scope project、--scope user です(短い形は -s)。公式は、スコープは足すときに決まり、あとから変えるには「消して、足し直す」のだと書いています。
同じ名前が複数あるとき。 公式が書いた優先順位は、local、project、user、プラグインが持つサーバー、claude.aiのコネクタ、の順です。項目は丸ごと使われ、中身は混ぜ合わされません。組織が管理設定の managedMcpServers(v2.1.259以降)で配ったサーバーは、これらより上になると書かれています。
.mcp.json の書き方。 公式の例は、mcpServers の下に名前をつけ、type と url を書く形です。値には ${VAR}(環境変数の値)と ${VAR:-default}(なければ既定値)が使え、共有するファイルにトークンそのものを書かずに済みます。
環境変数の展開と、「空として読まれる」認証情報
${VAR}が使える場所は、command、args、env、url、headersです。未設定で既定値もないときは、${VAR}の文字のまま読み込まれ、claude mcp listが警告を出します。- リモートサーバーの
urlとheadersの中では、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、AWS_BEARER_TOKEN_BEDROCK、HTTPS_PROXY、NPM_TOKENなど、認証情報にあたる変数は、空として読まれると公式は書いています。リポジトリやプラグインが、あなたの認証情報を外部のサーバーへ送らないようにするための仕組みです。API_KEYのような一般的な名前は、普通に展開されます。
認証:ログインのしかたは3通り
公式に書かれている認証の方法を並べます。
- OAuth(ブラウザでログイン)。 リモートのhttp/sseサーバーが対象です。足したあと、Claude Codeの中で
/mcpを開き、そのサーバーを選んで認証します。トークンは自動で更新され、「Clear authentication」で取り消せます。シェルからはclaude mcp login <名前>(SSH先などでは--no-browser)も使えます。サーバーを消すと、保存されたOAuthトークンも消えると書かれています。 - 固定のトークン(ヘッダー)。
claude mcp add --transport http secure-api https://api.example.com/mcp --header "Authorization: Bearer your-token"の形です。公式は、このヘッダーをサーバーが拒否したとき、Claude Codeは接続失敗として扱い、OAuthに切り替えない、と書いています。 - ヘッダーを作るコマンド(
headersHelper)。 接続のたびにコマンドを実行し、出てきたJSONをヘッダーに使います。10秒のタイムアウトがあり、結果は保存されないと書かれています。
このほか、事前登録のコールバック用ポートが要るサーバー向けに --callback-port、クライアント登録に対応しないサーバー向けに --client-id と --client-secret があります。
認証まわりの注意(公式の記載)。
claude -p(画面なしの実行)やAgent SDKには/mcpの画面がありません。先に通常の画面でログインしておきます。- Microsoft 365、Gmail、Google Calendarなど、Anthropicが提供するコネクタの一部は、ローカルのOAuthに対応せず、claude.aiの設定画面から接続する、と書かれています。
- claude.aiで足したコネクタは、claude.aiの購読でログインしているとClaude Codeにも自動で読み込まれます。APIキーなどでは読み込まれません。止めたいときは
disableClaudeAiConnectors: trueか、環境変数ENABLE_CLAUDEAI_MCP_SERVERS=falseです。
安全面:何が起きうるか、公式はどう備えているか
公式の「Security」ページは、MCPについて、自分で書くか、信頼できる提供元のサーバーを使うことを勧めています。また、Anthropicは、ディレクトリに載せるコネクタを掲載基準で審査するが、各MCPサーバーのセキュリティ監査や管理はしない、と明記しています。MCPページにも、外部の内容を取ってくるサーバーはプロンプトインジェクション(文章の中に紛れ込ませた命令でAIを操ろうとする攻撃)の危険がある、と書かれています。
1. プロジェクトの .mcp.json は、使う前に承認を求められる。 公式は、人からもらったリポジトリが、あなたの同意なしにプログラムを起動できないようにするための承認だと説明しています。承認をやり直したいときは claude mcp reset-project-choices です。
2. ただし、承認の画面が出ない場面がある。 claude -p、Agent SDK、クラウドのセッションは、確認の画面を出せないので、プロジェクトのサーバーを聞かずに読み込むと書かれています。止めたいときは、設定の disabledMcpjsonServers、--setting-sources、--strict-mcp-config などを使います。信頼していないフォルダでは、リポジトリ自身がコミットした設定で承認済みにすることはできず、サーバーは「承認待ち」のままになるとも書かれています。
3. 権限ルールで、使える道具を絞れる。 書き方は、mcp__puppeteer(そのサーバーの全ツール)、mcp__puppeteer__puppeteer_navigate(特定のツール)などです。許可ルールの * は、サーバー名を決めたあとにしか使えず、mcp__* のような全サーバー向けの許可は、警告つきで無視されると書かれています。
4. サーバーの作者が「毎回確認」を要求できる。 サーバーが道具に anthropic/requiresUserInteraction: true を付けると、許可ルールや自動承認のモードがあっても、毎回確認の画面が出ます(dontAsk モードでは拒否)。同意そのものが目的の操作のための仕組みです。
5. 組織の管理。 既定では、Claude Codeを使う人は好きなMCPサーバーにつなげます。組織側は、管理者権限で置く managed-mcp.json で、使えるサーバーを固定できます(空にすれば、ごく一部の例外を除いてMCPを止められます)。ほかに、許可リスト allowedMcpServers と拒否リスト deniedMcpServers があり、serverUrl、serverCommand、serverName で照合します。公式は、serverName は利用者が付けた名前にすぎず、セキュリティの制御にならないと警告しています。実際に動くものを縛るには、serverUrl か serverCommand を使う、と書かれています。許可リストをだれにも上書きさせないための設定は allowManagedMcpServersOnly: true です。
状態表示、タイムアウト、再接続(公式の記載)
claude mcp listの状態は、Connected、Needs authentication、Failed to connect、承認待ち、プロジェクトで無効など7種類が、表で説明されています。- 起動の待ち時間は既定で30秒で、環境変数
MCP_TIMEOUT(ミリ秒)で変えられます。ツールの実行時間の上限はMCP_TOOL_TIMEOUTで、既定は約28時間と書かれています。 - リモートサーバーが途中で切れたときは、5回まで自動で再接続します。stdioサーバーは自動では再接続されません。
僕らの見立て:足す前に自分に聞くこと
ここからは僕らの見立てです。公式の記載から組み立てたもので、公式の推奨そのものではありません。足す前に、次の4つを自分に聞いてみます。
- 誰が作ったサーバーか。 公式は「信頼できる提供元か自作」を勧めています。サーバー名は自分で付けられるので、名前だけでは分かりません。
- 手元でプログラムが動くか(stdio)、URLに話しかけるだけか(http)。 何が自分のパソコンの中で動くのかを、先に把握したいところです。
- どの範囲に足すか。 迷ったら既定の local です。userに足すと、すべてのプロジェクトで使える候補になります。
- トークンをどこに置くか。
--headerに直接書くと履歴などに残りうる、とは公式に書かれていません。これは僕らの推測で、${VAR}で環境変数から読ませる形のほうが扱いやすいのでは、という見立てです。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。運営者はClaude Codeを入れていますが、使い心地はこの記事には書いていません。コマンドや設定名、各数値は、公式ドキュメントに書かれていたものを写したもので、手元での動作確認はしていません。
- 公式ページは要約の形で取得したため、MCPページのうち、ツール検索の設定の途中から後(コネクタの組織向け制御、MCPクライアントの実行方式の違いなど)は、読めていません。そこは書いていません。
- バージョンつきの記載(v2.1.259など)は、2026年10月16日に公式ページに表示されていたものです。Claude Codeは更新が速く、挙動や名前が変わることがあります。
- 組織向けの管理設定は、会社のパソコンで使っている場合、すでに制限がかかっていることがあります。
- この記事は、セキュリティや法律の助言ではありません。
出典
- Connect Claude Code to tools via MCP(Anthropic、Claude Code公式ドキュメント、10月16日確認)
- Connect to MCP servers(Anthropic、Claude Code公式ドキュメント、10月16日確認)
- Control MCP server access for your organization(Anthropic、Claude Code公式ドキュメント、10月16日確認)
- Security(Anthropic、Claude Code公式ドキュメント、10月16日確認)
- Configure permissions(Anthropic、Claude Code公式ドキュメント、10月16日確認)