From 8c7b51c35565300f5269d089699604ceb3161b25 Mon Sep 17 00:00:00 2001 From: Abdelrahman Essawy Date: Mon, 31 Aug 2026 07:23:00 +0300 Subject: [PATCH 1/2] docs(mcp): correct the tool count and say how to take access back MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The page said the server gives a client 10 tools. It is more than that, and the number was already wrong twice — dropped rather than replaced, since a count in prose goes stale every time the surface changes. Adds where connected apps are managed and what revoking actually does, including the part that can surprise: the grant and every stored token go immediately, but an access token the app already holds stays valid until it expires, under an hour. --- mcp-server.mdx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/mcp-server.mdx b/mcp-server.mdx index d99294d..25be896 100644 --- a/mcp-server.mdx +++ b/mcp-server.mdx @@ -25,7 +25,7 @@ canonical: "https://rendobar.com/docs/mcp-server" }} /> -The MCP server at `https://api.rendobar.com/mcp` gives any MCP client 10 tools: submit a job, upload a file, poll status, and chain a completed job into the next one. Connect it with one command over OAuth, no API key to copy. +The MCP server at `https://api.rendobar.com/mcp` gives an MCP client the whole platform: submit a job, upload a file, poll status, chain a completed job into the next one, and manage API keys. Connect it with one command over OAuth, no API key to copy. ## Connect @@ -196,6 +196,18 @@ Cursor, Cline, Windsurf, Zed, and Continue all run the same `npx -y @rendobar/mc Needs Node 20.10 or later. The server checks at startup and exits with a clear message if it's older. +## Manage what it can reach + +Approving a connection grants access to one workspace, and you can take it back. + +**[Account, Security](https://app.rendobar.com/account/security)** lists every app you have +connected, what each one can reach, and the workspace it was granted in. Revoking cuts an app off +and forces it to ask again from the start. + +One caveat worth knowing: revoking deletes the grant and every stored token, so the app cannot get +new access or renew what it has, but an access token it is already holding stays valid until it +expires. That is under an hour. + ## See also - [FFmpeg reference](/jobs/ffmpeg): the job type `submit_job` calls in every example on this page From 40f1ea56db9f9ff3e4c994f887aad5bdb5a621dc Mon Sep 17 00:00:00 2001 From: Abdelrahman Essawy Date: Mon, 31 Aug 2026 07:23:09 +0300 Subject: [PATCH 2/2] docs(concepts): document scopes, narrowing a key, and the 403 that names one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A public API that refuses a caller by naming a scope has to document what the scopes are, and there was nowhere to look them up — the word appeared zero times across quickstart, sdk, cli and build-with-ai. Covers the six resources and their read and write scopes, that write includes read, that self-description is never scoped, how to narrow a key at creation and the two limits every key has, what a consent screen is asking and that a grant is bound to one workspace, and the insufficient_scope response with its WWW-Authenticate header. SHIPS WITH ENFORCEMENT, not before. The 403 section describes behaviour production does not have yet: scopes are recorded and reported today, and refused once SCOPE_ENFORCEMENT is on. See the rollout runbook in the monorepo. --- concepts/scopes.mdx | 139 ++++++++++++++++++++++++++++++++++++++++++++ docs.json | 1 + mcp-server.mdx | 1 + 3 files changed, 141 insertions(+) create mode 100644 concepts/scopes.mdx diff --git a/concepts/scopes.mdx b/concepts/scopes.mdx new file mode 100644 index 0000000..f69b7ac --- /dev/null +++ b/concepts/scopes.mdx @@ -0,0 +1,139 @@ +--- +title: "Scopes and access" +sidebarTitle: "Scopes" +description: "Configure an API key to hold only what your code needs, see what an app asks for before you allow it, and read the 403 that names a missing scope." +icon: "key" +keywords: ["api scopes", "oauth scopes", "api key permissions", "least privilege api", "insufficient_scope"] +canonical: "https://rendobar.com/docs/concepts/scopes" +--- + +