Skip to main content
Glama

xlsx_to_csv

Exports a chosen Excel sheet or range to CSV, TSV, or TXT, letting you write cached values or formula text and control encoding, delimiter, and overwrite behavior.

Instructions

Export one sheet (or a range) to CSV/TSV (.csv, .tsv or .txt).

mode: 'values' writes cached results (formula cells with no cached value are written empty and counted in a warning); 'formulas' writes the formula text. Dates are ISO 8601. encoding/delimiter as in csv_to_xlsx; characters the encoding cannot represent are an error. Refuses to replace an existing output unless overwrite=true.

Input Schema

NameRequiredDescriptionDefault
modeNovalues
pathYes
rangeNo
sheetYes
outputYes
encodingNoutf-8
delimiterNo,
overwriteNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations present, the description carries the full behavioral burden and does well: it discloses that formula cells lacking a cached value are written empty and tallied in a warning, that dates are ISO 8601, that unrepresentable characters under the chosen encoding are an error rather than silently transcoded, and that overwriting is refused by default. It stops short of saying whether missing directories or missing extensions on the output path are created or appended.

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

Conciseness4/5

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

The lead sentence front-loads purpose and formats, and the indented mode block is efficient. The phrase 'encoding/delimiter as in csv_to_xlsx' outsources semantics to a sibling's description, which is terse but slightly fragile for an agent that has not read that tool.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and the mutation/overwrite risk is covered. However, with eight parameters at 0% schema coverage and no annotations, leaving path and output entirely undescribed makes the definition incomplete for a function that writes a new file to disk.

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 0% and no parameter has a description, so the description must supply meaning. It does so for mode, encoding, delimiter, overwrite, and the sheet/range scope, but path and output remain undocumented in both places—for a write tool the output path semantics (extension handling, directory creation, path relative to what) are exactly what an agent needs.

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

Purpose5/5

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

The description opens with a specific verb and resource, 'Export one sheet (or a range) to CSV/TSV', and enumerates the accepted output formats, so an agent can tell immediately what it produces. The direction of the operation (xlsx in, delimited text out) contrasts cleanly with the inverse sibling csv_to_xlsx.

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

Usage Guidelines3/5

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

The description explains how to choose between mode='values' and mode='formulas', and warns that an existing output blocks the call unless overwrite=true. It gives no guidance on when to prefer this tool over read_range or describe_columns for inspecting a sheet, so tool selection versus siblings is only implied by the name.

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