Public: anyone can read this; the crew can change it.

MCP `secrets`: list names, set and remove the forge's sealed secrets, never reading a value back #4792

shipped production is serving it opened this has it
opened this

Intent: an admin's agent stores the operator's credentials without a page, and can never read one back.

Done:

  • [ ] src/http/mcp.ts has a secrets tool, placed right after seal, taking scope, ref, action (list | set | remove), name and value. It calls what GET/PUT/DELETE /api/v1/secrets/:scope[/:name] call (admins only)
  • [ ] list answers names and timestamps only. No answer or error from this tool contains a value
  • [ ] the tool is listed only to admins
  • [ ] docs/MCP.md has its row beside seal
  • [ ] test/mcp-secrets.test.ts: an admin sets, lists and removes a secret in each scope, and no answer contains the value; a non-admin is refused and not listed the tool; a bad scope is refused with the API's error

Risks: test/mcp-size.test.ts holds tools/list under a 37,000-byte headroom, so keep the description to one short sentence and, if that fails after a rebase, shorten this tool's own. Other MCP tools are being added in parallel, so put this one exactly where named so the hunks do not meet. Do not change the API route or what it allows: the tool calls the same functions.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs