/ ディレクトリ / プレイグラウンド / mcp-gateway
● コミュニティ lasso-security ⚡ 即起動

mcp-gateway

作者 lasso-security · lasso-security/mcp-gateway

MCPサーバーの前にセキュリティゲートウェイを設置し、シークレットのマスキング、個人情報の墨消し、プロンプトインジェクションのブロック、全ツール呼び出しのログ記録を実現します。

Lassoの mcp-gateway は、複数のMCPサーバーを統合管理するPythonベースのオーケストレーターです。ガードレール用のプラグインシステムを備え、基本的なシークレットマスキング、Presidioによる個人情報墨消し、LLM対応のプロンプトインジェクション検出(Lasso)、Xetrackトレーシング、サーバーレピュテーションスキャンに対応しています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

gateway.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "gateway": {
      "command": "uvx",
      "args": [
        "mcp-gateway"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "gateway": {
      "command": "uvx",
      "args": [
        "mcp-gateway"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "gateway": {
      "command": "uvx",
      "args": [
        "mcp-gateway"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "gateway": {
      "command": "uvx",
      "args": [
        "mcp-gateway"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "gateway",
      "command": "uvx",
      "args": [
        "mcp-gateway"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "gateway": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-gateway"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add gateway -- uvx mcp-gateway

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: mcp-gateway

個人情報を漏洩させずに社内MCPをClaudeに公開する

👤 エンタープライズセキュリティ、プラットフォームチーム ⏱ ~45 min advanced

使うタイミング: 社内ツール(postgres、CRMなど)を直接使用すると、顧客名・メールアドレス・SSNなどの個人情報がLLMコンテキストに漏洩してしまう場合。

前提条件
  • pip install mcp-gateway[presidio] — presidio extraにより spaCy モデルがインストールされます
フロー
  1. アップストリームMCPをゲートウェイ経由で接続する
    mcp-gateway にアップストリームの postgres MCP を設定し、Presidioプラグインで EMAIL、PHONE、US_SSN の墨消しを有効にしてください。✓ コピーしました
    → プラグインチェーンを含むコンフィグファイル
  2. 墨消しをテストする
    顧客のメールアドレスを返すクエリを実行し、LLMに届く前にゲートウェイが <EMAIL> プレースホルダーに置換していることを確認してください。✓ コピーしました
    → Claudeにはプレースホルダーのみが表示される

結果: 生の個人情報が境界を越えることなく、LLMからツールを利用可能。

注意点
  • 過剰な墨消しにより下流のJOIN処理が壊れる — 一貫した仮名化(Presidioのハッシュベース方式)を使用し、墨消し後のフィールド間でもLLMが推論できるようにする
組み合わせ: postgres

ツール出力からのプロンプトインジェクション攻撃をブロックする

👤 セキュリティ意識の高いエージェント開発者 ⏱ ~30 min advanced

使うタイミング: エージェントがfetch/Webブラウジング系MCPを使用しており、ツール出力に「以前の指示を無視せよ」といったペイロードが含まれる可能性がある場合。

前提条件
  • Lasso APIキー — lasso.security でサインアップ
フロー
  1. Lassoプラグインを有効化する
    ゲートウェイコンフィグで LASSO_API_KEY を設定し、Lassoプラグインを有効にしてください。fetch MCPをその背後に配置します。✓ コピーしました
    → プラグインが有効化され、出力がスキャンされる
  2. テストする
    既知のプロンプトインジェクションテスト文字列を含むURLをClaudeにフェッチさせ、モデルに届く前に無害化されることを確認してください。✓ コピーしました
    → インジェクションがブロックまたはフラグされる

結果: ツール出力経由のインジェクション攻撃に対する防御。

注意点
  • 誤検出により正当なコンテンツがブロックされる — まず 'warn' モードで開始し、ログを確認してから 'block' に切り替える
組み合わせ: fetch · firecrawl

コンプライアンス監査用に全MCPツール呼び出しを記録する

👤 コンプライアンス/セキュリティ監査チーム ⏱ ~20 min intermediate

使うタイミング: LLMがツールに対して何を要求したかについて、SOC2レベルのエビデンスが必要な場合。

フロー
  1. Xetrackプラグインを有効化する
    Xetrackを SQLite 出力先で有効にし、全MCPをゲートウェイ経由でルーティングしてください。✓ コピーしました
    → mcp_calls.db が書き込まれている
  2. 監査ログを照会する
    過去24時間のツール呼び出しのうち、ツール名に 'delete' または 'drop' を含むものをすべて表示してください。✓ コピーしました
    → 破壊的操作の監査証跡

結果: コンプライアンス用のクエリ可能な監査データベース。

注意点
  • ログDBが際限なく肥大化する — 月次でローテーションとアーカイブを実施する

組み合わせ

他のMCPと組み合わせて10倍の力を

gateway + postgres + fetch

個人情報保護+インジェクションガード付きのDB+Webアクセス

postgres と fetch を mcp-gateway の背後に配置し、presidio + lasso プラグインを有効にした上で、Claudeから通常どおり使用してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
<upstream tools> Depends on upstream MCP ゲートウェイは透過的に動作するため、アップストリームのツールを通常どおり呼び出すだけで利用できます upstream cost + plugin overhead

コストと制限

運用コスト

APIクォータ
LassoプラグインにはLasso APIキー(有料プラン)が必要です
呼び出しあたりのトークン
プラグインのオーバーヘッドは呼び出しごとに約50〜200ms。墨消しによりトークン数は削減されます
金額
ゲートウェイ自体は無料です。Lassoプラグインの料金は lasso.security の価格ページをご確認ください。
ヒント
basic + presidio プラグインは無料で利用可能です。高度なインジェクション検出が必要な場合のみ Lasso を追加してください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: プラグインのAPIキーは環境変数(LASSO_API_KEY など)に格納します
データ送信先: プラグインにより異なります: basic + presidio はローカル処理のみ。Lassoは分析のためにサンプルをLassoクラウドに送信します

トラブルシューティング

よくあるエラーと対処法

Presidio plugin fails to load

extraをインストールしてください: pip install 'mcp-gateway[presidio]'。次に spaCy モデルをダウンロードします: python -m spacy download en_core_web_lg

Upstream MCP not responding through gateway

まずアップストリームに直接接続してテストし、次にゲートウェイの mcp.json の command/args が正確に一致しているか確認してください。

Performance drop

プラグインチェーンの順序が重要です。最もコストの低いもの(basic mask)を先頭に、Lassoを最後に配置してください。

代替案

mcp-gateway 他との比較

代替案代わりに使う場面トレードオフ
Claude's built-in output filtersClaudeのみを使用し、Claude自体の墨消し機能を信頼する場合カスタマイズ不可、監査証跡なし
Concierge SDKセキュリティプロキシではなく、MCP開発用のフレームワークが必要な場合解決する課題の領域が異なる

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る