MCP server for managing GitHub release notifications, generating PDFs, and sending releases to Discord
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. read_last_release has no input parameters (empty schema). create_pdf has well-defined parameters with types and descriptions (good baseline). send_release_to_discord has parameters but lacks output schema documentation. No tool includes error recovery guidance, actionable error messages, or idempotency hints. Naming is clear (verb_noun pattern), but descriptions are brief (10-50 chars) and lack context on when/why to use each tool. No tool annotations (readOnlyHint, destructiveHint) despite clear risk profiles.
Generates a PDF with the release notes. Returns the output filename.
Reads the most recent release payload from release_data/.
Sends the generated PDF release notes to a Discord channel via Webhook.
read_last_release has empty input schema (no parameters documented).
No tool includes output schema documentation. LLMs cannot plan downstream calls or extract required fields without knowing return structure.
Tool descriptions are too brief (10-50 chars). Lack context on WHEN to use each tool, prerequisites, and what happens (especially for destructive operations like send_release_to_discord).
No error handling guidance. Tools return generic dicts with 'error' or 'success' fields but do not tell LLM what to do next (retry? ask user? abort?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). send_release_to_discord is clearly destructive (sends to Discord) but unmarked; create_pdf writes files but unmarked.