Skip to main content
Glama

Extract local PDF tables to CSV

abox_pdf_to_csv

Extracts selectable-text tables from an unencrypted local PDF and writes them to UTF-8 CSV, with page/table filters and spreadsheet-safe escaping. No OCR.

Instructions

Infer selectable-text tables in an unencrypted local PDF. Writes UTF-8 BOM CSV, comma delimiter, CRLF, blank rows between tables. No OCR. Dates and amounts may be normalized; ambiguous auto dates use day/month/year. Formula-like text is escaped by default. Review the CSV; structural verification does not prove accuracy. Conservative filter preflight accepts unfiltered/Flate without predictors and can also refuse blocked PDF names printed in text.

Input Schema

NameRequiredDescriptionDefault
pagesNoAll pages, or an ascending unique 1-based selection such as 1,3-5.all
date_orderNoauto
input_pathYesAbsolute local filesystem path. URLs and network shares are refused.
output_pathYesAbsolute local filesystem path. URLs and network shares are refused.
table_indexNoOptional 1-based detected table; omitted exports all tables.
include_headersNo
spreadsheet_safeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A4/5.0
Behavior4/5

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

Well beyond the annotations (which only say it isn't read-only and isn't destructive): the description discloses output encoding (UTF-8 BOM, comma, CRLF, blank rows between tables), date normalization rules for ambiguous auto dates, formula escaping, and a conservative filter preflight with refusal conditions. Gap: it never says whether an existing output_path is overwritten, and 'blocked PDF names printed in text' is opaque jargon.

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?

Front-loaded with the core verb and resource, and every clause carries information — output format, normalization, escaping, accuracy caveat. Density is high but the sentence fragments and the final preflight sentence read as compressed internal jargon rather than agent-facing guidance.

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?

With 7 parameters, 57% schema coverage, and no output schema, the description carries the output-format burden and does so thoroughly (delimiter, encoding, line endings, multi-table layout). Missing pieces are error/overwrite behavior and any indication of how many tables or what a failure looks like.

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 only 57%, and the description compensates for the undocumented ones: date_order's 'auto' behavior is explained (ambiguous dates fall back to day/month/year) and spreadsheet_safe is explained via formula-like text escaping. pages, table_index, and include_headers still rely entirely on the schema, leaving partial coverage.

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?

Opens with a specific verb and resource: infer selectable-text tables from an unencrypted local PDF and write them as CSV. It's immediately distinguishable from siblings like abox_pdf_split or abox_pdf_merge, though no sibling is named explicitly and the closest alternative (abox_receipt_extract / OCR-style extraction) is never referenced.

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

Usage Guidelines4/5

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

Clear applicability conditions: unencrypted, local, selectable-text PDFs only, with 'No OCR' as an explicit exclusion, and 'Review the CSV; structural verification does not prove accuracy' telling the agent not to trust the output blindly. It stops short of naming an alternative tool for scanned/image PDFs.

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