Skip to main content
Glama

Excel MCP Server

TypeScript MCP ExcelJS License: MIT Node

A powerful Model Context Protocol (MCP) server that enables AI assistants like Claude to work seamlessly with Excel files. Built with TypeScript, ExcelJS, and the official MCP SDK.

About

This MCP server provides 34 comprehensive tools for Excel file manipulation, allowing Claude Desktop and other MCP clients to read, write, format, analyze, and transform Excel spreadsheets programmatically. Whether you need to extract data, create reports, apply complex formatting, or generate pivot tables and charts, this server has you covered.

Perfect for:

  • ๐Ÿ“Š Automated data analysis and reporting

  • ๐Ÿ“ˆ Business intelligence workflows

  • ๐Ÿ”„ Data transformation and ETL processes

  • ๐Ÿ“ Report generation from templates

  • ๐ŸŽจ Batch formatting and styling

Related MCP server: Excel MCP Server

Features

  • 34 comprehensive tools for Excel manipulation

  • โœจ Real-time Live Editing - See changes instantly in Excel (macOS with Microsoft Excel)

  • Full support for reading, writing, formatting, and analyzing Excel files

  • NEW: Charts, Pivot Tables, Excel Tables, and Conditional Formatting

  • Built with the official MCP SDK

  • Type-safe with TypeScript and Zod validation

  • Preserves formatting when modifying files

  • Optional backup creation before modifications

  • Supports both JSON and Markdown response formats

Installation

The easiest way to install this server is using the pre-built MCPB bundle:

  1. Download the latest excel-mcp-server.mcpb file from the releases page

  2. Double-click the .mcpb file, or:

    • Open Claude Desktop

    • Go to Settings โ†’ Extensions โ†’ Advanced Settings

    • Click "Install Extension..."

    • Select the downloaded .mcpb file

  3. Restart Claude Desktop

  4. Done! No Node.js installation, no config files to edit

Note: One-click installation works on Claude Desktop for macOS and Windows. All dependencies are bundled - no additional setup required!

For more details, see BUNDLE.md.


๐Ÿ› ๏ธ Manual Installation (Advanced)

If you prefer to build from source:

Step 1: Clone and build the project

git clone https://github.com/sbraind/excel-mcp-server.git
cd excel-mcp-server
npm install
npm run build

Step 2: Configure Claude Desktop

Add this configuration to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "excel": {
      "command": "node",
      "args": ["${__dirname}/dist/index.js"]
    }
  }
}

Note: When using the MCPB bundle or manual installation, use ${__dirname} which automatically resolves to the server's directory. For manual installations without MCPB, you can also use absolute paths like /path/to/excel-mcp-server/dist/index.js.

Step 3: Restart Claude Desktop

Close and reopen Claude Desktop completely.

Step 4: Verify

The server should now be available in Claude. Try:

Create a new Excel file at ~/Documents/test.xlsx with a sheet called "Sales" containing sample data

For detailed installation instructions and troubleshooting, see INSTALLATION.md.


Configuration Options

The server supports several configuration options that can be set through Claude Desktop's MCP configuration:

{
  "mcpServers": {
    "excel": {
      "command": "node",
      "args": ["${__dirname}/dist/index.js"],
      "config": {
        "createBackupByDefault": false,
        "defaultResponseFormat": "json",
        "allowedDirectories": []
      }
    }
  }
}

Available Options:

  • createBackupByDefault (boolean, default: false) Automatically create backup files (.backup extension) before modifying Excel files. When enabled, every destructive operation will create a backup unless explicitly disabled in the tool call.

  • defaultResponseFormat (string: "json" or "markdown", default: "json") Default format for tool responses. Can be overridden per tool call with the responseFormat parameter.

  • allowedDirectories (array of strings, default: []) List of directories where the server is allowed to read/write Excel files. When empty, all directories are accessible. Use this to restrict file access for security:

    "allowedDirectories": [
      "~/Documents/Excel",
      "~/Projects/data"
    ]

    The server will reject any file operations outside these directories.

Input Validation

All tool inputs are validated using Zod schemas. Invalid parameters will return clear error messages indicating what's wrong:

  • Cell addresses must match format A1, B2, etc.

  • Ranges must match format A1:D10

  • File paths are checked against allowedDirectories if configured

  • Missing required parameters are reported immediately


โœจ Real-Time Live Editing (macOS)

The Excel MCP Server features automatic real-time editing for Excel files that are already open in Microsoft Excel on macOS. When a file is open, changes are applied instantly and become visible immediatelyโ€”no need to close and reopen the file!

How It Works

The server automatically detects when:

  1. Microsoft Excel is running on your Mac

  2. The target file is open in Excel

When both conditions are met, the server uses AppleScript to modify the open Excel file directly. Otherwise, it falls back to file-based editing using ExcelJS.

Supported Operations (16 Live-Editing Tools)

The following tools support real-time editing when files are open in Excel:

Writing:

  • excel_update_cell - Update cell values instantly

  • excel_add_row - Add rows and see them appear immediately

  • excel_write_range - Write data ranges in real-time

  • excel_set_formula - Set formulas that calculate instantly

Formatting:

  • excel_format_cell - Apply formatting (fonts, colors, borders) live

  • excel_set_column_width - Adjust column widths instantly

  • excel_set_row_height - Adjust row heights instantly

  • excel_merge_cells - Merge cells in real-time

Sheet Management:

  • excel_create_sheet - Create new sheets that appear immediately

  • excel_delete_sheet - Delete sheets with instant feedback

  • excel_rename_sheet - Rename sheets in real-time

Row/Column Operations:

  • excel_delete_rows - Delete rows and see them disappear instantly

  • excel_delete_columns - Delete columns in real-time

  • excel_insert_rows - Insert rows that appear immediately

  • excel_insert_columns - Insert columns instantly

Advanced:

  • excel_unmerge_cells - Unmerge cells in real-time

Response Indicators

Tool responses include a method field indicating which approach was used:

{
  "success": true,
  "message": "Cell A1 updated (via Excel)",
  "method": "applescript",
  "note": "Changes are visible immediately in Excel"
}

vs.

{
  "success": true,
  "message": "Cell A1 updated",
  "method": "exceljs",
  "note": "File updated. Open in Excel to see changes."
}

