Server has 6 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (apply_formula, validate_formula_syntax, format_range, read_data_from_excel, write_data_to_excel, create_workbook). Descriptions range from adequate (validate_formula_syntax: 56 chars) to verbose (read_data_from_excel: 280+ chars). All parameters have type definitions and descriptions. However, descriptions lack actionable guidance for LLM selection, error recovery paths are minimal, and output schemas are not documented. Tool annotations (destructiveHint, readOnlyHint) are present and correct. No enum constraints on string parameters (e.g., border_style accepts 'thin|medium|thick|double' as free text). Error handling returns generic strings rather than structured recovery guidance.
Apply Excel formula to cell. Excel formula will write to cell with verification.
Create new Excel workbook.
Apply formatting to a range of cells.
Read data from Excel worksheet with cell metadata including validation rules. Args: filepath: Path to Excel file sheet_name: Name of worksheet start_cell: Starting cell (default A1) end_cell: Ending cell (optional, auto-expands if not provided) preview_only: Whether to return preview only Returns: JSON string containing structured cell data with validation metadata. Each cell includes: address, value, row, column, and validation info (if any).
Validate Excel formula syntax without applying it.
Write data to Excel worksheet. Excel formula will write to cell without any verification. PARAMETERS: filepath: Path to Excel file sheet_name: Name of worksheet to write to data: List of lists containing data to write to the worksheet, sublists are assumed to be rows start_cell: Cell to start writing to, default is "A1"
Output schemas not documented. Tools return plain strings ('Range formatted successfully', 'Error: ...') without structured field definitions. LLMs cannot plan downstream operations or extract typed data.
Enum constraints missing for string parameters. border_style, alignment, number_format accept free-form strings. LLMs will hallucinate invalid values like 'super-thick' or 'diagonal'. Should declare enums: border_style=['thin','medium','thick','double'], alignment=['left','center','right','justify'].
Error responses lack recovery guidance. Errors return bare strings like 'Error: ValidationError' or 'Error: {str(e)}'. Should categorize as retryable/user-fixable/fatal and suggest next steps: 'Invalid formula syntax. Try: =SUM(A1:A10) or call validate_formula_syntax() first.'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Descriptions lack LLM-optimized guidance. format_range description is only 50 chars ('Apply formatting to a range of cells.'). Should explain WHEN to use it vs other tools, what it returns, and prerequisites. Target 50-200 chars with actionable context.
No pagination support for read_data_from_excel. Large worksheets will return unbounded results, exhausting context window. Should add limit and offset/cursor parameters and document max result size.