From f3c576fb96cc59a339200377341edf1d6454d0b1 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 15 Oct 2026 17:23:27 +0000 Subject: [PATCH] docs(mcp): explain that revoked and expired key use shows in workspace traces Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DNbnHbQtPngHdyJu77uaFi --- src/content/docs/en/api/webhooks-and-mcp.md | 2 ++ src/content/docs/vi/api/webhooks-and-mcp.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/content/docs/en/api/webhooks-and-mcp.md b/src/content/docs/en/api/webhooks-and-mcp.md index 7bbba52..68ad3b0 100644 --- a/src/content/docs/en/api/webhooks-and-mcp.md +++ b/src/content/docs/en/api/webhooks-and-mcp.md @@ -159,3 +159,5 @@ Each credential may send 120 requests per minute (bursts of 20) and run 4 tool c These budgets are **per credential, not per workspace**: a workspace with three MCP keys gets three times the budget. Some read tools spend the workspace's own paid quota, for example `web_search` uses the workspace's search providers, so treat even a read key as able to consume that quota. A revoked or expired key fails on its very next request; there is no cache window. An MCP-only key cannot manage keys itself, so revoking a leaked key needs an owner or admin, on the console's **API keys & docs** page or with an admin credential. To cut off every client of a workspace at once without revoking keys, turn workspace access off. + +If someone keeps using a key after you revoked it, or after it expired, each attempt still gets a plain `401` (the caller cannot tell it from a key that never existed), but the attempt is recorded in your workspace's **Traces** on channel `mcp_public`, with the reason `credential_revoked` or `credential_expired` and the key's ID and prefix, never the key itself. Find them in the console's Traces page or with `dewee traces list --channel mcp_public`. diff --git a/src/content/docs/vi/api/webhooks-and-mcp.md b/src/content/docs/vi/api/webhooks-and-mcp.md index 67f1c3a..2b8960f 100644 --- a/src/content/docs/vi/api/webhooks-and-mcp.md +++ b/src/content/docs/vi/api/webhooks-and-mcp.md @@ -159,3 +159,5 @@ Mỗi credential được gửi 120 request mỗi phút (tối đa 20 request d Các giới hạn này tính **theo từng credential, không theo workspace**: workspace có ba key MCP sẽ có gấp ba hạn mức. Một số tool đọc tiêu tốn hạn mức trả phí của chính workspace, ví dụ `web_search` dùng các nhà cung cấp tìm kiếm của workspace, nên hãy coi cả key chỉ đọc cũng có thể tiêu hạn mức đó. Key đã thu hồi hoặc hết hạn thất bại ngay ở request kế tiếp, không có thời gian chờ cache. Key chỉ có scope MCP không tự quản lý được key, nên muốn thu hồi một key bị lộ cần chủ sở hữu hoặc admin, trên trang **API key & tài liệu** của console hoặc bằng một credential admin. Để ngắt mọi client của workspace cùng lúc mà không thu hồi key, hãy tắt quyền truy cập của workspace. + +Nếu ai đó vẫn dùng một key sau khi bạn đã thu hồi, hoặc sau khi key hết hạn, mỗi lần thử vẫn chỉ nhận `401` bình thường (bên gọi không phân biệt được với một key chưa từng tồn tại), nhưng lần thử đó được ghi vào **Traces** của workspace trên kênh `mcp_public`, kèm lý do `credential_revoked` hoặc `credential_expired` cùng ID và prefix của key, không bao giờ ghi chính key. Xem trên trang Traces của console hoặc bằng `dewee traces list --channel mcp_public`.