Requirements

  • Platform: macOS only (AppleScript is a macOS technology)

  • Application: Microsoft Excel for Mac must be installed

  • File State: Target Excel file must be open in Excel

Benefits

  • Instant Feedback: See changes as they happenโ€”perfect for interactive workflows

  • No File Conflicts: Works directly with the open file without save/reload cycles

  • Seamless Experience: Automatically falls back to file-based editing when Excel isn't available

Note

Read-only operations (like excel_read_sheet, excel_read_range, etc.) don't require real-time editing as they don't modify files. Complex operations like pivot tables, charts, and conditional formatting use file-based editing for reliability.


Quick Start

Once installed, you can start using the server immediately in Claude Desktop. Here are some example prompts:

Create a new Excel file with sales data for Q1 2024
Read the data from Sheet1 in ~/Documents/report.xlsx
Apply bold formatting and blue background to the header row in my sales spreadsheet
Create a pivot table showing total sales by product and month
Generate a column chart from the data in range A1:B10

For more examples and detailed use cases, see FEATURE_SUMMARY.md.


Available Tools

๐Ÿ“– Reading (5 tools)

1. excel_read_workbook

List all sheets and metadata of an Excel workbook.

Example:

{
  "filePath": "./data.xlsx",
  "responseFormat": "json"
}

2. excel_read_sheet

Read complete data from a sheet with optional range.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "A1:D10",
  "responseFormat": "markdown"
}

3. excel_read_range

Read a specific range of cells.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "B2:E20",
  "responseFormat": "json"
}

4. excel_get_cell

Read value from a specific cell.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "cellAddress": "A1",
  "responseFormat": "json"
}

5. excel_get_formula

Read the formula from a specific cell.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "cellAddress": "D5",
  "responseFormat": "json"
}

โœ๏ธ Writing (5 tools)

6. excel_write_workbook

Create a new Excel file with data.

Example:

{
  "filePath": "./output.xlsx",
  "sheetName": "MyData",
  "data": [
    ["Name", "Age", "City"],
    ["Alice", 30, "New York"],
    ["Bob", 25, "Los Angeles"]
  ],
  "createBackup": false
}

7. excel_update_cell

Update value of a specific cell.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "cellAddress": "B2",
  "value": 1500,
  "createBackup": true
}

8. excel_write_range

Write multiple cells simultaneously.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "A1:C2",
  "data": [
    ["Header1", "Header2", "Header3"],
    [100, 200, 300]
  ],
  "createBackup": false
}

9. excel_add_row

Add a row at the end of the sheet.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "data": ["Product X", 150, "2024-01-15"],
  "createBackup": false
}

10. excel_set_formula

Set or modify a formula in a cell.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "cellAddress": "D2",
  "formula": "SUM(B2:C2)",
  "createBackup": false
}

๐ŸŽจ Formatting (4 tools)

11. excel_format_cell

Change cell formatting (color, font, borders, alignment).

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "cellAddress": "A1",
  "format": {
    "font": {
      "bold": true,
      "size": 14,
      "color": "FF0000"
    },
    "fill": {
      "type": "pattern",
      "pattern": "solid",
      "fgColor": "FFFF00"
    },
    "alignment": {
      "horizontal": "center",
      "vertical": "middle"
    }
  },
  "createBackup": false
}

12. excel_set_column_width

Adjust width of a column.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "column": "A",
  "width": 20,
  "createBackup": false
}

13. excel_set_row_height

Adjust height of a row.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "row": 1,
  "height": 30,
  "createBackup": false
}

14. excel_merge_cells

Merge cells in a range.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "A1:D1",
  "createBackup": false
}

๐Ÿ“‘ Sheet Management (4 tools)

15. excel_create_sheet

Create a new sheet in the workbook.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "NewSheet",
  "createBackup": false
}

16. excel_delete_sheet

Delete a sheet from the workbook.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "OldSheet",
  "createBackup": true
}

17. excel_rename_sheet

Rename a sheet.

Example:

{
  "filePath": "./data.xlsx",
  "oldName": "Sheet1",
  "newName": "Sales2024",
  "createBackup": false
}

18. excel_duplicate_sheet

Duplicate a complete sheet.

Example:

{
  "filePath": "./data.xlsx",
  "sourceSheetName": "Template",
  "newSheetName": "January",
  "createBackup": false
}

๐Ÿ”ง Operations (3 tools)

19. excel_delete_rows

Delete specific rows.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "startRow": 5,
  "count": 3,
  "createBackup": true
}

20. excel_delete_columns

Delete specific columns.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "startColumn": "C",
  "count": 2,
  "createBackup": true
}

21. excel_copy_range

Copy range to another location.

Example:

{
  "filePath": "./data.xlsx",
  "sourceSheetName": "Sales",
  "sourceRange": "A1:D10",
  "targetSheetName": "Backup",
  "targetCell": "A1",
  "createBackup": false
}

๐Ÿ“Š Analysis (2 tools)

22. excel_search_value

Search for a value in sheet/range.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "searchValue": "Apple",
  "range": "A1:Z100",
  "caseSensitive": false,
  "responseFormat": "markdown"
}

23. excel_filter_rows

Filter rows by condition.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "column": "B",
  "condition": "greater_than",
  "value": 1000,
  "responseFormat": "json"
}

๐Ÿ“ˆ Charts (1 tool)

24. excel_create_chart

Create charts from data ranges.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "chartType": "column",
  "dataRange": "A1:B10",
  "position": "D2",
  "title": "Monthly Sales",
  "showLegend": true,
  "createBackup": false
}

Note: ExcelJS has limited native chart support. This creates a chart placeholder with metadata.

๐Ÿ”„ Pivot Tables (1 tool)

25. excel_create_pivot_table

Create pivot tables for data analysis.

Example:

{
  "filePath": "./data.xlsx",
  "sourceSheetName": "Sales",
  "sourceRange": "A1:D100",
  "targetSheetName": "Pivot",
  "targetCell": "A1",
  "rows": ["Product"],
  "columns": ["Month"],
  "values": [
    { "field": "Amount", "aggregation": "sum" }
  ],
  "createBackup": false
}

๐Ÿ“‹ Excel Tables (1 tool)

26. excel_create_table

Convert ranges to formatted Excel tables.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Data",
  "range": "A1:D50",
  "tableName": "SalesTable",
  "tableStyle": "TableStyleMedium2",
  "showRowStripes": true,
  "createBackup": false
}

โœ… Validation (3 tools)

27. excel_validate_formula_syntax

Validate formula syntax without applying it.

Example:

{
  "formula": "SUM(A1:A10) / COUNT(B1:B10)"
}

28. excel_validate_range

Validate if a range string is valid.

Example:

{
  "range": "A1:Z100"
}

29. excel_get_data_validation_info

Get data validation rules for a cell.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Input",
  "cellAddress": "A1",
  "responseFormat": "json"
}

๐Ÿ”ง Advanced Operations (4 tools)

30. excel_insert_rows

Insert rows at a specific position.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "startRow": 5,
  "count": 3,
  "createBackup": false
}

31. excel_insert_columns

Insert columns at a specific position.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "startColumn": "C",
  "count": 2,
  "createBackup": false
}

32. excel_unmerge_cells

Unmerge previously merged cells.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Report",
  "range": "A1:D1",
  "createBackup": false
}

33. excel_get_merged_cells

List all merged cell ranges in a sheet.

Example:

{
  "filePath": "./data.xlsx",
  "sheetName": "Report",
  "responseFormat": "markdown"
}

๐ŸŽจ Conditional Formatting (1 tool)

34. excel_apply_conditional_format

Apply conditional formatting to ranges.

Example (Cell Value):

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "B2:B100",
  "ruleType": "cellValue",
  "condition": {
    "operator": "greaterThan",
    "value": 1000
  },
  "style": {
    "fill": {
      "type": "pattern",
      "pattern": "solid",
      "fgColor": "FF00FF00"
    },
    "font": {
      "bold": true
    }
  },
  "createBackup": false
}

Example (Color Scale):

{
  "filePath": "./data.xlsx",
  "sheetName": "Sales",
  "range": "C2:C100",
  "ruleType": "colorScale",
  "colorScale": {
    "minColor": "FFFF0000",
    "maxColor": "FF00FF00"
  },
  "createBackup": false
}

Development

Build

npm run build

Watch mode

npm run watch

Run

npm start

Error Handling

All tools include robust error handling and will return descriptive error messages for:

  • File not found

  • Sheet not found

  • Invalid cell addresses or ranges

  • Invalid formatting options

  • Write errors

Features

Backup Support

Most write operations support an optional createBackup parameter. When set to true, a backup of the original file will be created with a .backup extension before modifications.

Response Formats

Read operations support both json and markdown response formats:

  • JSON: Structured data, ideal for programmatic processing

  • Markdown: Human-readable tables and formatted output

Data Preview

When reading large datasets, the markdown format automatically shows a preview of the first 100 rows.

Dependencies

  • @modelcontextprotocol/sdk - Official MCP SDK

  • exceljs - Excel file manipulation

  • zod - Schema validation

  • typescript - Type safety

License

MIT - See LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

How to Contribute

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Support

If you encounter any issues or have questions:

  1. Check the Installation Guide for common setup issues

  2. Review existing issues to see if your problem has been addressed

  3. Open a new issue with detailed information about your problem


Built with โค๏ธ using Claude Code

Available Tools

34 tools
excel_add_rowA
Destructive

Add a row at the end of the sheet

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
dataYesArray of values for the new row
createBackupNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true. The description adds 'at the end' which indicates append behavior, but does not disclose other traits like file locking, permissions, or whether it replaces or appends. With annotations present, the bar is lower, but the description adds minimal extra context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence (7 words) that front-loads the purpose. No wasted words, every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple append tool with a clear schema and annotations, the description is adequate. It states the core action and location. The absence of output schema is fine, and the schema covers parameters. However, it could briefly mention the data format requirement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the baseline is 3. The description does not add any meaning beyond what is in the schema; it does not explain the data array format or the createBackup parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (add a row) and the location (at the end of the sheet), providing a specific verb+resource. It distinguishes from sibling tools like excel_insert_rows which insert at a specific position.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., insert_rows, write_range). The description only states what it does, not when it is appropriate or what conditions apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_apply_conditional_formatC
Destructive

Apply conditional formatting to a range

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to format (e.g., A1:D10)
ruleTypeYes
conditionNoCondition for cellValue type
styleNoStyle to apply
colorScaleNoColor scale settings
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The destructiveHint annotation indicates potential modification, but the description adds no behavioral context (e.g., whether it overwrites existing conditional formatting, or any side effects).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no fluff. However, it could be slightly expanded to improve clarity without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects, no output schema), the description is too sparse. It lacks information on rule types, condition structure, or expected behavior after applying formatting.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (below 80%), and the tool description does not add any parameter insight beyond the schema. Parameters like 'condition' and 'colorScale' have minimal descriptions that barely clarify usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (apply) and resource (conditional formatting to a range). It distinguishes from siblings like excel_format_cell, which deals with direct cell formatting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., excel_format_cell for direct formatting). No usage context or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_copy_rangeC
Destructive

Copy range to another location

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sourceSheetNameYesSource sheet name
sourceRangeYesSource range (e.g., A1:D10)
targetSheetNameYesTarget sheet name
targetCellYesTop-left cell of destination
createBackupNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint: true indicates the tool modifies the workbook, but the description adds no further behavioral context. It does not disclose whether the copy includes formatting, what happens to existing data in the target range, or whether a backup is created (despite the createBackup parameter).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure for a tool with 6 parameters and a destructiveHint. While front-loaded, it omits important details such as parameter behavior, making it under-specified for effective use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, destructive, no output schema), the description is incomplete. It does not explain the copy behavior (e.g., values only vs formatting), the effect on the target range, or what the tool returns upon completion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 83% schema description coverage, the input schema already documents most parameters. The description 'Copy range to another location' adds no additional parameter-level context, so it neither improves nor reduces the baseline understanding. A score of 3 reflects adequate but not enhanced parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Copy range to another location' clearly states the purpose of copying a range of cells within an Excel file. However, it does not differentiate from sibling tools like excel_duplicate_sheet (which copies an entire sheet) or explain the scope (same workbook only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as excel_write_range or excel_read_range. It does not mention prerequisites, potential overwrites, or any exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_create_chartB
Destructive

