auth_mode 形狀,以及你的憑證會發生什麼。關於連線建立後
閘道對每一次 tools/call 所做的一切——每次呼叫的
政策、命名空間化、SSRF 防護——請見
MCP 閘道參考。
1. 為何在閘道驗證
沒有閘道,每個與一個 MCP 伺服器對話的代理都帶著它自己 那一份該伺服器的權杖,散落在各個設定與提示詞中。改用 OrcaRouter 路由該伺服器,則憑證恰好存在於 一個地方:- 每個伺服器一份已儲存的密鑰。 你在工作區記錄上註冊憑證 一次。代理用一個 OrcaRouter 金鑰連接到閘道—— 它們永不會看見上游伺服器的權杖。
- 靜態時加密,讀取時遮罩。 憑證在它被 儲存時加密。每當你透過主控台或 SDK 讀回該伺服器時, 密鑰會以遮罩形式回來——沒有任何 API 會以 明文回傳它。
- 在派發時注入。 閘道只在它把一次
tools/call轉送 到真正伺服器的那一刻才解密憑證,然後把它附加到 那個外向請求上。它永不會被回送到模型或客戶端。
一個你讀不回的憑證是一個功能,不是一個缺口。因為讀取
總是被遮罩,一個外洩的主控台工作階段或 SDK 權杖無法外洩你的
MCP 伺服器密鑰——它只能重新指向或輪替它們。
2. 挑選一個 auth_mode
每一筆伺服器註冊攜帶一個 auth_mode。它是一個由四個值組成的
封閉集合,並決定你在 auth_json 中提供的憑證
形狀:
none — 無憑證
none — 無憑證
該伺服器是開放的(或依網路信任閘道)。把
auth_json 留空。這是當你不設定 auth_mode 時的預設值。bearer — 單一權杖
bearer — 單一權杖
託管 MCP 伺服器最常見的情況。提供一個權杖;
閘道在每次呼叫時把它作為一個 bearer 憑證傳送。
oauth — 一個已儲存的存取權杖
oauth — 一個已儲存的存取權杖
用於受 OAuth 保護的伺服器。提供一個你已經
鑄造好的
access_token;閘道把它作為一個 bearer 憑證傳送,正如
bearer。自動的 client-credentials 交換(用一個
client_id/client_secret 換取一個全新權杖)尚不可用——
一筆沒有 access_token 的 oauth 註冊會被拒絕。basic — 使用者名稱與密碼
basic — 使用者名稱與密碼
HTTP basic auth。
3. 註冊一個安全的 MCP 伺服器 —— 一個範例
MCP 伺服器註冊是一個主控台動作:它在你的 工作階段/存取權杖下對/api/workspace/firewall/mcp_servers 執行,而
寫入一個伺服器需要 Developer+ 角色。(這不同於
你用於 /v1/* 模型呼叫的 sk-orca-… 轉送金鑰——那個金鑰永不
管理工作區設定。)
從防火牆主控台註冊一個 bearer 驗證的伺服器,或直接用你的
工作階段權杖:
name 每個工作區唯一(重複時回傳 HTTP 409),且
不可包含 .——那個字元把工具命名空間化為
<server>.<tool>。在進入時,OrcaRouter 會加密 auth_json 並
只儲存密文。當你讀回該伺服器時,你會得到
遮罩形式。
4. 證明連線可運作
驗證直到閘道能用你儲存的憑證實際觸及 該伺服器才算完成。探測它:status:
status | 意義 |
|---|---|
ok | 已觸及並已驗證;工具已探索。 |
degraded | 可觸及但未完全健康。 |
down | 無法連接或驗證。 |
down 結果幾乎總是意味著一個壞的
憑證或錯誤的 auth_mode——修正 auth_json 並再次探測。
探測是一個 Developer+ 動作;隨附的行程內伺服器沒有
端點且不可被探測。
一個停用的伺服器是乾淨的關閉開關:它的工具會從
閘道中消失,且它的憑證永不會被解密。當你還在
釐清它的驗證時停用一個伺服器,一旦一次探測回到
ok 就重新啟用。5. 從一個代理讀取伺服器
你的代理不讀取憑證。當一個 SDK 代理需要執行期 註冊表時,它用一個防火牆閘道範圍的金鑰呼叫GET /api/v1/firewall/mcp_servers——一個專用金鑰,不是你的轉送金鑰,
也不是你的工作階段。那條路徑只服務已啟用的伺服器,而閘道
仍從頭到尾擁有憑證注入。
將一個代理連接到統一的 MCP 端點記載於
閘道參考。
6. 下一步去哪裡
連接你的第一個伺服器
完整的註冊逐步說明,從空工作區到一個上線的工具。
輪替憑證
在不中斷連線的情況下替換一個外洩或過期的密鑰。
允許清單 MCP 工具
決定一個伺服器的哪些工具你的代理實際上可以呼叫。
限制 egress
約束一個伺服器的工具被允許在網路上觸及何處。
