17 tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Most tools have 4-7 parameters with type info, but descriptions are often generic (10-50 chars) and lack actionable guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Error handling returns plain strings rather than structured recovery guidance. Output schemas are not documented, LLMs cannot predict response structure for chaining. Naming is verb-first and clear (apply_formula, read_data_from_excel), but some tools combine multiple concerns (format_range handles 15+ formatting options in one call). No pagination support on list-like tools. Baseline: 549 production tools average 194 chars for descriptions; these average ~80 chars and lack context for when/why to use each tool.
Apply Excel formula to cell. Excel formula will write to cell with verification.
Copy worksheet in workbook.
Create chart in worksheet.
Create pivot table from data range.
Create Excel table from data range.
Create new Excel workbook.
Create new worksheet in workbook.
Delete worksheet from workbook.
Output schemas not documented. Tools return plain strings (e.g. 'Range formatted successfully') or unstructured JSON without field definitions. LLMs cannot predict response structure for downstream chaining or data extraction.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without parsing descriptions. delete_sheet and write_data_to_excel should be marked destructive; read_data_from_excel should be marked read-only.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Apply formatting to a range of cells.
Get all merged ranges in a worksheet.
Get information about workbook structure.
Merge cells in a range.
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).
Rename worksheet in workbook.
Unmerge cells in a range.
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"
Descriptions too generic and lack context. 17 tools have descriptions under 50 chars (e.g. 'Create new Excel workbook', 'Delete worksheet from workbook'). Baseline: 194 chars average. Missing: when to use, prerequisites, what it returns, how it differs from similar tools.
Error handling returns plain strings instead of structured recovery guidance. E.g. 'Error: {str(e)}' tells LLM nothing about retry eligibility, next steps, or what went wrong. Should return {error_code, message, recovery_hint, retryable}.
format_range combines 15+ formatting concerns (bold, italic, font_size, colors, borders, alignment, merge, conditional formatting) into one tool. Should split into format_font, format_borders, format_alignment, merge_cells to follow single-responsibility pattern.