Excel MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Excel MCP ServerAnalyze the data in report.xlsx and create a pivot table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Excel MCP Server
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
๐ Quick Installation (Recommended) - One Click!
The easiest way to install this server is using the pre-built MCPB bundle:
Download the latest
excel-mcp-server.mcpbfile from the releases pageDouble-click the
.mcpbfile, or:Open Claude Desktop
Go to Settings โ Extensions โ Advanced Settings
Click "Install Extension..."
Select the downloaded
.mcpbfile
Restart Claude Desktop
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 buildStep 2: Configure Claude Desktop
Add this configuration to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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 dataFor 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 (.backupextension) 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 theresponseFormatparameter.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:D10File paths are checked against
allowedDirectoriesif configuredMissing 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:
Microsoft Excel is running on your Mac
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 instantlyexcel_add_row- Add rows and see them appear immediatelyexcel_write_range- Write data ranges in real-timeexcel_set_formula- Set formulas that calculate instantly
Formatting:
excel_format_cell- Apply formatting (fonts, colors, borders) liveexcel_set_column_width- Adjust column widths instantlyexcel_set_row_height- Adjust row heights instantlyexcel_merge_cells- Merge cells in real-time
Sheet Management:
excel_create_sheet- Create new sheets that appear immediatelyexcel_delete_sheet- Delete sheets with instant feedbackexcel_rename_sheet- Rename sheets in real-time
Row/Column Operations:
excel_delete_rows- Delete rows and see them disappear instantlyexcel_delete_columns- Delete columns in real-timeexcel_insert_rows- Insert rows that appear immediatelyexcel_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 2024Read the data from Sheet1 in ~/Documents/report.xlsxApply bold formatting and blue background to the header row in my sales spreadsheetCreate a pivot table showing total sales by product and monthGenerate a column chart from the data in range A1:B10For 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 buildWatch mode
npm run watchRun
npm startError 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 SDKexceljs- Excel file manipulationzod- Schema validationtypescript- Type safety
Links & Resources
Repository: github.com/sbraind/excel-mcp-server
Issues & Bug Reports: GitHub Issues
Model Context Protocol: modelcontextprotocol.io
Claude Desktop: claude.ai
ExcelJS Documentation: github.com/exceljs/exceljs
License
MIT - See LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
How to Contribute
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Support
If you encounter any issues or have questions:
Check the Installation Guide for common setup issues
Review existing issues to see if your problem has been addressed
Open a new issue with detailed information about your problem
Built with โค๏ธ using Claude Code
Available Tools
34 toolsexcel_add_rowADestructive
Add a row at the end of the sheet
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| data | Yes | Array of values for the new row | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_formatCDestructive
Apply conditional formatting to a range
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to format (e.g., A1:D10) | |
| ruleType | Yes | ||
| condition | No | Condition for cellValue type | |
| style | No | Style to apply | |
| colorScale | No | Color scale settings | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_rangeCDestructive
Copy range to another location
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sourceSheetName | Yes | Source sheet name | |
| sourceRange | Yes | Source range (e.g., A1:D10) | |
| targetSheetName | Yes | Target sheet name | |
| targetCell | Yes | Top-left cell of destination | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_chartBDestructive
Create a chart (line, bar, column, pie, scatter, area)
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| chartType | Yes | ||
| dataRange | Yes | Range of data (e.g., A1:D10) | |
| position | Yes | Position for chart (e.g., F2) | |
| title | No | Chart title | |
| showLegend | No | ||
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_tableCDestructive
Create a pivot table for data analysis
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sourceSheetName | Yes | Source sheet name | |
| sourceRange | Yes | Source data range | |
| targetSheetName | Yes | Target sheet for pivot table | |
| targetCell | Yes | Target cell (e.g., A1) | |
| rows | Yes | Row fields | |
| columns | No | Column fields | |
| values | Yes | Value fields with aggregation | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_sheetBDestructive
Create a new sheet in the workbook
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name for the new sheet | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_tableBDestructive
Convert a range to an Excel table with formatting
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to convert (e.g., A1:D10) | |
| tableName | Yes | Name for the table | |
| tableStyle | No | TableStyleMedium2 | |
| showFirstColumn | No | ||
| showLastColumn | No | ||
| showRowStripes | No | ||
| showColumnStripes | No | ||
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_columnsCDestructive
Delete specific columns
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| startColumn | Yes | Starting column (letter or number) | |
| count | Yes | Number of columns to delete | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_rowsCDestructive
Delete specific rows
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| startRow | Yes | Starting row number (1-based) | |
| count | Yes | Number of rows to delete | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_sheetCDestructive
Delete a sheet from the workbook
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet to delete | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_sheetCDestructive
Duplicate a complete sheet
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sourceSheetName | Yes | Name of sheet to duplicate | |
| newSheetName | Yes | Name for duplicated sheet | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_rowsCRead-only
Filter rows by condition
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| column | Yes | Column to filter by | |
| condition | Yes | ||
| value | No | Value to compare against | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_cellBDestructive
Change cell formatting (color, font, borders, alignment)
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| format | Yes | Format options | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_cellARead-only
Read value from a specific cell
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_infoARead-only
Get data validation rules for a cell
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_formulaBRead-only
Read the formula from a specific cell
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_cellsARead-only
List all merged cell ranges in a sheet
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_columnsCDestructive
Insert columns at a specific position
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| startColumn | Yes | Column to insert at (letter or number) | |
| count | Yes | Number of columns to insert | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_rowsBDestructive
Insert rows at a specific position
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| startRow | Yes | Row number to insert at (1-based) | |
| count | Yes | Number of rows to insert | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_cellsCDestructive
Merge cells in a range
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to merge (e.g., A1:D1) | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_rangeBRead-only
Read a specific range of cells
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to read (e.g., A1:D10) | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_sheetBRead-only
Read complete data from a sheet (with optional range)
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | No | Optional range (e.g., A1:D10) | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_workbookARead-only
List all sheets and metadata of an Excel workbook
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_sheetCDestructive
Rename a sheet
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| oldName | Yes | Current sheet name | |
| newName | Yes | New sheet name | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_valueCRead-only
Search for a value in sheet/range
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| searchValue | Yes | Value to search for | |
| range | No | Optional range to search within | |
| caseSensitive | No | ||
| responseFormat | No | json |
TDQS
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.
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.
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.
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.
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.
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_widthCDestructive
Adjust width of a column
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| column | Yes | Column letter (A) or number (1) | |
| width | Yes | Width in Excel units | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_formulaBDestructive
Set or modify a formula in a cell
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| formula | Yes | Excel formula (without = sign) | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_heightCDestructive
Adjust height of a row
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| row | Yes | Row number (1-based) | |
| height | Yes | Height in points | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_cellsADestructive
Unmerge previously merged cells
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to unmerge (e.g., A1:D1) | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_cellBDestructive
Update value of a specific cell
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| cellAddress | Yes | Cell address (e.g., A1) | |
| value | Yes | Value to write | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_syntaxBRead-only
Validate Excel formula syntax without applying it
| Name | Required | Description | Default |
|---|---|---|---|
| formula | Yes | Formula to validate (without = sign) |
TDQS
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.
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.
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.
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.
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.
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_rangeCRead-only
Validate if a range string is valid
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | Range to validate (e.g., A1:D10) |
TDQS
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.
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.
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.
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.
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.
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_rangeCDestructive
Write multiple cells simultaneously
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file | |
| sheetName | Yes | Name of the sheet | |
| range | Yes | Range to write (e.g., A1:D10) | |
| data | Yes | 2D array of data to write | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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_workbookBDestructive
Create a new Excel file with data
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path for the new Excel file | |
| sheetName | No | Name for the sheet | Sheet1 |
| data | Yes | 2D array of data to write | |
| createBackup | No |
TDQS
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.
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.
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.
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.
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.
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.
34 tool updates
v2.0.0- First observed
excel_add_row - First observed
excel_apply_conditional_format - First observed
excel_copy_range - First observed
excel_create_chart - First observed
excel_create_pivot_table - First observed
excel_create_sheet - First observed
excel_create_table - First observed
excel_delete_columns - First observed
excel_delete_rows - First observed
excel_delete_sheet - First observed
excel_duplicate_sheet - First observed
excel_filter_rows - First observed
excel_format_cell - First observed
excel_get_cell - First observed
excel_get_data_validation_info - First observed
excel_get_formula - First observed
excel_get_merged_cells - First observed
excel_insert_columns - First observed
excel_insert_rows - First observed
excel_merge_cells - First observed
excel_read_range - First observed
excel_read_sheet - First observed
excel_read_workbook - First observed
excel_rename_sheet - First observed
excel_search_value - First observed
excel_set_column_width - First observed
excel_set_formula - First observed
excel_set_row_height - First observed
excel_unmerge_cells - First observed
excel_update_cell - First observed
excel_validate_formula_syntax - First observed
excel_validate_range - First observed
excel_write_range - First observed
excel_write_workbook
TDQS
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.
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.
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.
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
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
Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
AI access to Quadratic spreadsheets: open files, run Python/SQL, query connected databases.
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to create, read, and manipulate Excel files without requiring Microsoft Excel installation. Supports comprehensive spreadsheet operations including formulas, formatting, charts, pivot tables, and data validation.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create, read, write, and manipulate Excel files (.xlsx, .xlsm) without requiring Microsoft Excel, including support for charts, pivot tables, data import/export, and professional formatting across Windows, macOS, and Linux.6133MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to perform Excel file operations (create, read, write, format) without requiring Microsoft Excel installation.175MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to directly read and write Excel files, including reading structure, writing formulas and data, and diagnosing errors.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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