github / github/github-mcp-server
Optional "Receipt Required" guard for destructive tools (delete_repo, permissions)
- Dominant language
- Go
- Stars
- 33k
- Forks
- 5k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 52
Description
This server exposes irreversible tools (`delete_repository`, visibility/permission changes). I maintain EMILIA's open **Receipt Required** rail (Apache-2.0): a small, **opt-in** gate so an irreversible tool refuses to run unless a named human signed an authorization receipt for that *exact* action.
The four-step behavior (CI-verified):
- missing receipt → `428 Receipt Required`
- valid, action-bound receipt → runs
- same receipt replayed → refused (one-time consumption)
- forged receipt → refused
It's **disabled by default, no protocol lock-in** — purely additive. There's a runnable `github-admin` example mirroring `delete_repo`, plus a 10-minute guide. Would you be open to a PR adding this behind an opt-in flag? Happy to author it.
Spec + guide: https://github.com/emiliaprotocol/emilia-protocol/blob/main/docs/guides/RECEIPT-REQUIRED-MCP.md
Contributor guide
Research direction
Read the linked RECEIPT-REQUIRED-MCP.md guide and inspect the existing delete_repository, visibility, and permission tool entry points in github-mcp-server. Compare the proposed github-admin example with the server’s current tool behavior; done means an opt-in, additive guard that rejects missing, replayed, or forged receipts while allowing valid action-bound receipts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, go
- Domain
- api, authorization, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100