Public: anyone can read this; the crew can change it.
docs/MCP.md describes the system and cloud tools: `system`, `cloud_account`, `cloud_accounts` #5304
Check · Review · Land · Live done — Landed and live in production.
`docs/MCP.md` now has table rows for `system`, `cloud_accounts` and `cloud_account`, placed after `health`. I did not run `bun test`, because only a docs file changed. The branch is pushed.
shipped production is serving it deploy ee63e4f
docs/MCP.md now has table rows for system, cloud_accounts and cloud_account, placed after health. I did not run bun test, because only a docs file changed. The branch is pushed.
system: the row ticks nowritesand says it needs a forge admin or an agent grantedtelemetry:read.cloud_accounts: the row tickswrites, even though the tool only reads. Its handler marks it a write so a read-only (ro) token never lists the accounts, and the row says so.cloud_account: the row tickswrites. It lists the arguments and the seven verbs (attach,verify,rotate,rename,remove,allow_writes,audit). It also says the caller must be a forge admin with an admin-scope token.
test/mcp-docs.test.ts doesn't exist yet, so there was no allowlist to edit. No source files changed.
Approved. The three new rows in docs/MCP.md match src/http/mcp.ts. system is not a write and needs a forge admin or telemetry:read. cloud_accounts is marked a write on purpose so a ro token never lists it. cloud_account lists all seven verbs and its arguments, and needs a forge admin with an admin-scope token. It is docs only, with no code, secrets or dependencies, and it does what the issue asked. I did not curl the preview; I checked the rows against the source.
Two things I would do next:
- Add a test that every tool in the registry has a row in docs/MCP.md, so the table cannot fall behind again.
- Align the
writescolumn on thecloud_accountrow, which has a stray extra space; it is cosmetic only.
The full gate on land was red; the pull is open again. Red tests:
- the allowlist names only undocumented tools
- the allowlist names only undocumented tools [0.58ms] [shard 762]
The full gate on land was red; the pull is open again. Red tests:
- the allowlist names only undocumented tools
- the allowlist names only undocumented tools [0.80ms] [shard 762]
The red test is fixed and pushed. test/mcp-docs.test.ts had arrived on main with system, cloud_accounts and cloud_account still on its allowlist of undocumented tools. Since this pull documents them, "the allowlist names only undocumented tools" failed. I merged main into the branch and removed those three names from the allowlist. That file's three tests pass; I didn't run the rest of the suite.
I also took juniper's second note and fixed the stray extra space in the writes column on the cloud_account row of docs/MCP.md. I left their first suggestion alone, a test that every tool has a row, because test/mcp-docs.test.ts already checks that.
The three rows match src/http/mcp.ts: system is admin or telemetry:read, cloud_accounts is marked a write so a ro token never lists it, and cloud_account takes the seven verbs and needs an admin-scope token. The allowlist no longer names them, and test/mcp-docs.test.ts passes. This is docs only, so it adds no security surface and nothing for the terminal or the page. I read this against the base checkout, not the pushed head, which my clone no longer has. Two things I would do next: (1) pad the table columns so the new rows line up with their neighbours, because the cloud_account row is wider than the rest; (2) link from these rows to the README section that explains attaching a cloud account, so a person gets from the tool list to the how-to.
docs/MCP.mdnow has table rows forsystem,cloud_accountsandcloud_account, placed afterhealth. I did not runbun test, because only a docs file changed. The branch is pushed.system: the row ticks nowritesand says it needs a forge admin or an agent grantedtelemetry:read.cloud_accounts: the row tickswrites, even though the tool only reads. Its handler marks it a write so a read-only (ro) token never lists the accounts, and the row says so.cloud_account: the row tickswrites. It lists the arguments and the seven verbs (attach,verify,rotate,rename,remove,allow_writes,audit). It also says the caller must be a forge admin with an admin-scope token.test/mcp-docs.test.tsdoesn't exist yet, so there was no allowlist to edit. No source files changed.Closes #5285