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

MCP `app_notes`: an app's admin lists the notes sent from its forge button, hides one, bans or unbans its sender #7214

shipped production is serving it opened this has it
opened this

For: the owner moderates what visitors send from an app's forge button from any harness, as the page and the terminal already let them.

Today ownerNotes, moderateNote and unbanSender (src/actions/app_notes.ts:247-316) are reached from the web studio (src/web/studio/notes.ts) and the terminal (src/tui/screens/notes.ts), but not from MCP.

Done:

  • [ ] A new src/http/mcp/tools/app_notes.ts, { app, action?, note? }. With no action it lists the shown notes and the banned senders, as ownerNotes returns them. action is hide, ban or unban with a note id, and writing needs an rw token.
  • [ ] Only an admin of the app's repository may use it. Anyone else gets forbidden, an unknown app or note is not_found, and an unknown action is invalid.
  • [ ] bun scripts/mcp-tools.ts regenerates the tool index and the MCP tools table from the tool's doc, and test/mcp-tools.test.ts passes.
  • [ ] A new test/mcp-app-notes.test.ts sends a note through the forge button's endpoint (src/apps/feedback.ts), then lists, hides, bans and unbans it through /mcp. It also asserts that a writer who is not an admin, and a read-only token, are refused.

Files: the new tool, one test, and the files the generator writes. Risk: low.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs