結論:サーバー、データ、操作の三つの境界を先に固定する
先に答えると、Claude CodeのMCPセキュリティは、接続先を信頼できるか、どのデータを渡すか、どの操作を許可するかの三つを接続前に固定することから始まります。MCPサーバーはClaude Codeへ外部システムの読み取りや操作能力を追加します。そのため、通常のチャットへ文章を貼る場合より、認証情報、継続的なアクセス、書き込み権限、外部コンテンツ由来のprompt injectionを考える必要があります。
読者の困りごとは、公式Directoryにある、接続できる、承認画面が出るという事実だけで、安全と判断してよいか分からないことです。この記事を読めば、導入審査で確認する八項目と、許可・保留・禁止の判断境界を作れます。次の行動は、候補サーバー一件について権限表とデータフローを書き、未確認欄が残る間は本番接続をHOLDすることです。
Directory掲載と自社審査は別で考える
Anthropic公式のSecurity文書は、信頼する提供元のMCPサーバーを使うことを推奨しています。Directoryのconnectorは掲載基準に沿ってレビューされますが、AnthropicがすべてのMCPサーバーをセキュリティ監査し、運用を管理するわけではないとも明記されています。掲載は候補選定の材料であり、自社の承認を置き換える証拠ではありません。
審査では、運営主体、ソース公開の有無、更新履歴、脆弱性連絡先、認証方式、保持期間、再委託先、障害通知、サービス終了時のデータ削除を確認します。個人が公開したサーバーを業務へ入れる場合は、便利さより保守継続性と侵害時の影響を重く見ます。説明できない項目があれば、読み取り専用の検証か自社実装へ切り替えます。
prompt injectionを接続先の問題として扱う
MCPサーバーがWeb、メール、チケット、文書など外部コンテンツを取得する場合、その中にAIへの悪意ある指示が混ざる可能性があります。公式文書も、外部コンテンツを取得するサーバーにはprompt injectionリスクがあると警告しています。文章が自然に見えることと、信頼できる命令であることは別です。
対策は、機密操作と外部コンテンツの処理を同じセッションで行わない、ネットワークとファイル書き込みを必要な範囲へ限定する、重要コマンドと外部送信を人間承認にする、取得内容を命令ではなくデータとして扱う、成果物の変更差分を確認することです。プロンプトだけで完全に防ぐと考えず、侵入されても重要操作へ届かない権限設計にします。
企業が決めるセキュリティ8項目
- 提供元と保守責任者:誰が更新し、問題を受け付けるか。
- データ範囲:公開、社内、個人、機密のどこまで読めるか。
- 操作範囲:読み取り、作成、更新、削除、送信を分離できるか。
- 認証:OAuth、トークン、失効、ローテーション、保管先が決まっているか。
- スコープ:個人、端末、プロジェクト、組織のどこへ設定するか。
- ネットワーク:接続先ドメインと外部取得を制限できるか。
- 監査:誰がいつどのツールを使い何を変更したか追えるか。
- 停止:侵害、誤操作、退職時に接続と資格情報を無効化できるか。
八項目はチェックを埋めるためではなく、事故時の影響範囲を小さくするために使います。例えば監査ログが弱い場合は、書き込みを禁止し、検証環境だけに限定するという代替策を取れます。項目ごとに「確認済み」「制約付き」「未確認」を分け、未確認を黙って許可へ移しません。
認証情報と設定ファイルを分離する
projectスコープの設定は共同利用に便利ですが、トークンや個人用資格情報をリポジトリへ入れてはいけません。共有するのは接続定義、必要権限、承認済みサーバー名です。秘密値はOSの安全な保管、OAuth、管理された環境変数など提供元の方式に従います。設定差分のレビューではURLやcommandだけでなく、想定外のヘッダー、引数、環境変数も確認します。
資格情報には所有者、用途、発行日、期限、失効手順を持たせます。広い権限の個人トークンを共用しません。読み取り専用の専用アカウントや短期資格情報が使えるなら優先します。ログへ秘密値が出ないかもテストし、問題時に値をチャットへ貼らず安全な経路で確認します。
導入前チェックリストと停止条件
チェックリストは、提供元確認済み/公式URL一致/必要最小権限/本番と検証の分離/秘密値のGit混入なし/外部コンテンツを扱う表示あり/重要操作は手動承認/監査ログ取得/失効テスト済み/担当者と見直し日設定、の十項目です。初回は公開情報の読み取りだけで試し、実データを入れる前に権限とログを再確認します。
停止条件は、想定外のツールが増えた、接続URLが変わった、提供元が不明になった、権限要求が拡大した、秘密値が出力された、意図しない外部送信や変更が発生した時です。停止後はサーバーを外すだけでなく、資格情報を失効し、変更履歴と影響範囲を確認します。
権限表を業務単位で作る
一つのサーバーに多くのツールがある場合、サーバー単位の許可だけでは粗すぎます。業務ごとに、読む対象、作る対象、更新できる対象、禁止する操作を表へ分けます。たとえば課題管理では、課題の読み取りは許可、コメント下書きは条件付き、担当変更と削除は拒否とします。利用者の役職ではなく、その業務で必要な操作から最小権限を決めます。
権限表には、操作の影響、承認者、証跡、ロールバック方法も加えます。設定上は同じwrite権限でも、下書き保存と顧客送信では影響が違います。ツール名だけで判断せず、実際の外部作用を代表ケースで確認してください。MCPサーバーや接続先サービスの更新で公開ツールが変わった時は、自動的に許可せず差分審査へ戻します。
監査ログを事故対応に使える形へする
監査では、セッション開始時刻、利用者、サーバー、ツール、対象リソース、承認、結果を追えることが重要です。会話全文を無期限に保存するのではなく、機密性と説明責任を両立する保持期間を決めます。ログへ個人情報や秘密値が入る場合は閲覧者を限定し、調査用コピーにも同じ管理を適用します。
月次レビューでは、使われていない接続、過剰な権限、頻発する拒否、意図しないツール選択を見ます。利用されていないから安全なのではなく、放置された資格情報は将来の侵入口になります。不要な接続は削除し、資格情報も失効したことまで確認します。
レビュー結果は、継続、制約変更、停止の三択で記録します。判断者と次回確認日を残してください。
公式情報と無料診断
接続仕様は公式MCPリファレンス、安全策はClaude Code公式Securityで確認してください。Directory掲載条件や機能は更新されるため、公開直前と定期レビュー時にreadbackします。
あわせて、Claude Codeの権限設定、企業導入の進め方、Claudeのセキュリティ確認も確認してください。
Miraigentの無料診断では、候補サーバーのデータフロー、権限、承認、停止条件を整理します。接続可否を感覚で決めず、制約付きで始められる範囲を明確にします。
