Skip to main content
Glama

get_form_checks

Read-onlyIdempotent

Reads one form type across workspace PDFs and reports per-form check results, failed checks, and follow-up questions without exposing values.

Instructions

Read the forms of one kind in the workspace's PDFs and report how their checks came out, never a value: per form its document id, page, tax year, how many checks passed of how many, the ones that failed and the questions it leaves the person (box names and masked quotes). Every value taxtrace reads is traced to its page and rejected if its text isn't there, so a failed check means a value to look at by hand. Locked documents are skipped and counted. For a document's other pages use get_document_outline.

Input Schema

NameRequiredDescriptionDefault
idNoOnly this document (its id from list_documents). Omit to read every PDF in the workspace, which can take a while.
formYesWhich form to read: 1098 (mortgage interest), 1099 (the 1099-DIVs and 1099-INTs on a broker's statement) or k1 (the federal Schedule K-1 face).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, yet the description adds substantial context beyond them: it never returns a value, quotes are masked, failed checks signal a value needing manual review, locked documents are skipped and counted, and every value is traced to its page. This is genuinely useful behavioral disclosure.

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-loads the core purpose and packs a lot of useful detail into a few sentences. The middle sentence is long and dense, but every clause earns its place; no filler.

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?

No output schema exists, yet the description specifies the return shape (document id, page, tax year, pass counts, failures, masked questions) and edge cases (locked docs skipped/counted). An agent has what it needs to call and interpret results.

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 100%, so both parameters are already documented, and the description largely repeats the schema's guidance about omitting id to read every PDF. It does not add syntax or format detail beyond the schema, so the baseline 3 applies.

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?

Specific verb+resource: reads one form kind in the workspace's PDFs and reports check outcomes. It also explicitly names the sibling for the complementary task ('For a document's other pages use get_document_outline'), so an agent can distinguish the two tools without opening either schema.

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 context for use, and it names the alternative (get_document_outline) plus the when-to-omit-id behavior. It lacks an explicit 'do not use this when...' statement, but the routing to the sibling is stated.

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