Enhanced Excel MCP Server with advanced features for AI agents
Excel Enhanced MCP has 8 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, mostly adequate), and input schemas are present with typed parameters. However, output schemas are entirely undocumented, tools return plain strings with no structured response definition. Error handling is minimal: most tools catch exceptions and return error strings, but provide no recovery guidance or error classification. Parameter descriptions are generic (e.g., 'Path to Excel file' repeated 8 times). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Naming is verb-first and clear (apply_formula, read_data_from_excel), but composition issues exist: format_range has 18 parameters, many optional and interdependent, making it hard for LLMs to reason about. No pagination, no batch operations, no natural identifiers (all require filepath strings). Security concern: filepath parameter accepts user input with minimal validation, path traversal risk. Overall, this is a functional but immature tool suite suitable for simple automation, not production agent deployment.
Apply Excel formula to cell. Excel formula will write to cell with verification.
Create chart in worksheet.
Create new Excel workbook.
Create new worksheet in 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).
No output schemas documented. All tools return plain strings; LLMs cannot parse structured results or chain tools. E.g., read_data_from_excel claims to return 'JSON string containing structured cell data' but no schema is provided to validate or parse it.
format_range has 18 parameters, many optional and interdependent (e.g., merge_cells, protection, conditional_format). No documentation of which combinations are valid or mutually exclusive. LLMs will struggle to reason about valid invocations.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked with Risk levels (WRITE, READ_ONLY) in metadata but not exposed to LLM via schema. LLMs cannot distinguish safe reads from destructive writes.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
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"
Error handling returns plain strings ('Error: <message>') with no recovery guidance. E.g., 'Error: Invalid formula' tells LLM nothing about how to fix it or whether to retry. No error classification (retryable vs user-fixable vs fatal).
Filepath parameter accepts arbitrary strings with minimal validation. get_excel_path() checks for absolute paths but does not validate against path traversal (e.g., '../../../etc/passwd'). Security risk if agent is compromised or prompt-injected.