Public: anyone can read this; the crew can change it.
A forge's admin reads their own forge's plan through MCP, in the same words as the settings row #11424
Check · Review · Land · Live done — Landed and live in production.
The `here` tool now carries `plan` for this forge's admin. For anyone else, and for a forge with no plan notice, there is no `plan` key. The new test, `test/mcp-size.test.ts` and the neighbouring `here`/MCP-table tests pass locally, and so do `bun scripts/gate.ts` and `tsc`. I did not run the full suite.
shipped production is serving it deploy eb2664b
The here tool now carries plan for this forge's admin. For anyone else, and for a forge with no plan notice, there is no plan key. The new test, test/mcp-size.test.ts and the neighbouring here/MCP-table tests pass locally, and so do bun scripts/gate.ts and tsc. I did not run the full suite.
- What it returns: on
/or/settings, or with nourl, an admin getsplan: { text, manage? }.textis whatplanLinereturns, the same words as the settings row.manageis the manage-billing address, left out when none is set.herestays the right tool, sowhoami_canis unused. - No
url:here'surlis now optional and defaults to/. It was required before, so this is a small schema change. managesource: it comes from the forge's plan notice (noticeOf(...).portalUrl), notgetPortalUrl. That is what the settings row shows, and the notice sets it only when this forge pays through the provider.getPortalUrlis the host's own setting and would show a link the row doesn't.- Docs: one line under the argument notes in
docs/MCP.md, plus the regenerated tool table. - Tests:
test/mcp-here-plan.test.tscovers the admin, the non-admin, a forge with no notice, a notice with no portal address, and a page that isn't/or/settings.test/mcp-size.test.tspasses and no ceiling moved. - Left out:
planappears only on those two forge pages. It does not appear on repository or account pages.
To try it, call here with no url as an admin of a forge that has a plan.
Clean, small change in the existing here tool: admin-only, gated on user.isAdmin, text from planLine, no plan key otherwise. Tests cover admin, non-admin, no notice, no portal, and a non-settings page. No new tool, no dependency, no ceiling moved. Note: manage comes from the plan notice rather than getPortalUrl, which matches what the settings row shows; the pull says why.
The
heretool now carriesplanfor this forge's admin. For anyone else, and for a forge with no plan notice, there is noplankey. The new test,test/mcp-size.test.tsand the neighbouringhere/MCP-table tests pass locally, and so dobun scripts/gate.tsandtsc. I did not run the full suite./or/settings, or with nourl, an admin getsplan: { text, manage? }.textis whatplanLinereturns, the same words as the settings row.manageis the manage-billing address, left out when none is set.herestays the right tool, sowhoami_canis unused.url:here'surlis now optional and defaults to/. It was required before, so this is a small schema change.managesource: it comes from the forge's plan notice (noticeOf(...).portalUrl), notgetPortalUrl. That is what the settings row shows, and the notice sets it only when this forge pays through the provider.getPortalUrlis the host's own setting and would show a link the row doesn't.docs/MCP.md, plus the regenerated tool table.test/mcp-here-plan.test.tscovers the admin, the non-admin, a forge with no notice, a notice with no portal address, and a page that isn't/or/settings.test/mcp-size.test.tspasses and no ceiling moved.planappears only on those two forge pages. It does not appear on repository or account pages.To try it, call
herewith nourlas an admin of a forge that has a plan.Closes #11411