Excel Master MCP has 4 tools with visible schemas and descriptions, but exhibits critical gaps in parameter annotations, output schema documentation, and error handling guidance. Naming is generally clear (verb_noun format), but descriptions are minimal and lack context for when/why to use tools. Schemas are present but several parameters lack descriptions. No structured output documentation. Error handling is reactive rather than prescriptive. The tool 'process_financial_problem' is a composition concern, it bundles analysis, solving, and instruction generation, violating single-responsibility. Production codebases score 70+ only with comprehensive parameter annotations, clear error recovery guidance, and output schemas.
Create a new Excel workbook
Process a financial problem through analysis, solution, and Excel instruction generation
Read data from an Excel worksheet
Write data to an Excel worksheet
Output schemas not documented. Tools return JSON via stdout but LLM has no visibility into returned fields, types, or structure. Prevents confident chaining and forces the LLM to infer response shape.
process_financial_problem combines three operations (analyze, solve, generate instructions). Violates single-responsibility principle. Makes it impossible for the LLM to use intermediate results or retry individual steps.
Parameter descriptions lack validation rules and constraints. E.g., 'range' in read_worksheet doesn't explain valid format (A1:B10? A1:B10:C20?). 'data' in write_worksheet doesn't specify row/column nesting order or how it handles existing content. LLM must guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
Error messages are reactive, not prescriptive. When a sheet is not found or file is inaccessible, the Python handler returns a raw error message with no recovery guidance. LLM cannot infer next steps.
No idempotency or confirmation support for destructive operations. write_worksheet and create_workbook modify state without dry-run or confirmation. If agent retries on ambiguous failure, data may be corrupted.
Exposed API key in source code. src/excel_instructions_generator.py contains hardcoded Gemini API key 'AIzaSyAeSZswx2CCRmLk4b5rCu-aH0qIBsH1zn4', this must be moved to environment variables or a secure vault immediately.
Tool descriptions too generic and lack context for LLM decision-making. Average description ~40 chars; baseline for A+ tools is 50-200 chars with explicit 'when to use' guidance.
process_financial_problem accepts only a single 'problem_text' string with no validation, format hints, or length limits. LLM has no guidance on what constitutes a valid input or how detailed it should be.