Skip to main content
Glama

convert

DestructiveIdempotent

Write a loaded document as linked XLSX tables or a ZIP of CSVs using a reviewed spec run deterministically; provide the spec inline or as a file and optionally override the format.

Instructions

Write a loaded document out as linked tables — one .xlsx workbook, or a .zip of CSVs — by running a frozen converter spec deterministically. The spec comes from draft_spec, reviewed or edited: pass it inline as spec or as a file in specPath, exactly one of the two. format overrides the format the spec names. Returns row/skipped/warning counts, never the output rows. An existing outPath is refused unless overwrite=true. For one query's result as a single CSV or JSONL file, use export_result instead.

Input Schema

NameRequiredDescriptionDefault
specNoInline specVersion 1 converter spec.
docIdYesA docId returned by load_doc.
formatNoOptional output-format override.
outPathYesDestination .xlsx or .zip path.
specPathNoPath to a converter spec; use either this or spec.
overwriteNoReplace outPath only when explicitly true.

Output Schema

NameRequiredDescriptionDefault
okYes
hintNo
toolYes
errorNo
evictedNo
structuredTruncatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, so the description's job is narrower; it adds that conversion is deterministic and frozen, that an existing outPath is refused unless overwrite=true (the actual destructive surface), and that only counts are returned. It stops short of stating permissions or what happens to partial output on failure, keeping it just under 5.

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?

Every sentence carries load — spec source, exclusivity, override precedence, return shape, overwrite guard, and the sibling alternative — and the routing information is front-loaded rather than buried.

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

Completeness5/5

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

For a 6-parameter, nested-object tool with an output schema, this covers what the schema can't: where the spec comes from, how spec and specPath interact, overwrite safety, and what the return value is not. Nothing needed to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description exceeds it by adding the exclusivity constraint between spec and specPath and the precedence rule ('format overrides the format the spec names'), neither of which the schema states.

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?

Names a specific verb and output artifacts: 'Write a loaded document out as linked tables — one .xlsx workbook, or a .zip of CSVs.' It also contrasts itself with export_result, so the agent can separate it from a sibling that also produces files.

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

Usage Guidelines5/5

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

Explicitly routes the spec origin ('comes from draft_spec, reviewed or edited'), states the mutual-exclusion rule ('exactly one of the two'), and names the alternative for a different need: 'For one query's result as a single CSV or JSONL file, use export_result instead.'

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