/ 目錄 / 演練場 / mcp-gateway
● 社群 lasso-security ⚡ 即開即用

mcp-gateway

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

在您的 MCP 伺服器前部署一道安全閘道——遮蔽機密、移除 PII、封鎖提示注入攻擊,並記錄每一次工具呼叫。

Lasso 的 mcp-gateway 是一個以 Python 為基礎的多 MCP 伺服器協調器,內建防護插件系統:基本機密遮蔽、Presidio PII 移除、Lasso 的 LLM 感知提示注入偵測、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 使用,同時避免 PII 外洩

👤 企業資安團隊、平台工程團隊 ⏱ ~45 min advanced

何時使用: 您的內部工具(如 postgres、CRM)若直接使用,可能將客戶姓名、電子郵件、身分證號等資料帶入 LLM 的上下文中。

前置條件
  • pip install mcp-gateway[presidio] — presidio 擴充套件會自動下載 spaCy 模型
步驟
  1. 將上游 MCP 接入閘道
    設定 mcp-gateway 連接上游 postgres MCP;啟用 Presidio 插件,並對 EMAIL、PHONE、US_SSN 進行移除。✓ 已複製
    → 包含插件鏈的設定檔
  2. 測試移除效果
    執行一個會回傳客戶電子郵件的查詢,確認閘道在資料送達 LLM 前已將其替換為 <EMAIL> 佔位符。✓ 已複製
    → Claude 只看到佔位符

結果: LLM 可正常使用工具,但原始 PII 不會跨越安全邊界。

注意事項
  • 過度移除導致下游關聯查詢失敗 — 使用一致的假名(Presidio 支援雜湊式假名),讓 LLM 仍能跨移除欄位進行推理
搭配使用: postgres

封鎖來自工具輸出的提示注入攻擊

👤 具備資安意識的 Agent 開發者 ⏱ ~30 min advanced

何時使用: 您的 Agent 使用了 fetch 或網頁瀏覽類 MCP——工具輸出中可能夾帶「忽略先前指令」之類的惡意酬載。

前置條件
  • Lasso API 金鑰 — 至 lasso.security 註冊帳號
步驟
  1. 啟用 Lasso 插件
    在閘道設定中設定 LASSO_API_KEY 並開啟 Lasso 插件,將 fetch MCP 置於其後。✓ 已複製
    → 插件已啟用;輸出正在被掃描
  2. 進行測試
    讓 Claude 擷取一個含有已知提示注入測試字串的網址,確認在送達模型前已被攔截或中和。✓ 已複製
    → 注入攻擊被封鎖或標記

結果: 防禦工具輸出中的提示注入攻擊。

注意事項
  • 誤報導致合法內容被封鎖 — 先以「warn」模式運行,檢閱日誌後再切換為「block」
搭配使用: fetch · firecrawl

記錄所有 MCP 工具呼叫以供合規稽核

👤 合規與資安稽核團隊 ⏱ ~20 min intermediate

何時使用: 您需要 SOC2 等級的證據,以記錄 LLM 對工具發出了哪些請求。

步驟
  1. 啟用 Xetrack 插件
    以 SQLite 作為儲存目標啟用 Xetrack,並將所有 MCP 路由至閘道。✓ 已複製
    → mcp_calls.db 正在寫入
  2. 查詢稽核日誌
    顯示過去 24 小時內所有工具名稱含有「delete」或「drop」的呼叫記錄。✓ 已複製
    → 破壞性操作的稽核追蹤記錄

結果: 可查詢的稽核資料庫,用於合規用途。

注意事項
  • 日誌資料庫無限增長 — 每月進行輪替與封存

組合

與其他 MCP 搭配,撬動十倍槓桿

gateway + postgres + fetch

資料庫與網路存取,同時啟用 PII 移除與注入防護

將 postgres 和 fetch 置於 mcp-gateway 後方,並啟用 presidio 和 lasso 插件;在 Claude 中照常使用。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
<upstream tools> Depends on upstream MCP 閘道是透明的——您照常呼叫上游工具即可 upstream cost + plugin overhead

成本與限制

運行它的成本

API 配額
Lasso 插件需要 Lasso API 金鑰(付費方案)
每次呼叫 Token 數
插件額外負擔約每次呼叫 50-200ms;移除操作可減少 token 用量
費用
閘道本身免費。Lasso 插件:請參閱 lasso.security 定價頁面。
提示
免費使用 basic 和 presidio 插件;只有在需要進階注入偵測時才加入 Lasso。

安全

權限、密鑰、影響範圍

憑證儲存: 插件 API 金鑰儲存於環境變數中(LASSO_API_KEY 等)
資料出站: 依插件而異:basic 和 presidio 為本機處理;Lasso 會將樣本傳送至 Lasso 雲端進行分析

故障排查

常見錯誤與修復

Presidio plugin fails to load

安裝擴充套件: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 filters您只使用 Claude,且信任其自身的移除機制無法自訂,也沒有稽核記錄
Concierge SDK您需要的是撰寫 MCP 的框架,而非安全代理解決的是不同層面的問題

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills