AI-powered Git workflow assistant for smart commits, code reviews, changelogs, and release notes
Git-Iris is a STDIO-only MCP server with 2 tools. Both tools have descriptions and basic input schemas, but exhibit critical gaps in parameter documentation, schema completeness, and error handling that prevent confident agent usage. The StaticAnalysis tool accepts an enum-constrained 'analyzer' parameter but lacks descriptions for timeout_secs and max_output_chars. ProjectDocs also lacks parameter descriptions. Neither tool documents output schemas. The server does not implement error recovery guidance, making it unsuitable for production agent deployment. The enum constraints (Auto; Readme, Agents, Context, All) are present but descriptions are minimal (18-34 chars), below the 50-200 char target for LLM-optimized tools.
Retrieves project documentation files
Performs static analysis on project code
Tool descriptions are too brief (18-34 chars) to guide LLM tool selection. Pattern requires 50-200 chars explaining WHAT the tool does, WHEN to use it, and what it returns.
Multiple input parameters lack descriptions. 'timeout_secs' and 'max_output_chars' in StaticAnalysis have no explanation of expected values, ranges, or units. 'max_chars' in ProjectDocs is undescribed. LLMs cannot infer parameter meaning from names alone.
Output schemas are not documented in the tool definitions. Without documented return types, LLMs cannot plan downstream calls or extract required fields. Baseline: 100% of A+ tools have documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 15 | - | v1 |
No error recovery guidance. Tools declare errorReporting=true but the definitions do not specify what errors can occur, when to retry, or what corrective actions to take. Pattern requires: 'User not found. Try search_users() with a partial name.' Instead, LLM has no guidance.
Parameter constraints not fully exposed. StaticAnalysis accepts 'analyzer' enum with only ['Auto'] visible, but real-world usage suggests Clippy should be an option (mentioned in description 'analyzer to use (Auto, Clippy, etc.)'). The enum is incomplete or the definition is misleading.
Tool names lack action verbs that convey primary intent. 'StaticAnalysis' is a noun; pattern recommends 'run_static_analysis' or 'analyze_project_code'. 'ProjectDocs' should be 'get_project_docs' or 'retrieve_docs'. Verb-first naming helps LLMs parse intent from the name alone.