Implements the final two slices of the OpenSpec change
mcp-resource-templates. The change now ships all 7 entity
resources (owner, repo, commit, status, issue, comment, pr) on
the forgejo:// URI scheme.
Slice 6 — mcp-resource-pr
- operation/pull/resources.go registers
forgejo://repo/{owner}/{repo}/pr/{index}
- Handler returns JSON metadata (head/base refs, mergeability,
state) + text/markdown sidecar + bounded recent_comments and
recent_reviews (cap 30, sentinels name list_issue_comments
and list_pull_reviews respectively)
- Non-numeric index → -32602; missing PR → -32003
- 6 test cases: open/merged PR, > cap comments, > cap reviews,
non-numeric index, 404
- Wired from RegisterCoreResources
Slice 7 — docs/wrap
- README "Resources" section enriched with URI scheme rationale,
the coexist-with-tools rule, and the embedded-list bounding
policy
- AGENTS.md "## Resources" subsection added for future AI
assistants modifying the resource surface
- CHANGELOG.md unreleased section: additive resource surface
- Follow-up beads filed:
- forgejo-mcp-7ra: revisit subscribe=true once a real
subscription use case appears
- forgejo-mcp-7de: revisit EmbeddedListCap=30 once telemetry
available
Tasks 6.1-6.5, 7.1-7.6 ticked. Final tick count: 46/47.
Only 1.11 (manual client verification across Claude
Code/Desktop/Codex/Cursor) remains, out of scope for this team.
Driven by team:dev-loop (impl, runner; impl replaced by impl2
mid-slice-6 after the original impl ignored two checkpoint
probes). Closes the implementation portion of forgejo-mcp-13x.