Create a chart (line, bar, column, pie, scatter, area)

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
chartTypeYes
dataRangeYesRange of data (e.g., A1:D10)
positionYesPosition for chart (e.g., F2)
titleNoChart title
showLegendNo
createBackupNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not elaborate on the destructive nature (destructiveHint: true) or any side effects like overwriting existing charts or modifying the file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but lacks structure like examples or bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters and no output schema, the description provides insufficient context about the chart creation process, return values, or examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the schema; it lists chart types already covered by the enum. With 63% schema coverage, the description does not compensate for the missing parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('chart'), and lists supported chart types, distinguishing it from sibling tools like excel_create_table or excel_add_row.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or when-not-to-use instructions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_create_pivot_tableC
Destructive

Create a pivot table for data analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sourceSheetNameYesSource sheet name
sourceRangeYesSource data range
targetSheetNameYesTarget sheet for pivot table
targetCellYesTarget cell (e.g., A1)
rowsYesRow fields
columnsNoColumn fields
valuesYesValue fields with aggregation
createBackupNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation indicates destructiveHint: true, but the description does not add behavioral context beyond creating a pivot table. It does not disclose that the workbook file is modified, or mention potential impacts like overwriting existing data. Description adds minimal value beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it is too minimal given the complexity of pivot table creation. It lacks structure and does not adequately convey key aspects. Could be more informative while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters (7 required) and no output schema, the description is incomplete. It does not explain how pivot tables work, how aggregation is specified, or how rows/columns/values interact. An AI agent would need more context to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 89%, so most parameters have descriptions in the schema. The description does not provide additional semantic meaning for parameters (e.g., how 'values' with aggregation works). With high coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a pivot table for data analysis. It distinguishes from sibling tools like excel_create_chart, excel_create_table, etc., as a pivot table operation. However, it lacks specificity about pivot table capabilities (e.g., aggregation, layout).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Does not mention prerequisites (e.g., source data must be structured) or when it's appropriate (e.g., summarizing large datasets). No exclusion criteria or context of use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_create_sheetB
Destructive

Create a new sheet in the workbook

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName for the new sheet
createBackupNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations include destructiveHint=true, indicating the tool modifies the workbook. The description does not add further behavioral context beyond what is already provided by annotations, but it does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It directly states the tool's action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with annotations, the description is functional but minimal. It omits details about the optional createBackup parameter and does not explain return values (no output schema). The tool's context is adequately covered but lacks depth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 67% of parameters with descriptions (filePath and sheetName). The description does not add any additional parameter information, so it provides no extra value beyond the schema. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and resource 'new sheet in the workbook', making the purpose immediately understandable. However, it does not differentiate from sibling tools like 'excel_duplicate_sheet', which also involves creating a sheet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., excel_duplicate_sheet, excel_rename_sheet). There is no mention of prerequisites or context where creation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_create_tableB
Destructive

Convert a range to an Excel table with formatting

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to convert (e.g., A1:D10)
tableNameYesName for the table
tableStyleNoTableStyleMedium2
showFirstColumnNo
showLastColumnNo
showRowStripesNo
showColumnStripesNo
createBackupNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations providing destructiveHint: true, the description adds 'with formatting', which is mildly helpful but does not elaborate on what formatting is applied or side effects (e.g., overwriting existing formatting).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but lacks structure; it does not front-load critical details about required parameters or behavior. Could be improved with a brief list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, destructive action) and no output schema, the description is too brief. It omits behavior on table name conflicts, range validity, and formatting details, making it incomplete for informed agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 40%, and the description adds no parameter information. Key parameters like tableStyle and boolean flags are undocumented, leaving the agent without guidance on their meaning or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action: converting a range to an Excel table with formatting. It distinguishes this tool from siblings like excel_add_row or excel_create_chart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor prerequisites like ensuring the range is not already a table. Lacks context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_delete_columnsC
Destructive

Delete specific columns

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
startColumnYesStarting column (letter or number)
countYesNumber of columns to delete
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint: true already indicates the tool is destructive. The description adds no additional behavioral context, such as effects on formulas, formatting, or merged cells. It relies solely on the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence front-loading the purpose. However, it is arguably too brief and could include more detail without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and only a destructive annotation, the description should explain consequences like irreversible data loss, impact on formulas, or shift of remaining columns. It does not, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so baseline is 3. The description does not elaborate on parameter meanings beyond what the schema already provides, so it neither adds nor detracts from semantic clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and the resource (specific columns), distinguishing it from sibling tools like excel_delete_rows and excel_delete_sheet. However, it is very brief and does not elaborate on the scope of deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as clearing cells or deleting the entire sheet. There are no prerequisites or context for when deletion is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_delete_rowsC
Destructive

Delete specific rows

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
startRowYesStarting row number (1-based)
countYesNumber of rows to delete
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral details beyond the annotation's destructiveHint (which indicates permanence). It does not mention row shifting, impact on formulas, or the optional backup parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely conciseโ€”only three wordsโ€”with no wasted text. It efficiently conveys the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite its simplicity, the description lacks essential context for a destructive operation: no mention of prerequisites, side effects, or post-deletion behavior. Given the complexity and multiple siblings, more detail is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 80% schema description coverage, the schema already documents most parameters. The description adds no additional parameter meaning, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete specific rows' clearly states the action (delete) and resource (specific rows). It is concise and directly reflects the tool's function, though it does not differentiate from siblings like excel_delete_columns or excel_delete_sheet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., file must exist, sheet must be specified) or when not to use it (e.g., to clear data without shifting rows).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_delete_sheetC
Destructive

Delete a sheet from the workbook

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet to delete
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true, indicating the tool is destructive. The description adds no further behavioral context, such as irreversibility, the effect on formulas, or the backup option. Without additional disclosure, the agent may miss important constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Clearly front-loaded with the action. However, it could be slightly more informative without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description omits important details like the effect of the createBackup parameter or whether the deletion is irreversible. For a destructive operation, more context is needed to ensure appropriate use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (filePath and sheetName have descriptions, createBackup does not). The tool description does not mention any parameters or add meaning beyond the schema, so it provides no value for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete a sheet from the workbook' is a specific verb+resource, clearly indicating the action and target. It distinguishes from sibling tools like excel_create_sheet or excel_rename_sheet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. No mention of prerequisites, such as checking if the sheet exists or handling of the last sheet. Implicitly, it's used to delete a sheet, but no context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_duplicate_sheetC
Destructive

