Skip to main content
Glama

Map spreadsheet columns to form fields

suggest_mapping
Idempotent

Propose which spreadsheet columns fill which PDF form fields. Given a CSV (csv_text or csv_url), proposes which column fills which field. Only the header row matters. Billed as one context fill (5 free each month). Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

Input Schema

NameRequiredDescriptionDefault
csv_urlNo
dry_runNo
form_idYes
csv_textNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\n",
      -    "form_id": "11111111-2222-3333-4444-555555555555"
      -  }
      -]New value: +[
      +  {
      +    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\n",
      +    "form_id": "11111111-2222-3333-4444-555555555555"
      +  },
      +  {
      +    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\n",
      +    "dry_run": true,
      +    "form_id": "11111111-2222-3333-4444-555555555555"
      +  }
      +]
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "default": false,
      +  "title": "Dry Run",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\n",
      +    "form_id": "11111111-2222-3333-4444-555555555555"
      +  }
      +]
  3. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds substantive behavioral context beyond that: it discloses billing as one context fill with a free monthly quota, explains that dry_run stores/charges/sends nothing and uses no AI, and says the answer reports success, cost, and rehearsal limitations.

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

Conciseness4/5

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

The description is front-loaded and mostly efficient, covering purpose, CSV input, billing, and dry_run rehearsal in a logical order. The first two sentences repeat the mapping idea, which is minor redundancy, but every sentence otherwise earns its place.

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

Completeness4/5

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

The tool has an output schema, so the description need not explain return values, and annotations cover safety profile. The description is complete enough for calling the tool, including cost and dry_run behavior, though it could better explain form_id and when to choose this tool over related form-preparation or fill tools.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for all four parameters. It clarifies that CSV input can come via csv_text or csv_url, that only the header row matters, and exactly what dry_run=true does. It does not explain form_id semantics, csv_url format expectations, or what happens if both CSV inputs are supplied.

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 states a specific verb and resource: propose which spreadsheet columns fill which PDF form fields. The use of 'propose' rather than 'fill' distinguishes it from sibling tools like fill_form and fill_form_from_context. An agent can identify the tool's purpose without opening the schema.

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 implies usage by saying 'Given a CSV (csv_text or csv_url)' and explains dry_run rehearsal. However, it does not explicitly say when to use this tool versus siblings such as prepare_form, fill_form, or fill_form_from_context, nor does it state prerequisites or exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.