- 必要な制御量に合致するパターンを選択する
managed-mcp.jsonで固定サーバーセットをデプロイする(MCP 全体を無効化する 方法を含む)- 管理対象設定を通じてサーバーを提供する(ユーザーが独自のサーバーを保持する場合)
- 許可リストと拒否リストでサーバーを制御する
- 制限がサーバーをブロックするときにユーザーが何を期待するかを伝える
- 組織が実際に使用するサーバーを監視する
セキュリティ ページは MCP の脅威モデルと、サーバーを承認する前に評価する方法について説明しています。実施する内容を決定する は、他の管理制御と並んで MCP 制限について説明しています。
パターンを選択する
Claude Code は、さまざまな制限レベルをサポートしています。各パターンは、以下で説明するメカニズムの 1 つ以上を使用します。managed-mcp.json は固定セットをデプロイするため、managedMcpServers マネージド設定はユーザーが追加するサーバーと共にサーバーを提供するため、allowedMcpServers/deniedMcpServers はユーザーが設定する内容をフィルタリングするためです。
Claude Code には、ユーザーが参照してインストールできる組み込み MCP サーバーレジストリはありません。承認されたカタログパターンの場合、承認されたリストとその
claude mcp add コマンドを、内部 wiki などのユーザーが見つけやすい場所で共有するか、マネージドプラグインマーケットプレイスを通じてプラグインとしてサーバーを配布して、ユーザーが /plugin から参照してインストールできるようにしてください。managed-mcp.json による排他的制御
managed-mcp.json ファイルをデプロイすると、Claude Code はこれらの MCP サーバーのみを読み込みます。
- ファイルで定義されたサーバー
- 「
managedMcpServersを通じて提供するサーバー」 - セッションを開始したアプリが登録するインプロセスサーバー(VS Code 拡張機能独自のサーバーやデスクトップアプリが提供するコネクタなど)
- 「Claude in Chrome」の組み込みサーバー(マネージドセットと共にそれを許可する場合)
--mcp-config CLI フラグ」で渡されたサーバーを含む、その他の MCP サーバーを追加、変更、または使用することはできません。このファイルは、マネージドセットと共にそれらを許可しない限り、Claude Code が自身で取得する claude.ai コネクタも抑制します。
managed-mcp.json をデプロイする
managed-mcp.json はスタンドアロンファイルであるため、サーバー管理設定を通じて配信することはできません。マネージドセットなしで管理設定を通じてサーバーを配信するには、代わりに「managedMcpServers」を使用してください。
管理者権限を持つシステムパスに書き込むことができるすべてのプロセスがファイルをデプロイできます。フリート全体では、通常は Jamf などのデバイス管理ツール、macOS 上の構成プロファイル、Windows 上のグループポリシーまたは Intune、または Linux 上の選択したフリート管理を通じて行われます。Claude Code は以下のパスのいずれかでファイルを探します。
このファイルはプロジェクト「
.mcp.json」ファイルと同じ形式を使用します。
ユーザーごとの認証情報で認証する
マシン上のすべてのユーザーがこのファイルを読むことができるため、API キーやその他の認証情報をenv ブロックに保存しないでください。代わりに、以下のいずれかを使用してユーザーごとの認証情報を渡してください。
- 「
${VAR}展開」を使用して、各ユーザーの環境からシークレットを読み込む。 - 「OAuth またはユーザーごとのヘッダー」を使用して、各ユーザーが自分自身として認証する。
- 「
headersHelper」を使用して、接続時に認証情報を生成する。
--mcp-config または --strict-mcp-config で渡されたサーバー
セッションが managed-mcp.json がデプロイされている間に --mcp-config を通じてサーバーを受け取る場合、ユーザーが見るものはワークステーションとクラウドセッション間で異なります。
- ワークステーション上では、Claude Code は
You cannot dynamically configure MCP servers when an enterprise MCP config is presentというメッセージで起動時に終了します。 - ファイルがデプロイされているホスト上の「クラウドセッション」(「セルフホストランナー」など)では、Claude Code はマネージドサーバーのみで起動し、claude.ai コネクタおよびクラウドホストが
--mcp-configを通じて配信するその他のサーバーをスキップします。セッション内のどのサーバーが除外されたかをユーザーに伝えるものはありません。Claude Code はそれらを stderr の警告で名前を付けます。これはセルフホストランナーがdebugログレベルで記録します。
--strict-mcp-config フラグはマネージドセットを置き換えるよう要求します。ユーザーがそのようなファイルがデプロイされている間にそれを渡す場合、Claude Code はワークステーション上とクラウドセッション上の両方で起動時に終了します。
許可リストと拒否リストがマネージドセットに適用される方法
拒否リストはmanaged-mcp.json 内のサーバーをさらにフィルタリングできます。
deniedMcpServersはマネージドサーバーにも適用されるため、エントリに一致するマネージドサーバーは読み込まれません。- ユーザー独自の
deniedMcpServersは設定からマージされるため、ユーザーはマネージドサーバーを自分自身でブロックできます。
allowedMcpServers は managed-mcp.json 内のサーバーには適用されません。ただし 1 つの例外があります。Claude Code は定義が「${VAR} 展開」を使用するサーバーを許可リストに対してチェックします。そのサーバーの有効な構成はファイルだけではなく各ユーザーの環境から来るためです。v2.1.259 より前では、許可リストが設定されている場合、すべてのマネージドサーバーが許可リストを通過する必要がありました。どのフィールドが ${VAR} チェックをトリガーするか、およびチェックの完全な順序については、「サーバーがどのように評価されるか」を参照してください。
allowedMcpServers を使用して独自の managed-mcp.json サーバーの一部が読み込まれないようにしていた場合、${VAR} 展開を使用しない限り、各ユーザーが v2.1.259 以降の最初の起動時にそれらのサーバーが読み込まれ始めます。プロンプトや通知はありません。deniedMcpServers のみがそれらのサーバーから差し引かれます。それらの拒否リストエントリを追加するか、ユーザーがアップグレードする前に、グループごとに別の managed-mcp.json をデプロイしてください。
構成を検証する
ファイルが有効であることを確認するには、マネージドマシン上で 2 つのチェックを実行してください。claude mcp listはmanaged-mcp.json内のサーバーのみを表示します。managedMcpServersを通じて提供するサーバーも表示されます。2 つの他の結果は何かが間違っていることを意味します。- ユーザー独自のサーバーがまだ表示される場合、Claude Code はファイルを読み込んでいません。そのパスと親ディレクトリの権限を確認してください。
- ファイルのサーバーが表示されず、
MCP config diagnosticsセクションがエンタープライズ構成の解析失敗をマークしている場合、Claude Code はファイルを読み込むか解析できません。そのセクションが名前を付けるエラーを修正してから、ユーザーに Claude Code を再起動させてください。
claude mcp add --transport http test https://example.com/mcpはCannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP serversで失敗します。ポリシーチェックが何かに接続される前にコマンドを拒否するため、URL は実際のサーバーである必要はありません。
MCP を完全に無効にする
空のサーバーマップを含むmanaged-mcp.json をデプロイして、「排他的制御」の下で読み込まれるもの以外のすべての MCP サーバーをブロックします。
claude mcp add は上記のエンタープライズポリシーエラーで失敗します。ユーザーが以前に構成したサーバーは、次回セッションを開始するときに読み込まれなくなります。ポリシーが理由であることについての警告はありません。managedMcpServers を通じて提供するサーバーと、マネージドセットと共に許可するその他のすべてのものは、空のマップの下でも読み込まれるため、MCP を完全に無効にするにはそれらのキーを設定しないままにしてください。
マネージドセットと共に claude.ai コネクタを許可する
デフォルトでは、managed-mcp.json をデプロイすると、Claude Code が自身で取得する「claude.ai コネクタ」(管理者が claude.ai 管理コンソールで組織用に構成したコネクタを含む)が抑制されます。managed-mcp.json 内のサーバーと共にそれらのコネクタを読み込むには、「マネージド設定ソース」で "allowAllClaudeAiMcps": true を設定してください。
設定が有効になると、Claude Code は managed-mcp.json がデプロイされていない場合に読み込むのと同じ claude.ai コネクタを読み込みます。「許可リストと拒否リスト」はそれらのコネクタに引き続き適用されるため、deniedMcpServers で特定のコネクタをブロックできます。この設定は Claude Code が自身で取得する claude.ai コネクタのみに影響します。プラグイン提供のサーバーは抑制されたままです。
クラウドセッションとデスクトップアプリのローカルおよび SSH セッションは、別の方法でコネクタを受け取ります。これは「コネクタが Claude Code に到達する方法」で説明されています。クラウドセッションを実行するホスト上の managed-mcp.json(「セルフホストランナーホスト」など)は、allowAllClaudeAiMcps を設定するかどうかに関わらず、そのセッションのコネクタを抑制します。デスクトップアプリがローカルおよび SSH セッションに配信するコネクタには managed-mcp.json は到達しません。
Claude Code は allowAllClaudeAiMcps を管理者制御のポリシー層からのみ読み込みます。サーバー管理設定、MDM デプロイされた plist または HKLM レジストリキー、またはシステム managed-settings.json ファイルです。ユーザーまたはプロジェクト設定に配置しても効果がないため、ユーザーは排他的制御が抑制したコネクタを再度有効にすることはできません。
マネージドセットと共に Claude in Chrome を許可する
デフォルトでは、managed-mcp.json をデプロイすると、Claude Code はターミナルセッションで組み込みの「Claude in Chrome」サーバーをブロックします。ユーザーは「拡張機能インストールプロンプト」を取得しません。また、ユーザーが「Chrome をデフォルトで有効にした」セッションは、Chrome なしで起動し、警告を出力しません。Chrome を実行できるユーザーが claude --chrome または CLAUDE_CODE_ENABLE_CFC=1 で起動する場合、Claude Code は allowClaudeInChromeWithManagedMcp 設定に名前を付けるエラーで起動時に終了します。
ユーザーが managed-mcp.json 内のサーバーと共に Claude in Chrome を実行できるようにするには、デバイス独自のマネージド設定で "allowClaudeInChromeWithManagedMcp": true を設定してください。MDM デプロイされた plist または HKLM レジストリキー、またはシステム managed-settings.json ファイルに配置してください。Claude Code がそのデバイスで「選択」するもののいずれかです。Claude Code v2.1.282 以降が必要です。v2.1.282 より前では、Claude Code は設定を無視し、起動エラーは代わりに You cannot dynamically configure MCP servers when an enterprise MCP config is present と表示されます。
Claude Code は「サーバー管理設定」がポリシーの残りを配信する場合でも、それらのデバイスソースから設定を読み込みます。サーバー管理設定自体、ユーザー書き込み可能な HKCU レジストリ、およびユーザーまたはプロジェクト設定では設定を無視します。「deniedMcpServers」の claude-in-chrome エントリは、設定がオンの場合でもサーバーをブロックします。
マネージド設定を通じてサーバーを提供する
MCP を排他的に制御することなく、すべてのユーザーにリモート MCP サーバーのセットを提供するには、マネージド設定ソース(サーバーマネージド設定、Claude アプリゲートウェイポリシー、MDM プロファイルまたはレジストリポリシー、またはmanaged-settings.json)の managedMcpServers の下にリストします。ユーザーは自分で追加したサーバーを保持し、さらにあなたのサーバーを受け取ります。Claude Code v2.1.259 以降が必要です。以前のクライアントはこのキーを無視します。
値はサーバー名をキーとするオブジェクトです。各エントリは、プロジェクト .mcp.json ファイル内の HTTP または SSE サーバーと同じ形状を持ち、リモート MCP サーバーで認証するで説明されているオプションの headers および oauth メンバーを含みます。この例は、各ユーザーが OAuth でサインインする検索サーバーと、組織が発行するヘッダーを送信するレコードサーバーを提供します。
headers を省略して、各ユーザーが OAuth でサインインするようにしてください。
エントリに含めることができるもの
Claude Code は、以下のすべてのチェックに合格した場合にのみエントリを読み込みます。1 つのチェックに失敗したエントリはドロップし、/status で読み取ることができる通知を記録し、他のエントリは引き続き読み込みます。
typeはhttpまたはsseです。.mcp.jsonと同様に、streamable-httpはhttpのエイリアスとして受け入れられます。urlはhttps://URL です。Claude Code はlocalhostを指すものを含む、プレーンなhttp://URL を拒否します。- エントリに
command、args、env、またはheadersHelperメンバーがないため、マネージド設定ドキュメントはユーザーのマシン上で実行するプログラムを指定しません。 - 値に
${VAR}参照が含まれていません。Claude Code はこれらのエントリ内の環境変数を展開しないため、リテラル値を記述してください。 - サーバー名には文字、数字、ハイフン、アンダースコアのみが含まれ、キーまたは値に制御文字や非表示の書式文字が含まれていません。
提供されたサーバーがどのように読み込まれるか
これらのルールは、提供されたサーバーが別のサーバー定義またはこのページの別の設定と重複する場合に何が読み込まれるかを決定します。- 提供されたサーバーは、ローカル、プロジェクト、またはユーザースコープ内の同じ名前のサーバーよりも優先され、同じ URL を指すプラグインサーバーまたは claude.ai コネクタよりも優先されます。
managed-mcp.jsonもデプロイする場合、Claude Code はそのサーバーと提供されたサーバーを一緒に読み込み、両方が名前を定義する場合はファイルのエントリが優先されます。strictPluginOnlyCustomizationがmcpサーフェスをロックしても、提供されたサーバーは引き続き読み込まれます。deniedMcpServersはユーザー自身の設定からのエントリを含む提供されたサーバーに適用されるため、ユーザーは自分自身のためにそれをブロックできます。提供されたサーバーはallowedMcpServersエントリを必要としません。
managed-mcp.json もデプロイしていない場合、実行ごとのフラグはその意味を保持します。
- ユーザーが同じ名前で
--mcp-configで渡すサーバーは、その実行のために提供されたサーバーを置き換え、allowedMcpServersに対してチェックされます。 --strict-mcp-configは、提供されたサーバーを他のすべての設定されたサーバーと一緒に除外します。
managed-mcp.json がデプロイされている場合、両方のフラグは managed-mcp.json による排他的制御で説明されているように動作します。
ユーザーが見ることができ、変更できるもの
ユーザーは提供されたサーバーを編集または削除できません。claude mcp removeは、サーバーが組織によって提供されていることを報告します。managed-mcp.jsonもデプロイしていない場合、ユーザーが同じ名前で追加するエントリは保存されますが、あなたのサーバーが存在する間は使用されません。- ユーザーは
/mcpで提供されたサーバーを自分自身のためにオフにすることができます。これは Managed MCPs の下に提供されたサーバーをリストします。
claude mcp get と /mcp は、提供されたサーバーの URL をそのホストのみとして表示します。例えば https://mcp.example.com/… であり、claude mcp get はヘッダー名を値なしで表示します。
managedMcpServers が適用される場所
Claude Code は、Claude Code がマネージドソースを組み合わせる方法の下で選択するマネージドソースから managedMcpServers を読み取ります。そのソースが managedSourcesBehavior を "merge" に設定する場合、Claude Code は代わりにすべての管理者ソースからサーバーを提供し、2 つのソースが同じ名前を定義する場合、より高いランクのソースのエントリが全体に適用されます。ユーザーが書き込み可能な HKCU レジストリから、埋め込みホストが提供する親設定から、またはユーザー、プロジェクト、またはローカル設定ファイルから読み取ることはなく、警告とともにキーをドロップします。
Claude Code は、サードパーティデプロイメント上の Claude Desktop アプリの Code タブまたはアプリの Cowork セッションでキーを読み取りません。Claude Desktop はそれらのセッションの MCP サーバーを自身で提供およびロックするためです。マネージド設定がそこにキーを含む場合、/status と claude doctor はそう言います。
提供されたサーバーが接続するとき
managedMcpServers がサーバーマネージド設定を通じて到着する場合、そのタイミングは フェッチとキャッシング動作に従います。
- キャッシュされた設定を持つマシンでは、Claude Code はこのキーのキャッシュされたコピーを、サーバーがセッションの設定を確認するまで保留し、その確認を待ってから MCP サーバーを読み込みます。確認が失敗した場合、セッションは提供されたサーバーなしで続行され、
/statusはそれらが保留されていることを示します。 - マシンの最初の起動時に、まだキャッシュされたものがない場合、設定が到着する前に開始される対話型セッションは、提供されたサーバーが到着するとすぐに接続し、既に開始されている
claude -p実行はそれらなしで完了できます。
- サーバーを追加する:Claude Code は更新された設定が到着したときにそれを接続し、再起動は不要です。
- サーバーのエントリを変更する:これらのセッションは新しい定義で再接続します。
- サーバーを削除する:実行中の対話型セッションは、変更された設定を読み取ると、それを切断します。非対話型(
-p)実行はそれが終了するまでそれを保持します。
allowlist と denylist を使用したポリシーベースの制御
allowlist と denylist は、設定されたサーバーのうちどれをロードできるかをフィルタリングします。これらはレジストリではなく、allowlist または denylist が適用される前に、ユーザー、プラグイン、または組織によってサーバーを追加する必要があります。 組織がmanagedMcpServers を通じて配信するサーバーは allowlist エントリなしでロードされ、サーバーの評価方法は managed-mcp.json サーバーについて説明しています。denylist はインプロセス type: "sdk" エントリを除き、どこから来たサーバーにも適用されます。
サーバーをユーザーに配信するには、managed-mcp.json または managedMcpServers を使用します。両方のリストは、インプロセス type: "sdk" エントリを除き、--mcp-config CLI フラグで渡されたサーバーもフィルタリングします。--strict-mcp-config はどの設定ファイルをロードするかを制限し、どちらのリストもバイパスしません。
allowlist を権限あるものにするには、管理設定ソース(サーバー管理設定や配信された managed-settings.json ファイルなど)で allowedMcpServers と allowManagedMcpServersOnly: true を一緒に設定します。
ロックはすべての管理者制御の管理ソースから適用されるため、配信されたファイル内のロックダウンは、MCP に言及しないサーバー管理設定も使用されている場合でも適用されます。ロックがオンの場合、管理 allowlist は、1 つを設定する最も高いランクの管理ソースから取得されます。ソース全体でロックと allowlist を読み取るには、Claude Code v2.1.273 以降が必要です。
allowlist を管理設定のみに制限するは設定を示しています。
allowManagedMcpServersOnly がない場合、ユーザー自身の ~/.claude/settings.json を含むすべての設定スコープから allowlist がマージされるため、ユーザーは allowlist が許可するものを広げることができます。denylist はスコープに関係なくマージされます。
allowManagedMcpServersOnly は allowManagedPermissionRulesOnly とは別であり、後者は権限ルールのみをロックダウンします。そのフラグを設定しても MCP allowlist は強制されません。URL、コマンド、または名前でサーバーをマッチさせる
allowedMcpServers と deniedMcpServers はエントリのリストです。各エントリは、サーバーを URL、コマンド、または名前で識別する単一のキーを持つオブジェクトです。
allowedMcpServers を設定しないことは、空の配列に設定することとは異なります。
エントリがスキーマ検証に失敗した場合の詳細は、管理設定の無効なエントリを参照してください。
serverName の検証は 2 つのリスト間で異なります。
deniedMcpServersでは、serverNameは先頭または末尾に空白がない空でない任意の文字列を受け入れるため、claude.ai コネクタを表示名でブロックできます。たとえば、{ "serverName": "claude.ai Slack" }は Slack コネクタをブロックします。deny が名前変更に対して堅牢である必要がある場合、またはコネクタ名が衝突して(N)サフィックスを取得する場合は、serverUrlエントリを優先します。allowedMcpServersでは、serverNameは文字、数字、ハイフン、アンダースコアに限定されます。Claude Code が自身でフェッチする claude.ai コネクタを allowlist に追加するにはserverUrlを使用します。クラウドホストが自己ホスト型セッションに配信するコネクタの場合は、代わりにコネクタトラフィックがネットワークを離れるの下にリストされているエントリを使用します。
disableClaudeAiConnectorsを参照してください。
サーバーの評価方法
サーバーをロードする前に、managed-mcp.json からのサーバーを含めて、Claude Code は以下の 3 つのチェックを順番に実行します。ユーザーがサーバーを再接続するか、/mcp で無効なサーバーをオンに戻すときに再度実行されます。インプロセス type: "sdk" サーバー(セッションを開始したアプリが登録)は、3 つすべてをスキップします。
-
リストをマージします。 すべての設定スコープからの allowlist と denylist エントリが 1 つの allowlist と 1 つの denylist に結合されます。
allowManagedMcpServersOnlyがtrueの場合、管理 allowlist のみが保持されます。denylist は常にすべてのスコープからマージされます。複数の管理ソースが存在する場合、すべての管理ソースから読み取られるキーは、管理スコープのリストを提供するソースを示しています。 - denylist をチェックします。 URL、コマンド、または名前で denylist エントリにマッチするサーバーはブロックされます。denylist マッチをオーバーライドするものはありません。
-
allowlist をチェックします。
allowedMcpServersがどこにも設定されていない場合、denylist を通過したすべてのサーバーがロードされます。設定されている場合、サーバーがマッチする必要があるものはそのタイプに依存し、以下の表に示されています。 3 つのサーバーグループはこのチェックをスキップします。- 組織自身のサーバー:すべての
managedMcpServersエントリ、および${VAR}展開を使用しない値を持つmanaged-mcp.jsonエントリ。 - Chrome の Claude、Claude Code が実行中の VS Code または JetBrains IDE に接続する
ideサーバー、CLI 自身が設定するサーバーなどの組み込みサーバー。 - Claude Tag セッションの Slack ツール:スレッドを読み取り、返信を投稿するために使用するサーバーは allowlist エントリなしでロードされます。
env、URL、またはヘッダーで${VAR}展開を使用するmanaged-mcp.jsonサーバーはまだチェックされます。ユーザー、プラグイン、claude.ai が追加するすべてのサーバー、および--mcp-configでユーザーが渡すすべてのサーバーも同様です。 - 組織自身のサーバー:すべての
これらのチェック内で 3 つのマッチングルールが適用されます。
- コマンドは完全にマッチします。 すべての引数、順番に。
["npx", "-y", "server"]は["npx", "server"]または["npx", "-y", "server", "--flag"]にマッチしません。 serverCommandとserverUrlの値はマッチング前に展開されます。 ポリシーエントリとサーバーの設定値の両方が${VAR}と${VAR:-default}展開を通過するため、["${HOME}/bin/server"]として書かれたエントリは、同じ参照または展開されたパスのいずれかを使用するサーバー設定にマッチします。Windows では、${HOME}の代わりに${USERPROFILE}など、そこで設定されている環境変数を参照します。serverNameの値は文字通りマッチし、展開されません。両側は異なる環境を読みます。ポリシーエントリの展開方法は、どちらであるか、および allowlist と denylist エントリがどのように異なるかについて説明しています。- URL は
*ワイルドカードをパターン内の任意の場所(スキームを含む)でサポートします。ホスト名マッチングは大文字と小文字を区別せず、末尾の FQDN ドットを無視するため、https://Mcp.Example.com/*はhttps://mcp.example.com/apiにマッチします。パスは大文字と小文字を区別したままです。
ポリシーエントリの展開方法
サーバーの設定値は、.mcp.json の残りの部分と同様に、ライブプロセス環境から展開されます。ポリシーエントリは代わりにピン留めされた環境から展開されるため、プロジェクトまたはユーザー設定ファイルによって設定された変数が allowlist エントリの意味を変更することはできません。ポリシーエントリはまだ参照する任意の変数の起動シェルの値に依存するため、強制に依存するエントリには文字通りの URL とコマンドを使用します。
Claude Code v2.1.219 以降が必要です。
設定例
以下の設定は、denylist を使用したハード allowlist をセットアップします。ハイライトされた行は、リストの残りの部分がどのように評価されるかを変更し、ブロック後の吹き出しは各行を説明しています。- 3 行目: 最初の
serverUrlエントリ。1 つ存在すると、すべてのリモートサーバーは URL パターンにマッチする必要があるため、ユーザーは許可された名前を与えることでリストされていないリモートサーバーを取得できません。 - 5 行目: 最初の
serverCommandエントリ。stdio サーバーでも同じ効果があるため、すべてのローカルサーバーはリストされたコマンドに完全にマッチする必要があります。 - 11 行目: denylist の
serverNameエントリ。denylist エントリは常に適用されるため、dangerous-serverという名前のサーバーは URL またはコマンドに関係なくブロックされます。
serverName エントリは、両方のトランスポートタイプがすでにより厳密なエントリを持っているため、何にもマッチしません。
以下のアコーディオンは、他の allowlist と denylist の組み合わせに対してサーバーがどのように評価されるかについて説明しています。
URL のみの allowlist
URL のみの allowlist
コマンドのみの allowlist
コマンドのみの allowlist
名前とコマンドが混在した allowlist
名前とコマンドが混在した allowlist
名前のみの allowlist
名前のみの allowlist
denylist オーバーライド付き allowlist
denylist オーバーライド付き allowlist
allowlist を管理設定のみに制限する
管理 allowlist のみが適用されるようにするには、管理設定ファイルでallowManagedMcpServersOnly を設定します。
allowManagedMcpServersOnly が true の場合、ユーザー、プロジェクト、ローカル設定からの allowlist は無視されます。denylist はすべての設定スコープからマージされるため、ユーザーは常に自分自身のサーバーをブロックできます。
制限がユーザーに表示される方法
managed-mcp.json がデプロイされ、セッションに --mcp-config サーバーもある場合にスタートアップ時にユーザーに表示される内容については、managed-mcp.json による排他的制御を参照してください。このテーブルを使用して他のレポートを認識し、変更をロールアウトする前にユーザーが何を期待するかを伝えてください。
サーバーが静かに消える場合、ユーザーはポリシーが理由であるという信号を受け取らないため、変更をロールアウトする際に影響を受けるユーザーにどのサーバーがブロックされているかを伝えてください。
MCP 使用状況を監視する
OpenTelemetry エクスポートを設定すると、Claude Code はユーザーが呼び出す MCP サーバーとツールを記録できます。OTEL_LOG_TOOL_DETAILS=1 を設定して、MCP サーバーとツール名をツールイベントとコストおよびトークンカウンターに含めます。その後、コレクターで集計して、ユーザーが実際に接続するサーバーを確認します。エクスポーターを設定し、完全なイベントスキーマについては、監視を参照してください。
設定の概要
このページで扱うすべてのファイルと設定、それらが制御する内容、および配信方法:関連リソース
- 実施する内容を決定する:MCP 制限と権限ルール、サンドボックス化、および他の管理制御
- MCP 経由で Claude Code をツールに接続する:トランスポート、スコープ、認証を含む完全な MCP リファレンス
- 設定:設定階層と管理設定がどのように優先されるか
- サーバー管理設定:Claude.ai 管理コンソールから
allowedMcpServersとdeniedMcpServersを配信します - セキュリティ:これらの制御が防御する脅威モデル
- Claude Enterprise Administrator Guide:SSO、SCIM、シート管理、およびロールアウトプレイブック