projects.limits on the management client,
the rest on the project client.
The
workflows_* tools work on the management MCP, and on the project’s own
MCP (https://<project slug>.<project domain>/mcp) with a secret key. There
the tools that change something are offered only once the project’s operator
has switched MCP writes on.
Steps
Keys
- On the SDK, a key’s token is in the answer that issued it and never again.
A retry with the same
Idempotency-Key(SDK{ idempotencyKey }) answers the same key withtoken: null, so keep the token from the first answer, as a secret. - The MCP tools never answer a token:
project_create_keyandproject_rotate_keyanswer the key’s id, kind, name and prefix withtoken: null, first and on a retry. A person who needs the token issues or rotates the key in the console or with the SDK. - A key may carry a
name, up to 256 characters, shown in the key list. - Rotating a key issues a new key of the same kind and name, its token shown
once as on issue (never by MCP), and revokes the old key in the same
change: update every place that uses the old token first. A revoked key cannot be rotated
(
409 conflict). - Issuing, listing, rotating and revoking keys needs the project’s admin role.
- A worker key may only connect a worker. Keep secret and worker keys out of
browser and mobile code; a publishable key reaches nothing under
/workflows/v1. - A revoked key is refused from then on, and a worker connected with it is disconnected.
What an agent cannot change
Limits and settings come from the project’s plan and its operator: read them withworkflows_get_limits, never set them through these surfaces. Switching
the project MCP’s write tools on is the operator’s choice too.
Every error is a problem document with a stable code; the codes are listed
in the /workflows/v1 reference.