Chuyển đến nội dung chính
Khi một key rò rỉ, một nhà thầu rời đi, hoặc một token đơn giản là quá hạn, bạn cần đổi credential trên một MCP server đã đăng ký mà không phá bỏ bản ghi server, soạn lại các quy tắc firewall của nó, hoặc làm gián đoạn các agent đã kết nối qua gateway. Đó là xoay vòng: cập nhật auth trên một server hiện có, và MCP gateway bắt đầu tiêm secret mới ngay trên tools/call kế tiếp mà nó dispatch. Auth của mỗi server được mã hóa lúc nghỉ và masked khi đọc, nên plaintext token không bao giờ vòng trở lại console của bạn, các agent của bạn, hoặc mô hình. Xoay vòng là một update một trường qua workspace console.

1. Tại sao xoay vòng secret MCP là hành động riêng của nó

Một MCP server đã đăng ký giữ ba thứ bạn không muốn mất khi một credential thay đổi: một workspace name duy nhất (namespace <server>.<tool> mà các quy tắc của bạn glob đối với nó), một endpoint, và tập tool đã khám phá của nó. Xóa và tạo lại server để đổi một token sẽ làm mồ côi mọi quy tắc theo phạm vi <server>.* và buộc một probe mới. Xoay vòng né tránh tất cả điều đó. Bạn PUT cùng một bản ghi server với auth_json mới; mọi thứ khác — name, các quy tắc, các tool đã khám phá — vẫn nguyên tại chỗ.
Gateway tiêm credential vào lúc dispatch, chỉ giải mã chúng để thực hiện cuộc gọi upstream. Một secret đã xoay vòng có hiệu lực ở kết nối kế tiếp — OrcaRouter vô hiệu hóa cache tool theo từng workspace trên mọi thay đổi server, nên không có TTL nào phải chờ.

2. Một xoay vòng cụ thể

Giả sử bạn đã đăng ký một MCP server tên github với một bearer token, và token đó cần được đổi. Đọc bản ghi hiện tại trước — phản hồi mask secret, nên bạn không bao giờ phải xử lý plaintext cũ:
# Configure from the console session (UserAuth), not a relay key.
curl https://api.orcarouter.ai/api/workspace/firewall/mcp_servers/42 \
  -H "Authorization: Bearer <your console access token>"
Rồi PUT cùng một bản ghi với chỉ credential mới. Gửi id trong body và auth_json mới; gateway mã hóa lại nó trước khi nó chạm tới database:
curl -X PUT https://api.orcarouter.ai/api/workspace/firewall/mcp_servers \
  -H "Authorization: Bearer <your console access token>" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 42,
    "auth_json": "{\"token\":\"ghp_NEW_token\"}"
  }'
Các trường bạn bỏ qua được để nguyên — name, endpoint, auth_mode, và enabled đều giữ các giá trị đã lưu của chúng. Token mới live trên tools/call kế tiếp.
Echo mask để giữ một secret; gửi một giá trị thật để đổi nó. Nếu bạn đọc bản ghi và PUT nó trở lại nguyên văn, placeholder masked trong auth_json được nhận diện là “giữ cái đã lưu” — secret không bị ghi đè bằng mask. Chỉ một auth_json thực sự mới mới xoay vòng credential.

3. Đổi auth mode, không chỉ secret

Xoay vòng cũng bao gồm việc chuyển một server giữa các sơ đồ auth. Tập đóng các giá trị auth_mode là:
Không credential. auth_json rỗng. Dùng cho các MCP server công khai hoặc được tin tưởng theo mạng.
{ "token": "…" } — gửi như một header Authorization: Bearer.
{ "client_id": "…", "client_secret": "…", "token_url": "…" }. Nếu bạn lưu một access_token tĩnh trong JSON, gateway gửi nó như một bearer token; bản thân việc trao đổi client-credentials chưa được chạy, nên một server cần một trao đổi live sẽ thất bại cho đến khi bạn cung cấp một token.
{ "username": "…", "password": "…" } — HTTP basic auth.
Việc chuyển đổi giữa hai mode có credential (ví dụ bearerbasic) yêu cầu gửi một auth_json mới trong cùng một request. Ciphertext đã lưu bị ràng buộc với mode gốc của nó, nên secret cũ không thể được diễn giải lại dưới hình dạng mới — cung cấp credential mới, nếu không update bị từ chối.

4. Sau khi bạn xoay vòng: probe lại

Một credential đã xoay vòng thay đổi những tool nào bạn có thể tiếp cận nếu token cũ đã bị thu hồi. Probe server để xác nhận auth mới hoạt động và làm mới status khả năng tiếp cận của nó:
curl -X POST \
  https://api.orcarouter.ai/api/workspace/firewall/mcp_servers/42/probe \
  -H "Authorization: Bearer <your console access token>"
Probe chạy một cái bắt tay MCP với credential đã giải mã mới và báo cáo ok, degraded, hoặc down. Một thất bại auth hiện ra ở đây thay vì như một lỗi tool gây bối rối giữa lúc chạy.

5. Vai trò và những gì vẫn masked

Mỗi hành động trên trang này là một cuộc gọi console theo phạm vi workspace (/api/workspace/firewall/mcp_servers, UserAuth) và bị giới hạn theo vai trò:
Hành độngVai trò tối thiểu
Đọc một server (secret masked)Member
Xoay vòng / cập nhật / đăng kýDeveloper+
XóaDeveloper+
Plaintext không bao giờ được trả về console của bạn. Các lần đọc mask secret và redact endpoint; gateway là thứ duy nhất giải mã một credential, và chỉ vào khoảnh khắc nó dial server upstream. Mô hình và các agent của bạn không thấy cả token cũ lẫn token mới.

6. Nơi điều này phù hợp

Xoay vòng là một thao tác trong bề mặt tin cậy MCP rộng hơn. Một khi các server của bạn được kết nối và xác thực, cùng một gateway đánh giá mọi tools/call đối với chính sách firewall của bạn trước khi nó chạy, áp dụng quarantine skill ở trên, và kiểm soát phạm vi tiếp cận đi ra.

Kết nối một server

Đăng ký một MCP server và probe các tool của nó.

Xác thực

Chọn đúng auth mode cho mỗi server.

Allow-list các tool MCP

Thu hẹp phạm vi những tool nào mỗi server có thể phơi bày.

Giới hạn egress

Kiểm soát nơi các lời gọi tool có thể vươn tới.
Xem Firewall: các MCP Server để biết toàn bộ vòng đời server và checklist tin cậy MCP để biết lượt làm cứng từ đầu đến cuối. Xoay vòng cũng là một mục thường trực chống lại đầu độc tool MCPexfiltration dữ liệu: một credential bạn có thể đổi nhanh là một credential mà một vụ rò rỉ không thể ngồi lì trên đó.

FAQ

Không. Xoay vòng chỉ thay đổi credential. Server giữ name của nó, nên mọi quy tắc theo phạm vi <server>.* — và bất kỳ allow-list nào — vẫn được đính kèm.
Secret mới được tiêm trên tools/call được dispatch kế tiếp. Không có cache TTL nào phải chờ — OrcaRouter vô hiệu hóa cache tool workspace trên mọi thay đổi server.
Không — và đó là vấn đề mấu chốt. Các lần đọc trả về một secret masked; plaintext chỉ từng được gateway giải mã vào lúc dispatch. Xoay vòng bằng cách gửi một giá trị mới, rồi probe để xác nhận nó hoạt động.