An MCP server that exposes commit message generation, committing, pushing, and git status functionality to MCP-compatible AI agents and IDE extensions
Nuntius provides 5 git-focused tools with clear verb-noun naming (generate_message, commit, push, status). All tools have descriptions and input schemas are visible in tools_test.go. However, parameter descriptions are minimal (10-30 chars), output schemas are not formally documented, and error handling lacks recovery guidance. The 'generate_and_commit' tool violates single-responsibility principle by combining two concerns. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Descriptions meet minimum length but lack LLM-optimization detail (e.g., when to use generate_message vs generate_and_commit, what 'auto' diff mode does).
Stage all changes and commit with the given message
Generate a commit message, then stage and commit
Generate an AI-powered commit message from git changes
Push commits to remote
List changed files in the working tree
generate_and_commit violates single-responsibility principle by combining message generation and commit in one tool. Should split into separate tools so agents can compose them independently.
Parameter descriptions are too brief (10-30 chars). 'Diff source: auto (staged+unstaged), staged, or provided' lacks explanation of when to use each mode. LLMs cannot infer the semantic difference between 'auto' and 'staged' from the name alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles. commit, push, and generate_and_commit are destructive; status and generate_message are read-only. Annotations enable safer agent planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Output schemas not formally documented. Tools return JSON objects (message, hash, files, remote, branch) but no schema definition visible in code. LLMs cannot plan downstream calls without knowing return structure.
Error messages lack recovery guidance. 'generation failed: %v' and 'commit failed: %v' tell the agent nothing about what to do next. Should include actionable hints like 'Check git status or provide a valid diff'.