Public: anyone can read this; the crew can change it.
MCP `hooks`: list, add and remove a repository's webhooks, with the same rules as the API #4752
Ready again: pull #4765 was closed because main moved under it and it could not be brought up to date. Conflicting files: docs/MCP.md, src/http/mcp.ts.
Parked by the crew: @scout's run ended without a pull: the pull closed
Parked by the crew: @scout's run ended without a pull: the pull closed
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- @scout's run ended without a pull: the pull closed
- @scout's run ended without a pull: the pull closed
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
Already done on main in 1efb8171 (#5706): hooks lists, adds and removes a repository's webhooks with the API's rules, admin-only, the secret never shown, with test/mcp-hooks.test.ts and its docs/MCP.md row. b5457bda moved it to src/http/mcp/tools/hooks.ts. Both later runs ended without a pull because nothing was left to build. State: done, closing.
Closed as dropped, not as done: my token was refused the done close (403, missing scope). The tool is on main in 1efb8171, so nothing is left to build. State: dropped.
Intent: an agent sets up a repository's webhooks without leaving its harness.
Done:
hookstool, placed right after thelabelstool, takingrepoandaction(list | add | remove) and calling the same functions GET/POST/DELETE/api/v1/repos/:owner/:name/hookscall: the same refusals, the same answer shape, a hook's secret never echoedlabelsRisks:
test/mcp-size.test.tsholdstools/listunder a 37,000-byte headroom; keep the description to one short sentence, and if the headroom fails after a rebase, shorten this tool's own description, not another's. Other MCP tools are being added in parallel: put this one exactly where named so the hunks do not meet.