Skip to main content
Glama

letters_generate

Generate a credit dispute letter from a fixed template into a text file, with optional agency or recipient details and dispute record attachment.

Instructions

Write a dispute letter from a fixed template to a text file. Your name, address and signature are placeholders to fill in by hand. For a credit agency pass agency_key (equifax, experian, transunion) or recipient_name. Pass dispute_id to attach the letter to a dispute record. Not legal advice.

Input Schema

NameRequiredDescriptionDefault
reasonNo
templateYes
agency_keyNo
dispute_idNo
recipient_nameNo
item_descriptionYes
recipient_addressNo

Output Schema

NameRequiredDescriptionDefault
pathYes
textYes
templateYes
letter_idYes
recipientYes
disclaimerNoNOT LEGAL ADVICE. PrivacyOps is a tracking and drafting aid. It does not know your facts or the law in your state. The templates have not been reviewed by a lawyer. For legal questions, ask a lawyer or a consumer-protection agency.
dispute_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false, and the description is consistent with a file-writing operation. It adds real behavioral context that annotations cannot: the letter contains hand-fillable placeholders for name/address/signature, and the 'Not legal advice' caveat. It omits what an agent most needs for a non-idempotent writer: where the file is written and whether repeat calls overwrite or accumulate files.

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?

Four short sentences, purpose stated first, parameter coaching second, disclaimer last; nothing is padded. Density is appropriate for a 7-parameter tool, though the parameter tips could be tightened into one clause.

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-value explanation is correctly omitted, and the placeholder caveat covers the biggest interpretive risk. Still incomplete for a mutation tool: the destination/location of the text file and the distinction between the two template values are missing, alongside the undocumented item_description and reason parameters.

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

Parameters2/5

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

With 0% schema description coverage, the description must carry parameter meaning, and it only does so for part of the surface. agency_key, recipient_name and dispute_id are explained with concrete semantics, but item_description, reason and recipient_address receive no explanation at all, and the template enum's two values (cra_dispute, furnisher_dispute) are not distinguished beyond 'fixed template'.

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?

The first sentence names a specific verb and resource plus the output medium: 'Write a dispute letter from a fixed template to a text file.' That is far more than a restatement of the name and lets an agent distinguish this from a template-listing sibling. It stops short of explicitly naming or contrasting letters_templates, so not a 5.

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?

'For a credit agency pass agency_key (equifax, experian, transunion) or recipient_name' and 'Pass dispute_id to attach the letter to a dispute record' give conditional guidance on choosing inputs. However, nothing states when to call this versus letters_templates, or what happens if neither agency_key nor recipient_name is supplied. Usage is implied by the parameter coaching rather than declared.

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