Laravel MCPツールによるAIエージェントのセキュリティ確保

MCP経由でAIエージェントにアプリへのアクセス権を与えることは、誰かにキーリングを渡すようなものです。ルールを設定しなければ、彼らは間違ったドアを開けてしまうかもしれません。

最近、マルチテナントのLaravelアプリ向けにMCPツールを構築しました。私の目標は一つでした。エージェントに他人のデータを見せることなく、アプリを操作させることです。

MCPツールの問題点

すべてのMCPツールはエンドポイントです。エージェントがツールを呼び出すと、サーバーがコードを実行します。マルチテナントアプリでは、すべてのツールが次の2つの問いに答えなければなりません。

  • これを行う権限がありますか?
  • この特定の組織内でそれを行う権限がありますか?

一つでも欠けると、データが漏洩します。

なぜ標準的なマルチテナンシーでは不十分なのか

通常のWebアプリでは、セッションがあります。組織IDによってデータをフィルタリングするためにグローバル