MCP(Model Context Protocol)は、AIアプリケーションと外部のツール・データをつなぐためのオープンなプロトコルです。ただし、MCPを使えば自動的に安全になるわけではありません。公式仕様自身が、ユーザーの同意やデータ保護などの原則について「MCP自体はプロトコルのレベルでこれらのセキュリティ原則を強制できない」と明記しており、実装する側が認可・権限・監視の仕組みを組み込む必要があります。

本記事では、2026年11月時点で公開されている最新のMCP仕様(2026-07-28版)と公式のセキュリティベストプラクティスにもとづき、MCPの仕様が定めていることと、クライアント・サーバー・ゲートウェイ・インフラ側で追加すべき対策を分けて整理します。MCPの基本はMCPとは?、AIエージェント全体のアーキテクチャはAIエージェントのセキュリティ対策で解説しています。

MCPのアーキテクチャと構成要素

構成要素役割例
ホストAIアプリケーション本体。接続を開始するAIアシスタント、AIエージェント、開発ツール
クライアントホストの中で、各MCPサーバーと接続する部分ホストに組み込まれた接続機能
サーバーツールやデータを提供するCRM・ファイル・データベースへの接続

MCPサーバーが提供する主な機能は、ツール(AIが実行する関数)、リソース(AIや利用者が参照するデータ)、プロンプト(定型の指示)です。メッセージの形式にはJSON-RPC 2.0が使われます。

  1. 利用者
  2. ホスト(AIアプリ)MCPクライアントを内包
  3. MCPサーバーツール・リソースを提供
  4. 社内システム・外部API
MCPの基本構成(概念図)

なぜMCPは企業のAIエージェントにとって重要なのか

AIエージェントが業務を進めるには、CRM・チャット・ファイル・データベースなどへの接続が欠かせません。MCPは、その接続方法を共通化することで、一度作った接続を複数のAIアプリケーションから再利用しやすくするものです。

一方で、MCPサーバーはAIと業務データの境界に位置します。ここが侵害されたり、権限が広すぎたりすると、複数のシステムに影響が連鎖します。だからこそ、MCPは「便利な接続口」であると同時に、最も重点的に統制すべき場所でもあります。

MCP仕様が定めることと、定めないこと

項目仕様が定めること実装側で追加が必要なこと
認可HTTPベースの通信で認可を実装する場合の方式(OAuth 2.1をベースにした仕組み)。ただし認可の実装自体は任意(OPTIONAL)どの利用者に、どのツール・データを許可するかの業務上のルール
トークンMCPサーバーは自分宛てに発行されたトークンのみを受け入れる(オーディエンスの検証)。他のトークンをそのまま下流へ渡すこと(トークンパススルー)は禁止トークンの安全な保管、有効期限、失効の運用
スコープ最小権限の考え方(必要なスコープを段階的に要求する)業務に合わせたスコープの設計
ユーザーの同意ツール実行やデータ共有の前に、ホストが明示的な同意を得るべきという原則承認画面・承認ルール・承認の記録
ツールの説明信頼できないサーバーからのツールの説明(注釈など)は信頼しないものとして扱うサーバーの審査、許可リスト
監視定めていないログ、異常検知、停止手段
ネットワーク定めていない(SSRF対策などはベストプラクティスとして推奨)送信先の制限、ゲートウェイ、ネットワーク分離

MCPの脅威モデル

脅威内容主な対策
信頼できないMCPサーバー悪意あるサーバーや、改ざんされた配布物を導入してしまう許可リスト、提供元の審査、バージョン固定
ツールの説明を使った誘導ツールの説明文に紛れた指示で、AIが意図しない動作をする説明文を信頼しない設計、ツールの審査
外部ツール経由のプロンプトインジェクションツールが返したメール・文書などの内容にAIへの指示が含まれるツール結果をデータとして扱う、重要操作の承認
トークンの不正利用広いスコープのトークンが漏えいし、多くの操作に悪用される最小スコープ、短い有効期限、オーディエンス検証
トークンパススルーMCPサーバーが受け取ったトークンを検証せず下流APIに渡す仕様どおり禁止し、自サーバー宛てのトークンのみ受け入れる
Confused deputy(混乱した代理人)OAuthプロキシ型のサーバーで、利用者の同意をすり抜けて認可コードが攻撃者に渡るクライアントごとの同意、リダイレクトURIの完全一致の検証
SSRF悪意あるサーバーが、クライアントに社内やクラウドのメタデータへアクセスさせるHTTPSの強制、プライベートIP宛ての遮断、送信用プロキシ
ローカルサーバーの侵害ローカルで動くサーバーの起動コマンドに悪意ある処理が含まれる実行前の同意と確認、サンドボックス、最小権限
状態ハンドルの乗っ取り他の利用者の作業IDなどを推測・取得して操作するハンドルを利用者に紐づけ、推測困難な値にする
データの持ち出しツールの結果が別のツール経由で外部に送られる送信系ツールの制限、データの分類、承認

