MCPのセキュリティは何に注意する?接続先・権限・送る情報

AIからファイルの読み取り・編集・外部送信へつながる道で、それぞれの許可を選ぶイメージ

30秒でわかる答え

MCPのセキュリティは何に注意する?

MCPの安全性は、接続先が何を読み、何を実行し、どこへ情報を送れるかで変わります。「MCP対応」は接続の形式が合うという意味で、そのプログラムの安全性や、渡す権限の適切さまで保証する表示ではありません。

MCPの安全性は、接続先が何を読み、何を実行し、どこへ情報を送れるかで変わります。「MCP対応」は接続の形式が合うという意味で、そのプログラムの安全性や、渡す権限の適切さまで保証する表示ではありません。

ノートを探してもらうための接続と、PC内のファイルを自由に変更できる接続では、任せる範囲が違います。追加ボタンを押す前に、何を任せる設定なのかを見てみましょう。

MCPのセキュリティは接続先と権限で変わる

MCPは、AIアプリと外部の機能や情報をつなぐ共通の取り決めです。接続先で機能を提供するプログラムをMCPサーバーと呼びます。基本の役割分担はMCPとはで説明しています。

ここでいう「サーバー」は、必ず遠くの大型コンピューターを意味するわけではありません。自分のPC内で動くプログラムも、MCPサーバーになれます。

動く場所と、情報の行き先は別に見る
PC内で動くMCP

手元のプログラム。権限次第でファイルを読み、外部とも通信できる。

外部で動くMCP

ネット越しに接続するプログラム。運営者や渡す情報・権限を確かめる。

どちらも、結果を受け取るAIアプリやAI提供元への情報の扱いを確認します。ローカル実行は「外部へ送らない」という意味ではありません。

ローカルMCPなら情報は外へ出ない?

ローカルは、自分のPCなど手元の環境で動くという意味です。外部へ通信しない、という意味ではありません。

公式のローカルMCPサーバー向け安全ガイドでは、起動したプログラムが、与えられた権限に応じてファイルや設定情報を読み、外部へ接続できることを説明しています。MCPという規格が、自動でそのプログラムを隔離してくれるわけではありません。

PC内で読み込んだ資料をAIアプリへ返し、そのアプリが外部のAIサービスへ送る構成も考えられます。プログラムが動く場所と、情報が届く場所を分けて確認する必要があります。

リモート型では、外部のサーバーの運営者、認証、情報の扱いなどが関わります。ローカルとリモートのどちらかが、名前だけで常に安全になるわけではありません。

MCPサーバーに渡す情報と許可する操作

接続する目的が「一つの資料を探す」なら、関係のないフォルダや編集機能まで必要でしょうか。目的と権限を並べると、余分な許可が見つかりやすくなります。

確認する範囲具体的に見ること
読める情報指定したファイルだけか、フォルダ全体か、アカウント内の広い範囲か
できる操作検索・閲覧だけか、作成・編集・削除・公開もできるか
情報の行き先PC内、MCPサーバー、AIの提供元など、どこへ渡る構成か
利用を終える方法接続を外すだけでよいか、連携先の許可や認証情報も見直す必要があるか

権限を細かく選べるかは、サーバーやサービスによって違います。必要な範囲まで絞れない場合は、別の接続方法を選ぶ、管理者へ相談する、接続を見送る、といった判断もできます。

「読み取り専用」と書いてあれば十分?

読み取り専用でも、読める情報の扱いは確認します。内容を変更できなくても、秘密の資料を読めるなら、漏えいへの配慮は必要です。

また、ツールの説明文に「読み取り専用」と書いてあることと、実際のアカウント権限が書き込みを拒否することは別です。MongoDBの公式MCPガイドも、ツールに付いた説明用の情報は、操作を強制的に制限する仕組みではないと説明しています。

利用者が仕組みの内部まで調べられない場合は、提供元の案内で、どの設定が実際の制限になるかを確認してください。「安全」という名前のツールだから、という判断だけでは足りません。

MCPとプロンプトインジェクションの関係

MCPをつなぐと、AIがツールから資料や説明を受け取る機会が増えます。その中に、依頼とは無関係な指示が紛れ込むことがあります。

こうした入力によってAIの動作を誘導する攻撃が、プロンプトインジェクションです。ツールの説明文に悪意のある指示を混ぜる問題は、ツールポイズニングと呼ばれることもあります。名前を覚えるより、道具から返った文章も、そのまま利用者の許可にはならないと考えることが重要です。

たとえば、資料検索の結果に別の場所への送信を求める内容があっても、検索を頼んだあなたが送信まで依頼したことにはなりません。OWASPの解説でも、外部情報の扱いと、AIが使う機能の権限を制限する対策が示されています。

AIエージェントに多くの道具をつなぐと便利になりますが、一つの接続から入った情報が、別の道具を使う判断に関わる構成もあります。追加する道具を単独で見るだけでなく、組み合わせたときの範囲も見ます。

確認ボタンがあれば、勝手な操作は防げる?

確認は役立ちますが、何を承認するかが見えなければ判断できません。「続行」だけではなく、対象ファイル、操作、送信先、変更内容が分かる表示が必要です。

また、AIアプリ内の確認と、PCのファイルへ触る権限は同じものではありません。ローカルで起動するプログラム自体に広い権限がある場合、AIへの指示だけでその範囲が狭くなるとは限りません。

MCPサーバーの配布元・更新・権限を確認する

新しくつなぐときは、次の順に確認します。分からない設定を、接続できるまで次々に緩める必要はありません。

  1. 提供元を確認する:公式の案内から配布先へ進み、似た名前の別物ではないかを見る。管理や更新の案内があるかも確認します。
  2. 何が動くかを確認する:URLへ接続するのか、PCへプログラムを入れて起動するのかを区別する。起動するコマンドが分からなければ、その場で実行しないようにします。
  3. 必要な範囲を選ぶ:対象の情報と操作を絞り、仕事の資料なら組織が認めた方法を使う。
  4. 停止・解除する場所を確認する:使わなくなった接続を残さず、連携先の許可も確認する。解除の反映方法はサービスごとに異なります。

APIを使うための秘密のキーなどを設定する場合も、説明を受けるために、その文字列を公開チャットやSNSへ貼る必要はありません。

更新のお知らせは、MCP以外の部分も関係する

MCPサーバーは、さまざまな言語や部品で作られます。すべてがNode.js製ではありませんが、使っているサーバーがNode.jsや別の部品に依存していれば、その修正が関係する場合があります。

「MCPの接続は動いているから、更新は不要」とは判断せず、提供元の対象版と対処を確かめます。更新で新たな権限を求められた場合も、前と同じと思い込まず内容を確認してください。

まずは、つないでいるMCPサーバーを一つ選び、提供元・読める情報・できる操作・外す方法を確認してみてください。四つを説明できる状態にすることが、便利な接続を使い続けるための土台になります。

内容の最終確認日: