Skip to main content
Glama

Create workbook

create_workbook
Destructive

Create a new, empty Excel workbook at a specified path, optionally naming worksheets and overwriting an existing file.

Instructions

Create a new, empty Excel workbook.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath to an .xlsx, .xlsm, .xltx or .xltm file. Relative paths are resolved in the server's workbook directory when one is configured; otherwise use an absolute path.
sheetsNoWorksheet names, in order. Default: ['Sheet1'].
overwriteNoReplace the file if it already exists.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.1.1
    • removedInput schema / properties / filepath
      Removed value: -{
      -  "title": "Filepath",
      -  "type": "string"
      -}
    • addedInput schema / properties / overwrite
      Added value: +{
      +  "default": false,
      +  "description": "Replace the file if it already exists.",
      +  "title": "Overwrite",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / path
      Added value: +{
      +  "description": "Path to an .xlsx, .xlsm, .xltx or .xltm file. Relative paths are resolved in the server's workbook directory when one is configured; otherwise use an absolute path.",
      +  "title": "Path",
      +  "type": "string"
      +}
    • addedInput schema / properties / sheets
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Worksheet names, in order. Default: ['Sheet1'].",
      +  "title": "Sheets"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "filepath"
      -]New value: +[
      +  "path"
      +]
  2. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the mutation/safety profile is covered. The description adds the 'empty' nuance (no data carried in), which is genuinely useful, but it never explains the overwrite parameter's file-replacing consequence or that existing files at the path may be destroyed.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler. Nothing wasted and the core fact ('empty') is stated immediately.

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

Completeness4/5

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

For a simple three-parameter creation tool with an output schema and full annotation coverage, the description is nearly sufficient. The only real gap is not connecting the overwrite flag to the destructiveHint annotation, which the agent could use to justify caution.

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

Parameters3/5

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

Schema coverage is 100%, and the schema itself documents path resolution, default sheet naming, and overwrite behavior in detail. The description adds no parameter meaning beyond what is already there, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Create') and resource ('Excel workbook') plus the 'empty' qualifier, so the purpose is unambiguous. It does not, however, distinguish it from siblings like import_workbook or create_sheet, which also produce workbook content.

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

Usage Guidelines2/5

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

No when-to-use context and no mention of alternatives such as import_workbook (for populating from existing data) or create_sheet (adding sheets to an existing workbook). The agent must infer the routing on its own.

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