Duplicate a complete sheet

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sourceSheetNameYesName of sheet to duplicate
newSheetNameYesName for duplicated sheet
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include destructiveHint: true, but description doesn't clarify if duplicate overwrites an existing sheet or creates new. Also lacks details on what is duplicated (formulas, formatting, etc.). The description adds minimal value beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste. Efficient but slightly too brief, sacrificing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and a large sibling list, the description is incomplete. Missing behavior on duplicate name conflicts, return value, and backup implications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 3 of 4 parameters with descriptions (75%). The description adds no extra meaning beyond schema. The createBackup parameter lacks description and is not explained in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Duplicate a complete sheet', which is a verb+resource. It clearly distinguishes from siblings like create_sheet, delete_sheet, rename_sheet. However, it doesn't specify 'complete' means all content/formatting or if duplication stays within the same file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use versus alternatives like creating a new sheet and using copy_range. No mention of conflict behavior or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_filter_rowsC
Read-only

Filter rows by condition

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
columnYesColumn to filter by
conditionYes
valueNoValue to compare against
responseFormatNojson

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's lack of behavioral detail is partially compensated. However, the description adds no context about what happens when no rows match or how the filtered result is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at 4 words, but this brevity sacrifices helpful detail. It is front-loaded but insufficient for a tool with 6 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no output schema, moderate schema coverage), the description is incomplete. It does not explain return format, behavior on empty results, or how conditions interact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is moderate (67%), and the tool description adds no parameter-level meaning. The 'column' and 'value' parameters lack descriptions in both schema and tool description, leaving ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Filter rows by condition' clearly identifies the tool's action (filtering) and resource (rows), and its name distinguishes it from sibling tools like excel_read_range or excel_search_value, though it lacks explicit differentiation context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not indicate when to use this tool versus alternatives like excel_search_value or excel_read_range, nor does it specify any prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_format_cellB
Destructive

Change cell formatting (color, font, borders, alignment)

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
formatYesFormat options
createBackupNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint: true, so the agent knows this is a write operation. The description adds no further behavioral context (e.g., that existing formatting is overwritten, file modification details). With annotations carrying the burden, a 3 is appropriateโ€”the description is adequate but doesn't enhance transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, front-loaded with core purpose. Could be slightly more structured by separating key aspects, but it's efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should at least hint at return values (e.g., success/failure) or side effects. With nested parameters (format object), some guidance on valid sub-properties would improve completeness. Currently minimal, but given the tool's simplicity, it is partially adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (80%), and the schema describes 'format' as generic 'Format options'. The description adds concrete examples ('color, font, borders, alignment'), providing meaningful extra context. However, it does not explain the nested structure or enumerate all possible options, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool changes cell formatting and lists examples (color, font, borders, alignment). However, it doesn't fully differentiate from sibling formatting tools like excel_apply_conditional_format or excel_merge_cells, which could be considered formatting as well. The verb 'Change' is specific but the scope is broad.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. With 33 sibling tools including other formatting-related tools, the description should indicate when excel_format_cell is appropriate (e.g., for static visual changes) versus conditional formatting or structural changes. Missing entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_get_cellA
Read-only

Read value from a specific cell

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
responseFormatNojson

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description accurately states a read operation. No additional behavioral traits are disclosed (e.g., no mention of formatting, formula behavior, or performance). The description adds minimal value beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at 5 words in a single sentence. No superfluous information, and the core action is front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool, the description is adequate but lacks completeness regarding return value (e.g., what is returned: raw value, formula result). No error handling or edge cases are mentioned. Given the low complexity, a 3 is fair.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has high description coverage (75%), so the description adds no extra meaning to parameters. The tool name and description imply the purpose of each parameter without further detail. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read value from a specific cell' uses a specific verb ('read') and resource ('specific cell'), clearly distinguishing it from siblings like excel_read_range (range) and excel_update_cell (write). It is unambiguous and directly states the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. With many sibling tools (e.g., excel_read_range, excel_search_value), providing context on when to use get_cell over other read operations would improve usability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_get_data_validation_infoA
Read-only

Get data validation rules for a cell

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
responseFormatNojson

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with the readOnlyHint annotation, confirming a read operation. However, it does not add further behavioral details such as error handling or performance implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no redundant information. It is efficiently front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description omits details about the output format or possible error scenarios. Given the complexity of data validation rules, more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 75% of parameters with descriptions, so the description adds little beyond what the schema provides. The description mentions 'cell' but does not elaborate on parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'data validation rules' for a specific target 'cell'. It effectively distinguishes this tool from sibling tools that handle reading/writing data or formatting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives or on prerequisites. The usage context is implied only through the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_get_formulaB
Read-only

Read the formula from a specific cell

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
responseFormatNojson

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint. Description adds no extra behavioral context. Does not address what happens if cell has no formula or is empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, clear, no unnecessary words. Highlights key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description does not explain return format, edge cases (e.g., no formula), or error handling. Incomplete for a read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (3/4 params with descriptions). Description does not add meaning beyond schema. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads a formula from a specific cell. It distinguishes from siblings like excel_get_cell (value) and excel_read_range (values).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternatives. No mention of when to get formula versus value, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_get_merged_cellsA
Read-only

List all merged cell ranges in a sheet

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
responseFormatNojson

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows the tool is safe. The description adds no additional behavioral context such as potential errors, performance implications, or output format, which is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no wasted words. It is front-loaded with the action and resource. Could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not specify the format of returned merged cell ranges (e.g., as range strings). For a read-only tool, more detail on output format would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (two of three parameters have descriptions). The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all merged cell ranges in a sheet' uses a specific verb ('list') and resource ('merged cell ranges') and clearly distinguishes from sibling tools like excel_merge_cells (which creates merges) and excel_unmerge_cells (which removes merges).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to retrieve merged ranges) but does not explicitly state when not to use it or suggest alternatives. However, the purpose is clear enough given the sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_insert_columnsC
Destructive