脅威の中でも、プロンプトインジェクションや情報漏えいの基本的な仕組みは、生成AIの情報漏えいリスクと対策で事例とともに解説しています。

認証と認可の考え方

仕様にもとづく認可(HTTPの場合)

  • MCPサーバーはOAuth 2.1の「リソースサーバー」として、アクセストークンを検証する
  • クライアントは、どのMCPサーバー向けのトークンかを明示する(リソースインジケーター)
  • MCPサーバーは、自分宛てに発行されたトークンだけを受け入れる
  • トークンはURLのクエリ文字列に含めない

実装側で決めること

  • どの利用者・どの部署に、どのMCPサーバーとツールの利用を許可するか
  • AIエージェントが使うトークンのスコープと有効期限
  • 退職・異動時のアクセス停止の手順

無料相談受付中

「自社の場合はどうすればいい?」を、専門スタッフと一緒に整理できます。

対象業務の洗い出しからツール選定・実装まで。初回のご相談は無料です。

ツール権限の管理マトリクス(例)

ツールの種類例初期設定承認備考
検索・参照(公開・社内一般)マニュアル検索許可不要参照範囲を限定
参照(機密・個人情報を含む)顧客情報の参照限定許可不要(ただし利用者本人の権限内)利用者の閲覧権限を超えない
下書き作成メール・文書の下書き許可不要送信機能と分離する
書き込みCRMの項目更新限定許可人の承認対象件数の上限を設定
外部への送信メール送信、外部API呼び出し原則無効人の承認宛先の許可リスト
削除・一括変更レコード削除、一括更新無効管理者の承認原則としてAIには許可しない
管理操作権限・設定の変更無効−AIには許可しない

安全な構成と危険な構成の比較

観点危険な構成安全な構成
サーバーの導入社員が任意のMCPサーバーを追加できる承認済みサーバーの許可リストのみ
認証情報管理者権限のAPIキーを設定ファイルに直接記載用途を限定したトークン、秘密情報の管理基盤
トークン受け取ったトークンを検証せず下流に渡す自サーバー宛てのトークンのみ受け入れ、下流には別のトークンを使用
ツール「何でもできる」汎用ツールを1つ公開操作ごとに機能を絞ったツールを公開
承認AIの判断でそのまま実行送信・更新・削除はAIの外側で承認を判定
ネットワーク社内ネットワークに自由にアクセスできる送信先を制限し、ゲートウェイを経由
ローカル実行起動コマンドを確認せず実行実行前に内容を確認し、サンドボックスで実行
ログ記録しないツール呼び出し・承認・結果を記録し、定期的に確認
  1. AIアプリMCPクライアント
  2. MCPゲートウェイ許可リスト・認可・ログ
  3. MCPサーバー機能を絞ったツール
  4. 社内API利用者権限で実行
推奨構成の例(概念図)

プロンプトインジェクションへの備え

MCPのツールが返す内容(メール本文、Webページ、文書など)は、攻撃者が書いた文章を含みうるものとして扱います。

  • ツールの結果を「データ」として扱い、AIへの指示として扱わない設計にする
  • 外部の内容を読んだあとに、送信・更新などの操作を行う場合は人の承認を挟む
  • 1回の依頼で実行できる操作の範囲と回数に上限を設ける

ログとモニタリング

記録する項目目的
接続したMCPサーバーとバージョン不審なサーバーや変更を検知する
呼び出したツール・引数・結果の概要何が実行されたかを追跡する
認可の成否・スコープの要求権限の過剰な要求を検知する
承認・拒否の記録統制が機能しているかを確認する

ログに認証情報や個人情報をそのまま残さないよう、マスキングのルールも決めておきましょう。

実装の推奨事項

  1. 導入するMCPサーバーを許可リストで管理する:提供元・配布元・バージョンを確認する
  2. 認可を有効にする(HTTPの場合):仕様にもとづくOAuth 2.1の仕組みを実装し、トークンのオーディエンスを検証する
  3. スコープを最小にする:最初は参照系のみ。必要に応じて段階的に追加する
  4. ツールを細かく分ける:汎用的な「何でも実行」ツールを公開しない
  5. 重要な操作は承認制にする:承認の要否はAIの外側で判定する
  6. 送信先を制限する:SSRF対策として、プライベートIP宛ての通信を遮断する
  7. ローカル実行はサンドボックスで:起動コマンドの確認と最小権限
  8. ログを残し、定期的に確認する:異常時の停止手順も決めておく

導入チェックリスト

  • 利用するMCPサーバーの許可リストを作成した
  • サーバーの提供元・配布元・バージョンを確認した
  • HTTP接続のサーバーで認可を有効にし、トークンのオーディエンスを検証している
  • トークンパススルーを行っていない
  • スコープを最小にし、段階的に追加する運用にした
  • ツールごとに許可・承認・禁止を決めた
  • 送信・更新・削除の操作に承認を設けた
  • 送信先の制限(SSRF対策)を行った
  • ローカルで動くサーバーはサンドボックスで実行している
  • ツール呼び出しと認可のログを記録し、確認者を決めた
  • 異常時にMCP接続を停止する手順を決めた

FlowStack Labsの見解:MCPサーバーは「社内APIと同じ基準」で審査する

MCPサーバーは「AI用の便利なプラグイン」と捉えられがちですが、実際には社内データやシステムに対する新しいアクセス経路です。FlowStack Labsでは、MCPサーバーを導入・開発する際に、社内APIや外部連携と同じ審査基準を適用することを推奨しています。

審査項目確認すること
提供元と配布元公式の提供元か、改ざんされていないか、バージョンを固定できるか
公開するツール必要な操作だけか。「何でも実行できる」汎用ツールがないか
認証・認可HTTP接続では認可を有効にし、トークンのオーディエンスを検証しているか
実行環境ローカル実行の場合、権限を絞った環境(サンドボックス)か
記録ツール呼び出しと認可の結果を記録しているか

よくある質問

QMCPに対応したサービスを使えば、セキュリティは十分ですか?
A

十分ではありません。MCP仕様は接続と認可の方式を定めていますが、認可の実装は任意で、どのツールを誰に許可するか、どの操作に承認が必要かといった業務上の統制は、実装する側が設ける必要があります。

Q公開されているMCPサーバーを社内で使っても大丈夫ですか?
A

提供元・配布元・権限の範囲を確認し、許可リストで管理したうえで利用してください。ローカルで動かす場合は、起動コマンドを確認し、サンドボックスなど権限を絞った環境で実行するのが安全です。

QOAuthを実装すれば、権限管理は完了ですか?
A

OAuthは「誰が、どのスコープでアクセスできるか」を扱う仕組みです。AIエージェントが実行する個々の操作に人の承認が必要かどうか、1回の依頼でどこまで実行してよいかなどは、別途ポリシーとして設計する必要があります。

QMCPゲートウェイは必須ですか?
A

仕様上の必須要件ではありません。ただし、複数のMCPサーバーを使う場合は、許可リスト・認可・ログを一元管理できるため、企業での運用には有効な選択肢です。

Q社内で独自のMCPサーバーを開発するときの注意点は?
A

自サーバー宛てのトークンのみを受け入れること、ツールの機能を絞ること、入力値を検証すること、ログを残すことが基本です。OAuthプロキシとして外部APIにつなぐ場合は、クライアントごとの同意やリダイレクトURIの検証など、公式のセキュリティベストプラクティスの要件を確認してください。

まとめ

  • MCPはAIと社内ツールをつなぐ共通ルールだが、セキュリティを自動的に保証するものではない
  • 仕様は認可(OAuth 2.1ベース、任意)、トークンのオーディエンス検証、パススルーの禁止などを定める
  • 許可リスト・最小スコープ・承認・送信先の制限・ログは、実装側で追加する統制
  • 脅威モデルと権限管理マトリクスで、導入前にリスクを洗い出す

FlowStack Labsでは、MCPを使ったAIエージェントと社内システムの連携を、認可・権限設計を含めてご支援しています。設計のレビューや導入のご相談は、無料相談からお気軽にどうぞ。

参考資料