跳轉到主要內容
一個遠端 MCP 伺服器只是一個你的代理 在其上呼叫工具的 HTTP 端點——而它們大多坐落於一個權杖、 一個 OAuth 客戶端,或 basic auth 之後。當你在 防火牆的 MCP 閘道後方註冊那個伺服器時,你把憑證 交給 OrcaRouter 一次、挑選它如何驗證,而閘道會在派發時 注入它。密鑰會在靜態時加密,且永不會傳送到 模型或你的代理程式碼。 本頁涵蓋註冊一個伺服器的驗證面:四種 auth_mode 形狀,以及你的憑證會發生什麼。關於連線建立後 閘道對每一次 tools/call 所做的一切——每次呼叫的 政策、命名空間化、SSRF 防護——請見 MCP 閘道參考

1. 為何在閘道驗證

沒有閘道,每個與一個 MCP 伺服器對話的代理都帶著它自己 那一份該伺服器的權杖,散落在各個設定與提示詞中。改用 OrcaRouter 路由該伺服器,則憑證恰好存在於 一個地方:
  • 每個伺服器一份已儲存的密鑰。 你在工作區記錄上註冊憑證 一次。代理用一個 OrcaRouter 金鑰連接到閘道—— 它們永不會看見上游伺服器的權杖。
  • 靜態時加密,讀取時遮罩。 憑證在它被 儲存時加密。每當你透過主控台或 SDK 讀回該伺服器時, 密鑰會以遮罩形式回來——沒有任何 API 會以 明文回傳它。
  • 在派發時注入。 閘道只在它把一次 tools/call 轉送 到真正伺服器的那一刻才解密憑證,然後把它附加到 那個外向請求上。它永不會被回送到模型或客戶端。
一個你讀不回的憑證是一個功能,不是一個缺口。因為讀取 總是被遮罩,一個外洩的主控台工作階段或 SDK 權杖無法外洩你的 MCP 伺服器密鑰——它只能重新指向或輪替它們。

2. 挑選一個 auth_mode

每一筆伺服器註冊攜帶一個 auth_mode。它是一個由四個值組成的 封閉集合,並決定你在 auth_json 中提供的憑證 形狀:
該伺服器是開放的(或依網路信任閘道)。把 auth_json 留空。這是當你不設定 auth_mode 時的預設值。
託管 MCP 伺服器最常見的情況。提供一個權杖; 閘道在每次呼叫時把它作為一個 bearer 憑證傳送。
{ "token": "ghp_…" }
用於受 OAuth 保護的伺服器。提供一個你已經 鑄造好的 access_token;閘道把它作為一個 bearer 憑證傳送,正如 bearer。自動的 client-credentials 交換(用一個 client_id/client_secret 換取一個全新權杖)尚不可用—— 一筆沒有 access_tokenoauth 註冊會被拒絕。
{ "access_token": "…" }
HTTP basic auth。
{ "username": "…", "password": "…" }
每當 auth_mode 不是 none 時,auth_json 為必填。 以一個空憑證註冊一個 bearer/oauth/basic 伺服器會被 拒絕——閘道不會持久化一個半設定的連線。

3. 註冊一個安全的 MCP 伺服器 —— 一個範例

MCP 伺服器註冊是一個主控台動作:它在你的 工作階段/存取權杖下對 /api/workspace/firewall/mcp_servers 執行,而 寫入一個伺服器需要 Developer+ 角色。(這不同於 你用於 /v1/* 模型呼叫的 sk-orca-… 轉送金鑰——那個金鑰永不 管理工作區設定。) 從防火牆主控台註冊一個 bearer 驗證的伺服器,或直接用你的 工作階段權杖:
curl https://api.orcarouter.ai/api/workspace/firewall/mcp_servers \
  -H "Authorization: Bearer <your-session-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "github",
    "endpoint": "https://api.githubcopilot.com/mcp",
    "auth_mode": "bearer",
    "auth_json": "{\"token\":\"ghp_x\"}",
    "enabled": true
  }'
name 每個工作區唯一(重複時回傳 HTTP 409),且 不可包含 .——那個字元把工具命名空間化為 <server>.<tool>。在進入時,OrcaRouter 會加密 auth_json 並 只儲存密文。當你讀回該伺服器時,你會得到 遮罩形式。
在更新時把遮罩值原樣回送以保持已儲存的密鑰 不變——只有當你真的想輪替它時才送出一個真實的 auth_json。關於 輪替流程,請見憑證輪替

4. 證明連線可運作

驗證直到閘道能用你儲存的憑證實際觸及 該伺服器才算完成。探測它:
curl -X POST \
  https://api.orcarouter.ai/api/workspace/firewall/mcp_servers/42/probe \
  -H "Authorization: Bearer <your-session-token>"
閘道使用解密後的憑證連接到端點、 列出該伺服器的工具,並記錄一個可觸及性 status
status意義
ok已觸及並已驗證;工具已探索。
degraded可觸及但未完全健康。
down無法連接或驗證。
註冊之後立刻得到一個 down 結果幾乎總是意味著一個壞的 憑證或錯誤的 auth_mode——修正 auth_json 並再次探測。 探測是一個 Developer+ 動作;隨附的行程內伺服器沒有 端點且不可被探測。
一個停用的伺服器是乾淨的關閉開關:它的工具會從 閘道中消失,且它的憑證永不會被解密。當你還在 釐清它的驗證時停用一個伺服器,一旦一次探測回到 ok 就重新啟用。

5. 從一個代理讀取伺服器

你的代理不讀取憑證。當一個 SDK 代理需要執行期 註冊表時,它用一個防火牆閘道範圍的金鑰呼叫 GET /api/v1/firewall/mcp_servers——一個專用金鑰,不是你的轉送金鑰, 也不是你的工作階段。那條路徑只服務已啟用的伺服器,而閘道 仍從頭到尾擁有憑證注入。 將一個代理連接到統一的 MCP 端點記載於 閘道參考

6. 下一步去哪裡

連接你的第一個伺服器

完整的註冊逐步說明,從空工作區到一個上線的工具。

輪替憑證

在不中斷連線的情況下替換一個外洩或過期的密鑰。

允許清單 MCP 工具

決定一個伺服器的哪些工具你的代理實際上可以呼叫。

限制 egress

約束一個伺服器的工具被允許在網路上觸及何處。
關於這背後的概念——閘道如何坐落在請求路徑中,以及 為何憑證永不接觸模型——請見 OrcaRouter 如何審查保護 AI 代理。關於這 封堵的威脅,請見 MCP 工具下毒資料外洩