Insert columns at a specific position

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
startColumnYesColumn to insert at (letter or number)
countYesNumber of columns to insert
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide destructiveHint=true, indicating modification. However, the description adds no behavioral details such as column shifting, data preservation, or the effect on existing columns. The description does not leverage the annotation to add context beyond what is already indicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence), front-loading the core action. However, it may be too terse and missing helpful context. Still, no fluff earns a high score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of inserting columns (shifting data, potential destruction), the description lacks essential context like whether columns are inserted to the left or right, what happens to existing data, or the backup parameter behavior. No output schema exists to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80% (4 of 5 parameters have descriptions). The tool description adds no additional meaning beyond the parameter descriptions in the schema, which are clear. Baseline 3 is appropriate as the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Insert columns at a specific position' clearly states the action (insert columns) and the resource (columns in an Excel sheet), but does not differentiate from sibling tools like excel_insert_rows or excel_delete_columns. It is specific enough for basic understanding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like excel_delete_columns or excel_insert_rows. There is no mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_insert_rowsB
Destructive

Insert rows at a specific position

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
startRowYesRow number to insert at (1-based)
countYesNumber of rows to insert
createBackupNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide destructiveHint=true, consistent with the mutation described. However, the description does not elaborate on side effects (e.g., shifting rows down, backup behavior via createBackup parameter). Basic transparency but lacks nuance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single phrase, no wasted words. Could be a full sentence, but efficient for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not mention return values or error conditions. Given the tool modifies a file and has many siblings, more context about success/failure or constraints would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80% (4 of 5 parameters described). The description adds no additional parameter meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Insert rows at a specific position' clearly states the action (insert) and resource (rows) with a positional context. It effectively distinguishes from siblings like excel_delete_rows and excel_add_row (which likely adds at end).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., excel_add_row for appending, excel_delete_rows for removal). No prerequisites mentioned (e.g., file must exist, sheet must exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_merge_cellsC
Destructive

Merge cells in a range

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to merge (e.g., A1:D1)
createBackupNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint already indicates mutation, but the description does not explain what happens during merging (e.g., only top-left cell value remains, potential data loss). With no additional behavioral context, the agent is underinformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 4-word sentence, highly concise and front-loaded. Every word serves a purpose, though more detail could be added at the cost of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description omits crucial behavioral details like cell content handling and potential errors. It is minimally adequate for an agent familiar with Excel, but lacks completeness for fully autonomous decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, and the tool description adds no extra meaning to parameters. For example, the 'range' parameter could benefit from syntax examples (e.g., 'A1:D1'). The description fails to enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Merge cells in a range' restates the tool name without adding specificity. It is clear but lacks detail about the outcome (e.g., combining into one cell, preserving top-left content). Among siblings, it distinguishes from 'unmerge_cells' but not from other formatting operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'excel_format_cell' or 'excel_write_range'. No conditions or prerequisites are mentioned, leaving the agent without context for appropriate invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_read_rangeB
Read-only

Read a specific range of cells

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to read (e.g., A1:D10)
responseFormatNojson

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's 'read' adds no behavioral context. No mention of return format behavior (JSON vs markdown) or handling of empty cells. With a simple description, it fails to disclose non-obvious behaviors that annotations don't cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence. However, it is slightly under-specified; conciseness should not sacrifice completeness. Still, it is well-formed and front-loaded with the key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of annotations (read-only) and parameter schema (with enum for format), the description is moderately complete. However, it lacks explicit mention of how the response is returned (e.g., as structured data) and does not address edge cases like invalid ranges. With no output schema, more context about return values would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, meaning most parameters are already described in the schema. The description does not add any additional meaning to the parameters; it merely restates the action. The responseFormat parameter's purpose (to control output format) is not elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read a specific range of cells' uses a specific verb and resource, clearly distinguishing it from siblings like excel_read_sheet (whole sheet) and excel_read_workbook (whole workbook). The word 'specific' emphasizes that it reads a subset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention any preconditions, limitations, or when to prefer excel_read_sheet or excel_read_workbook. The description implies usage only for reading a specific range, but lacks explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_read_sheetB
Read-only

Read complete data from a sheet (with optional range)

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeNoOptional range (e.g., A1:D10)
responseFormatNojson

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations include readOnlyHint=true, which already signals read-only behavior. The description does not contradict this and adds no additional behavioral traits beyond the annotations. With annotations covering safety, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with a single phrase that immediately conveys the tool's purpose. It is front-loaded and efficient, though slightly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and the presence of sibling read tools, the description could be more specific about what 'complete data' entails (e.g., all rows and columns, data types). It is adequate but leaves room for ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, with three of four parameters well-documented in the schema. The description adds 'complete data' but no parameter-specific details. The schema already provides clear descriptions, so the description does not add significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads complete data from a sheet with an optional range. The verb 'read' and resource 'sheet' are explicit, distinguishing it from write tools. However, 'complete data' is somewhat vague and could be clarified further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus similar tools like excel_read_range. The description does not differentiate use cases, leaving the agent uncertain about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_read_workbookA
Read-only

List all sheets and metadata of an Excel workbook

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
responseFormatNojson

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, so the description does not need to re-state safety. However, it does not describe the return format, what metadata is included, or any limitationsโ€”leaving behavioral aspects partially unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words, directly front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should detail what 'metadata' includes and the effect of responseFormat. It is too brief for a tool with two parameters and unspecified output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (one parameter described). The description adds no extra meaning beyond the schema, failing to compensate for undocumented parameters like responseFormat.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and identifies the resource 'sheets and metadata of an Excel workbook', clearly distinguishing from siblings like excel_read_sheet or excel_read_range.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-not or alternative tools mentioned; usage is implied by the tool name and description but lacks guidance on scenarios where other read tools would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_rename_sheetC
Destructive

Rename a sheet

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
oldNameYesCurrent sheet name
newNameYesNew sheet name
createBackupNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose that renaming may break formula references or affect other sheets, nor does it mention the optional backup parameter. Annotations indicate destructiveHint=true, but description adds no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (3 words), but it sacrifices informational value and does not front-load key constraints or side effects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, destructive annotation, and many siblings, the description is too sparse. It omits details about file path requirements, naming restrictions, and potential impacts on references.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 75% of parameters, and parameter names are self-explanatory. The description does not add meaning beyond what the schema provides, but does not actively mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Rename a sheet' is a tautology of the tool name, providing no additional context or differentiation from siblings like excel_duplicate_sheet or excel_create_sheet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_search_valueC
Read-only

Search for a value in sheet/range

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
searchValueYesValue to search for
rangeNoOptional range to search within
caseSensitiveNo
responseFormatNojson

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with the readOnlyHint annotation, indicating a read-only operation. However, it adds little beyond the annotation, not disclosing details like whether it returns the first match or all matches, or the format of the result. Given that annotations already declare readOnly, the description does not provide substantial additional behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action. It is concise with no extraneous information. While it could benefit from slightly more detail, it avoids verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 6 parameters and no output schema, the description is minimal. It does not specify the output format or behavior (e.g., returns cell addresses, supports case sensitivity). The agent lacks enough detail to fully understand the tool's capabilities, making it incomplete for complex use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not elaborate on any parameter beyond what the input schema provides. Two parameters (caseSensitive, responseFormat) lack descriptions in the schema, and the description fails to compensate. With 67% schema coverage, the description should add meaning for the undocumented parameters but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for a value in sheet/range' clearly states the verb and resource, distinguishing it from sibling tools like excel_read_range which read entire ranges rather than searching for a specific value. However, it does not explicitly mention what the tool returns (e.g., cell reference), which slightly limits clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For instance, it doesn't clarify that this tool is for locating a value rather than reading all data. Sibling tools include excel_read_range and excel_filter_rows, which could overlap, but the description offers no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_set_column_widthC
Destructive

Adjust width of a column

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
columnYesColumn letter (A) or number (1)
widthYesWidth in Excel units
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal value beyond the destructiveHint annotation. It does not mention that the tool modifies the file, the effect of the backup parameter, or any potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the tool's purpose, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool modifies an Excel file (destructive) and has 5 parameters including a backup option, the one-line description fails to provide essential context about file operation, persistence, or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 80% schema description coverage, the tool description adds no additional parameter context. The schema already explains parameters adequately, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Adjust width of a column' clearly states the action and resource, and distinguishes from siblings like excel_set_row_height. However, it could be more specific (e.g., 'Set column width in Excel') for full clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives (e.g., excel_format_cell), nor prerequisites (e.g., file must exist) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_set_formulaB
Destructive

Set or modify a formula in a cell

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
formulaYesExcel formula (without = sign)
createBackupNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide destructiveHint: true, so the agent knows it's a modification. The description adds minimal extra behavioral context beyond the annotation, such as implying overwriting. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is efficient and front-loads the action. No wasted words, though could include more structured context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no explanation of return values, edge cases (invalid sheet, invalid formula), or the effect of createBackup parameter. Missing context for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

80% schema coverage means most parameters are described in the schema. The description does not add additional meaning beyond the schema details (e.g., formula without '=' is already in schema). Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Set or modify a formula in a cell' uses a specific verb and resource, clearly distinguishing it from sibling tools like excel_get_formula (read) and excel_update_cell (value).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., excel_update_cell for values) or when not to use it. No mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_set_row_heightC
Destructive

Adjust height of a row

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rowYesRow number (1-based)
heightYesHeight in points
createBackupNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate destructiveHint=true, and the description 'Adjust' implies modification but adds no additional behavioral context, such as that existing row height is overwritten or that changes may affect layout.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one short sentence), but at the cost of missing useful detail. It is front-loaded with the verb, but overall is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a destructive action, the description should explain the effect on the workbook, success indication, or suggest enabling backups. The tool has 5 parameters, and the description provides no context beyond the name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (80%), so the description does not need to add much. However, it adds no extra meaning beyond the schemaโ€”e.g., no explanation of points unit for height or default behavior of createBackup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool adjusts row height, which distinguishes it from sibling tools like excel_set_column_width. However, it could be more specific about targeting a single row by number.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., excel_set_column_width for columns, excel_format_cell for other formatting). No when-not-to-use or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_unmerge_cellsA
Destructive

Unmerge previously merged cells

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to unmerge (e.g., A1:D1)
createBackupNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with the 'destructiveHint: true' annotation, indicating modification. However, it does not detail the exact behavior (e.g., only top-left cell value retained), which would add transparency beyond the annotation. With the annotation already present, the description provides basic context but no extra depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundancy. It is front-loaded with the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal and does not explain return values (no output schema) or the exact outcome on cell data (e.g., only top-left value kept). Given the tool's simplicity and the presence of destructiveHint, some additional context is missing but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, covering 3 of 4 parameters. The tool description does not add any additional meaning beyond what the schema provides for filePath, sheetName, range, and createBackup. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Unmerge previously merged cells' clearly states the action (unmerge) and the resource (merged cells), distinguishing it from the sibling 'excel_merge_cells' which does the opposite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as prerequisites (cells must be merged) or when not to use (e.g., if cells are not merged). No exclusive conditions or alternative tool names are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_update_cellB
Destructive

Update value of a specific cell

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
cellAddressYesCell address (e.g., A1)
valueYesValue to write
createBackupNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint: true already indicates modification, but the description adds no extra behavioral details. It does not mention that the existing value is overwritten, what happens to formulas, or any effect of the createBackup parameter. The description adds minimal value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, highly concise and front-loaded with the core action. Every word is necessary and there is no redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of multiple sibling tools and the lack of an output schema, the description is too sparse. It does not explain return behavior, side effects (e.g., overwriting existing content), or the significance of the createBackup parameter. A more complete description would include such details to aid agent selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 80% of parameters with descriptions, so the baseline is 3. The tool description adds no additional information beyond what the schema provides for parameters like filePath, sheetName, and cellAddress. The 'value' parameter's schema description is generic ('Value to write'), and the description does not clarify type or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update value of a specific cell', which precisely indicates the action on a single cell. It distinguishes well from sibling tools like excel_write_range (multiple cells) and excel_set_formula (formula instead of value).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as excel_write_range or excel_set_formula. The description lacks explicit context for when this tool is appropriate or when other tools would be better.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_validate_formula_syntaxB
Read-only

Validate Excel formula syntax without applying it

ParametersJSON Schema
NameRequiredDescriptionDefault
formulaYesFormula to validate (without = sign)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's note 'without applying it' adds confirmation but not new behavioral context. It does not describe what happens on invalid syntax (error vs boolean) or any side effects, but these are less critical given the read-only nature. The description is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One succinct sentence that immediately states the core action and key constraint. No wasted words. The information is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple validation tool with one parameter and a read-only annotation, the description covers the basic function. However, without an output schema, it fails to explain the return value (e.g., boolean, error message), which is important for an agent to interpret results. This gap slightly reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter description 'Formula to validate (without = sign)'. The tool description does not add further meaning to the parameterโ€”it only reiterates the validation aspect. Baseline 3 is appropriate since the schema already handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates Excel formula syntax and does not apply it. This is a specific verb-resource combination that distinguishes it from tools like excel_set_formula which actually write formulas. However, it does not explicitly differentiate from other validation tools like excel_validate_range, though the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the name and description imply it should be used before setting a formula, the description does not state this directly or mention when not to use it. Sibling tools like excel_set_formula suggest a workflow, but the description lacks this context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_validate_rangeC
Read-only

Validate if a range string is valid

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesRange to validate (e.g., A1:D10)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal behavioral context beyond the readOnlyHint annotation. It doesn't disclose whether the tool returns a boolean, throws an error, or provides validation details. Given that annotations already mark it as read-only, the description should clarify the outcome but does not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It is front-loaded and efficient. However, it could be slightly expanded without losing conciseness to include the return value or behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is minimally adequate. It fails to explain what happens on success or failure (e.g., returns true/false or raises an exception). This gap reduces completeness for an agent deciding whether to use the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a description for the 'range' parameter ('Range to validate (e.g., A1:D10)'). The tool description essentially restates this without adding new meaning. As per the baseline for high schema coverage, a score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Validate' and the resource 'range string', clearly indicating the tool's purpose. It is distinct from sibling tools like excel_read_range or excel_create_chart. However, it does not specify what constitutes a valid range, which could be inferred from the parameter description but is not repeated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify whether validation is needed before using a range in other operations or list conditions that make a range invalid. The agent has no context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_write_rangeC
Destructive

Write multiple cells simultaneously

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the Excel file
sheetNameYesName of the sheet
rangeYesRange to write (e.g., A1:D10)
dataYes2D array of data to write
createBackupNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations indicate destructiveHint=true, but the description adds no additional behavioral context. For example, it does not state whether existing data is overwritten, if the file must be open, or if changes are undoable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one short sentence. While effective at minimizing verbosity, it sacrifices informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no usage context, the description is incomplete. It does not cover return values, error conditions, or prerequisites like file existence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all parameters, so the description adds no new meaning. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool writes multiple cells simultaneously, which distinguishes it from single-cell writing tools like excel_update_cell. However, it could be more specific about writing a 2D array to a range.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as excel_update_cell, excel_add_row, or excel_write_workbook. Agents lack context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_write_workbookB
Destructive

Create a new Excel file with data

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath for the new Excel file
sheetNameNoName for the sheetSheet1
dataYes2D array of data to write
createBackupNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true, so the description doesn't need to emphasize destructiveness. However, it doesn't disclose what happens if the file already exists (overwrite or error), which would be useful beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff. Could be slightly more informative without losing conciseness, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks details on file overwrite behavior, error handling, or return value. For a destructive write tool with 4 parameters and no output schema, the description is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (3 of 4 parameters have descriptions). The description adds no new parameter information beyond what is in the schema, so it is adequate but not enhancing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a new Excel file with data, which is specific and distinguishes it from siblings like excel_add_row or excel_read_workbook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as when to use excel_write_range for writing to existing sheets or excel_create_sheet for adding sheets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 34 tool updatesv2.0.0
    • First observedexcel_add_row
    • First observedexcel_apply_conditional_format
    • First observedexcel_copy_range
    • First observedexcel_create_chart
    • First observedexcel_create_pivot_table
    • First observedexcel_create_sheet
    • First observedexcel_create_table
    • First observedexcel_delete_columns
    • First observedexcel_delete_rows
    • First observedexcel_delete_sheet
    • First observedexcel_duplicate_sheet
    • First observedexcel_filter_rows
    • First observedexcel_format_cell
    • First observedexcel_get_cell
    • First observedexcel_get_data_validation_info
    • First observedexcel_get_formula
    • First observedexcel_get_merged_cells
    • First observedexcel_insert_columns
    • First observedexcel_insert_rows
    • First observedexcel_merge_cells
    • First observedexcel_read_range
    • First observedexcel_read_sheet
    • First observedexcel_read_workbook
    • First observedexcel_rename_sheet
    • First observedexcel_search_value
    • First observedexcel_set_column_width
    • First observedexcel_set_formula
    • First observedexcel_set_row_height
    • First observedexcel_unmerge_cells
    • First observedexcel_update_cell
    • First observedexcel_validate_formula_syntax
    • First observedexcel_validate_range
    • First observedexcel_write_range
    • First observedexcel_write_workbook

TDQS

B3.2/5.0
Disambiguation4/5

Most tools target distinct operations (e.g., add_row vs delete_row), but a few overlaps exist: excel_read_range and excel_read_sheet both read data, with read_sheet supporting optional range. Still, descriptions help differentiate them well.

Naming Consistency4/5

All tools use a consistent 'excel_' prefix followed by verb_noun pattern (e.g., create_chart, delete_sheet). Minor inconsistency in plural/singular (delete_columns vs delete_sheet) but overall pattern is clear.

Tool Count4/5

34 tools is on the higher side but appropriate for the broad domain of Excel operations. Each tool covers a distinct action, and the count reflects the complexity of spreadsheet manipulation.

Completeness4/5

Comprehensive coverage of CRUD for sheets, rows, columns, cells, plus formatting, charts, pivot tables, and formulas. Missing features like freeze panes, sorting, or sheet reordering, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sbraind/excel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server