Skip to main content
Glama

Server Details

Send a USPS Certified Mail letter to any US address from ChatGPT, Claude or Grok. The assistant prepares the letter and hands back a review link; a person reads it, checks the recipient, pays and authorizes. Nothing is printed, mailed or charged without that approval. $16.17 with the electronic return receipt, $13.18 without. No subscription, and no account needed to see a price. Docs: https://piloxa.com/send-a-certified-letter-online

Ownership verified
Status
Healthy
Uptime
99.4% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation4/5

Each tool has a distinct role, and the descriptions explicitly disambiguate the tricky pairs: check_certified_letter (readiness + price) vs quote_certified_letter (price only), prepare (creates unsent letter) vs authorize (pays/sends), and explain_certified_mail_status (generic statuses) vs get_certified_letter_status (letters from this conversation). The mild overlap between check and quote on pricing is the only place an agent could plausibly hesitate, and even there the descriptions steer clearly.

Naming Consistency4/5

Most tools follow a readable verb_noun pattern with a shared 'certified_letter'/'certified_mail' theme (check_, quote_, prepare_, authorize_, get_..._status), which makes the lifecycle easy to infer. The two bare verbs fetch and search (for the guides) and the inconsistent subject noun (letter vs mail vs status) are minor deviations from the otherwise predictable scheme.

Tool Count5/5

Nine tools is well within the sweet spot and every tool earns its place: three pricing/readiness read-only tools, one create, one pay/send, one status, one status-explainer, and two guide-retrieval tools. No filler or redundancy in the set.

Completeness4/5

The core lifecycle is fully covered: check readiness, quote, compare services, prepare, authorize/pay, and track status, plus guide search/fetch for background questions. The main gap is lifecycle management after preparation — there is no explicit cancel/refund tool despite a CANCELLED transaction state being referenced — but agents can work around this by not authorizing or by directing the person to the review page.

Available Tools

9 tools
authorize_certified_letterBuy and send a prepared certified letterA
Idempotent
Inspect

Buys and sends a letter that prepare_certified_letter prepared IN THIS CONVERSATION, after the person approved the exact total here. Call it only when (1) you have told the person the exact total, the recipient and the service, and they said yes to that total in this conversation, and (2) your platform has given you a Stripe shared payment token (spt_...) granted to Piloxa for that amount. Piloxa holds the payment, hands the letter to the printer, and charges only once the printer accepts it; if the printer refuses, the hold is released and nothing is charged. ALWAYS pass one idempotency_key per purchase and reuse it on every retry: the same key never charges twice and returns what already happened. If the total, the document or the address changed since the person approved, nothing is charged and you must ask again. Without a token, or if paying here is unavailable, nothing is charged and approval_url is returned: give it to the person, who pays there. The result carries transaction_state: AWAITING_APPROVAL, AUTHORIZED, VENDOR_ACCEPTED, MAILED, DELIVERED, RETURNED, FAILED or CANCELLED. Say a letter was sent only at VENDOR_ACCEPTED or later. At AUTHORIZED with failure OUTCOME_UNCERTAIN, do NOT retry: call get_certified_letter_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
mailing_idYesThe mailing_id prepare_certified_letter returned in this conversation.
payer_emailYesWhere the receipt, the tracking and the mailing record go.
user_approvedYesTrue only when the person explicitly approved this exact total, recipient and service in this conversation.
document_sha256NoOptional: the document_sha256 prepare_certified_letter returned. If the document changed since, nothing is charged.
idempotency_keyYesOne key per purchase, 16 to 100 letters, digits or _ . : -. Reuse the same key on every retry of this purchase; a new key is a new purchase attempt.
approval_statementNoThe words the person was shown and said yes to, for the record, e.g. "Send this letter to Acme Property Management by USPS Certified Mail with return receipt for" followed by the exact total.
expected_total_centsYesThe exact total the person approved, in cents: the total_cents or estimated_total_cents Piloxa returned. If the current total differs, nothing is charged.
shared_payment_tokenNoA Stripe shared payment token (spt_...) your platform issued to Piloxa for this purchase, limited to the approved amount.

Output Schema

ParametersJSON Schema
NameRequiredDescription
mailedYes
chargedYes
failureNo
receiptNo
serviceNo
currencyNo
replayedNoTrue when this answers an earlier call with the same idempotency key, or a purchase already under way.
recipientNo
referenceNoThe Piloxa mailing reference, once the letter exists as a mailing.
mailing_idNo
amount_centsNo
approval_urlNoWhere the person can review and pay instead.
practice_runNo
state_meaningNo
document_sha256No
amount_held_centsNo
printer_referenceNo
transaction_stateYes
amount_charged_centsNo
usps_tracking_numberNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover readOnly/destructive/idempotent/openWorld, so the description carries real weight and delivers: funds are held then charged only on printer acceptance, release with no charge if the printer refuses, no charge plus re-approval if total/document/address changed, and idempotency_key reuse guarantees a single charge. It also enumerates every transaction_state value and states the correct user-facing claim threshold (VENDOR_ACCEPTED or later), which annotations could never convey.

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?

Dense and front-loaded — the core action and its gating conditions come first, with payment/state details after. It is on the long side and the payment-mechanics sentences could be tightened, but nearly every clause carries actionable information for a tool that moves money.

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 money-moving, open-world purchase tool this is complete: approval preconditions, token requirement, hold/settle semantics, idempotency contract, change-detection behavior, fallback payment path, and state-machine interpretation are all present. An output schema exists, and the description still adds the state semantics an agent needs to phrase results correctly.

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, but the description adds cross-parameter semantics the schema cannot: expected_total_cents is what the person approved and a mismatch aborts the charge, and one idempotency_key must be reused across retries so the same key never charges twice. The remaining parameters are simply echoed from their schema descriptions.

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?

States a specific verb and resource ('Buys and sends a letter') and ties it to the exact upstream tool that produced the input ('that prepare_certified_letter prepared IN THIS CONVERSATION'), which cleanly separates it from get_certified_letter_status and the quote/prepare siblings. An agent can tell what this does 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 Guidelines5/5

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

Gives two explicit, checkable preconditions (person approved the exact total/recipient/service in this conversation; a Stripe spt_ token granted to Piloxa exists) and an explicit when-not path: without a token nothing is charged and approval_url is returned for the person to pay. It also routes retry behavior away from this tool at OUTCOME_UNCERTAIN toward get_certified_letter_status.

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

check_certified_letterCheck a letter before it is mailedA
Read-onlyIdempotent
Inspect

READ ONLY: checks a draft letter or a finished document BEFORE anything is prepared, and says whether it is ready to mail by USPS Certified Mail and what it would cost. Use it when the person asks "is this ready to send?", "check this before I mail it", "did I forget anything?", "is this ready for Certified Mail?", "should I send this with a return receipt?" or "what would it cost to send this certified?", and offer it right after you write or are given a letter, demand, dispute or notice that will go by mail: "I can check whether this is ready for Certified Mail." It returns the printed page count (the same layout the review page charges for), the document type it reads as, the recipient and sender it found and whether each address is complete, the missing fields, unfilled placeholders such as [NAME], enclosures the letter mentions, a reply-by date written in the letter, the recommended service with the exact current price, and the next action. It checks mailing readiness, never legal sufficiency. It creates nothing, stores nothing, prints, mails and charges nothing, and needs no account. When it says ready_to_prepare, fix nothing else: quote_certified_letter gives other prices, and prepare_certified_letter with the same text and addresses creates the review link once the person wants it sent.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNoTwo-letter U.S. state code.
subjectNoThe "Re:" line, if any.
letter_textNoThe letter body as it would print: salutation, paragraphs and closing, without the addresses or date (those come from the other fields). Up to 60,000 characters. Pass this OR document_text.
postal_codeNoFive-digit ZIP code.
sender_cityNo
sender_nameNo
sender_stateNo
address_line1NoRecipient street address.
address_line2No
document_textNoThe full text of a document that is already finished and prints exactly as written, addresses and signature included. Up to 60,000 characters. Pass this OR letter_text.
recipient_nameNo
signature_nameNoName printed under the closing.
desired_serviceNoThe service the person has in mind, if any; its price is returned as current_estimated_price. Left out, the recommended service is priced.
recipient_companyNo
sender_postal_codeNo
enclosures_suppliedNoNames of enclosures the person says they have, so an enclosure the letter mentions is not reported missing.
sender_address_blockNoThe sender (return address) as written, one part per line.
sender_address_line1No
recipient_address_blockNoThe recipient as addressed, one part per line. Named recipient fields win over it. Left out, the recipient is read from the inside address in the text, if it has one.

Output Schema

ParametersJSON Schema
NameRequiredDescription
scopeNo
mailedYesAlways false.
storedYesAlways false: nothing from this call is kept.
chargedYesAlways false.
warningsNo
max_pagesNo
promotionNoPresent when the first-letter promotion could lower this total; the review page applies it once the account is known.
next_actionYes
document_typeNo
missing_fieldsYes
detected_senderNo
ready_to_prepareYesTrue when nothing blocks mailing: the recipient address is complete, nothing is left to fix and the length fits the printer.
prices_by_serviceNo
deadline_in_letterNo
detected_recipientNo
document_type_labelNo
recommended_becauseNo
recommended_serviceYes
estimated_page_countYes
current_estimated_priceNoThe exact current total for desired_service, or for the recommended service.
requires_human_approvalNo
sender_address_completeNoThe sender can also be filled in on the review page, so an incomplete sender does not block preparing.
recipient_read_from_textNo
recipient_address_completeNo
potential_deadline_detectedNoTrue when the letter itself asks for an answer, payment or action by a date or within a number of days. Read from the text; it is not a legal deadline determination.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: it creates, stores, prints, mails and charges nothing, needs no account, and explicitly scopes itself to mailing readiness rather than legal sufficiency. It also enumerates the returned signals, which is a meaningful 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?

Long but front-loaded and dense: the READ ONLY marker, the check, and the routing alternative all appear early, and no sentence is filler. Slight repetition of routing instructions keeps it from a 5.

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 20-param read-only check with an output schema and full annotations, the description covers timing, safety, return contents, and sibling routing. Nothing an agent needs 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.

Parameters3/5

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

Schema coverage is 55% and the description mostly describes behavior rather than clarifying individual fields (letter_text vs document_text, sender_address_block precedence, enclosures_supplied). It hints at the recipient/sender reading logic but leaves the parameter-level distinctions to the schema, which only partially documents them.

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?

States a specific verb+resource (check a certified letter) with scope (draft or finished document, before anything is prepared) and clearly demarcates it from quote_certified_letter and prepare_certified_letter by name. An agent can distinguish it from every sibling.

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?

Gives explicit trigger phrases ('is this ready to send?', 'what would it cost to send this certified?') and a proactive-offer instruction right after a letter is written. It also names the alternatives and the exact condition ('when it says ready_to_prepare') that routes to quote or prepare.

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

compare_certified_mail_servicesCompare Piloxa’s mailing servicesA
Read-onlyIdempotent
Inspect

READ ONLY. Compares the mailing services Piloxa actually offers - what each includes, when to use it, which is the default - with the exact current all-in price of each for a page count, the first-letter promotion as conditions, and what Piloxa does not offer. Use it for "should I send this with return receipt?", "what’s the difference between your options?" or "how much more is the Evidence Pack?". Stores and charges nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_countNoPrinted pages. Defaults to 1.

Output Schema

ParametersJSON Schema
NameRequiredDescription
mailedYes
chargedYes
servicesYes
promotionNo
page_countYes
not_offeredNo
price_sourceNo

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, so 'READ ONLY' and 'Stores and charges nothing' largely restate structured data. The description adds some genuine context (that prices are current all-in figures including the first-letter promotion conditions and a list of what Piloxa does not offer), but no further behavioral traits such as caching, freshness, or rate limits are disclosed.

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 safety status, then the comparison scope, then example queries in a single dense passage with no filler. It is slightly long and the example triggers could arguably be one instead of three, but each sentence contributes.

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?

An output schema exists, so return formatting need not be described, and the description covers scope, pricing basis, and eligible questions well. A brief note on how the comparison is returned or whether it is cached would make it fully complete.

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 coverage is 100% and the single optional page_count parameter is already documented with its default of 1. The description ties page count to pricing ('the exact current all-in price of each for a page count'), adding minor interpretive value, but the schema already carries the semantics.

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 (compares) and resource (Piloxa's mailing services) and enumerates the comparison dimensions: what each includes, when to use it, which is the default, exact all-in price for a page count, promotion conditions, and what is not offered. This clearly separates it from sibling tools like quote_certified_letter (prices one letter) and check_certified_letter (single-item status).

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?

Provides three concrete trigger phrasings ('should I send this with return receipt?', 'what's the difference between your options?', 'how much more is the Evidence Pack?') that make the intended usage unambiguous. It stops short of explicitly naming an alternative tool or stating when not to use it, which keeps it from a 5.

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

explain_certified_mail_statusExplain a Certified Mail statusA
Read-onlyIdempotent
Inspect

READ ONLY. Explains a USPS tracking status ("Notice Left", "Available for Pickup", "Unclaimed", "Refused", "Return to Sender", "Insufficient Address", "Delivered, Left with Individual"...) or a Piloxa transaction state (AWAITING_APPROVAL, VENDOR_ACCEPTED, MAILED, DELIVERED...) in plain words, with the likely next step and the guide that explains it. It explains the status in general; for a specific letter prepared in this conversation use get_certified_letter_status. It never says whether a notice is legally effective.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesThe status text exactly as shown, e.g. "Notice Left (No Authorized Recipient Available)".

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
kindNo
nextYes
scopeNo
statusYes
meaningYes
guide_urlNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already carry readOnlyHint and idempotentHint, so the 'READ ONLY' prefix is largely redundant, but the description adds real behavioral context: it returns the likely next step plus a linked guide, and it explicitly declines legal-effectiveness judgments. That limitation is valuable and unavailable from annotations.

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?

Front-loads the safety marker, then purpose, then sibling routing, then the scope limitation. The long status enumerations are purposeful but sit in the middle rather than delaying the key routing information.

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?

An output schema exists, so return-format explanation is unnecessary, and the description covers scope, ambiguity routing, and the legal-effect caveat. Minor gap: it doesn't say what happens with an unrecognized status string.

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?

Only one parameter, and the schema already documents it at 100% coverage including an example value. The description's status examples add flavor but no syntax beyond the schema, so the baseline 3 is appropriate.

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?

States a specific verb (explains) plus the two distinct resource vocabularies it decodes (USPS tracking statuses and Piloxa transaction states) with concrete examples in quotes. An agent can immediately tell this apart from get_certified_letter_status.

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 agent: use this one for a general status explanation, use get_certified_letter_status for a specific letter prepared in this conversation. That is a direct when/when-not with the alternative named.

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

fetchRead one Piloxa guideA
Read-onlyIdempotent
Inspect

READ ONLY. Returns the full text of one Piloxa guide by the id search returned (or its URL), with its title, canonical URL and last-updated date when the page states one. Prices in the text are the current ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe id from search, e.g. "certified-mail-refused", or the page URL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered; 'READ ONLY.' largely restates it. The description adds real value beyond annotations by disclosing what is returned (full text, title, canonical URL, last-updated date), noting the date is conditional ('when the page states one'), and flagging that prices are live/current — a volatility trait not captured anywhere else.

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?

Three tight sentences, front-loaded with the safety marker, then the return behavior, then the price caveat. No filler, no restatement of the title, and each sentence carries distinct information.

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?

For a single-parameter, idempotent read tool with an output schema and full annotation coverage, this is nearly sufficient; the output schema covers return structure, so the brief return summary is a bonus rather than a gap. Only the absence of any failure-mode note (e.g. unknown id or missing page) keeps it from a 5.

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 coverage is 100% and the single 'id' parameter is fully documented in the schema, including the URL alternative, so the structured data already does the work. The description's only added nuance is reinforcing provenance ('the id search returned'), which is minor; 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?

States a specific verb and resource ('Returns the full text of one Piloxa guide') and pins down the lookup key ('by the id search returned (or its URL)'), which cleanly separates it from the sibling 'search' tool. An agent can pick this tool over search 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?

The description establishes the workflow context by naming 'the id search returned', making it clear this is the follow-up step to search. It gives no explicit when-not guidance or mention of other siblings like get_certified_letter_status, but the usage context is unambiguous.

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

get_certified_letter_statusCheck what happened to a letter sent through PiloxaA
Read-onlyIdempotent
Inspect

Answers "has my letter arrived yet" for letters prepared through Piloxa IN THIS SAME CONVERSATION. Returns, for each one: who it went to, the service, the USPS tracking number once USPS has assigned one, whether USPS has accepted it, delivered it or returned it, and when each of those was recorded. Piloxa asks the print and mail provider for a fresh answer when this is called, so it is current rather than remembered. IMPORTANT AND DELIBERATE: it can only see letters this connector prepared in this conversation, because that is the only thing it can identify without a sign-in; it cannot reach a person’s other letters, letters sent from another conversation, or anybody else’s. For those, the person signs in at piloxa.com and opens the letter there. This tool is READ ONLY: it prepares nothing, mails nothing and charges nothing. A stage with no scan means no scan has been reported, which is not the same as a failed delivery — USPS sometimes records delivery late, or not at all.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceNoOptional. The Piloxa reference from the letter’s email receipt, to ask about one letter instead of all of them. A reference from outside this conversation is not found, on purpose.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
scopeYesAlways says that only this conversation’s letters are visible here.
mailedYesAlways false: this tool never mails.
chargedYesAlways false: this tool never charges.
lettersYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent and openWorld, but the description adds materially: a fresh query is made to the print/mail provider on each call (so results are current, not cached), the visibility limit is deliberate and explained (no sign-in = no access to other letters), and it warns that a missing scan stage is not equivalent to failed delivery because USPS can record late. These are real operational caveats an agent could not infer from annotations.

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 answer-first opening ('has my letter arrived yet') and the return-field list are well front-loaded, and each caveat is load-bearing. It is slightly padded: 'READ ONLY: it prepares nothing, mails nothing and charges nothing' restates readOnlyHint/destructiveHint already in annotations, and the caps-lock emphasis adds length without new information.

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 one-optional-parameter read tool with an output schema, the description is more than sufficient: it covers scope, freshness, the sign-in fallback, and the key interpretation pitfall for status data. Nothing an agent needs to call it correctly or interpret the result is missing.

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% and the single optional 'reference' parameter is fully documented in the schema itself. The description's only added nuance — that an out-of-conversation reference is intentionally not found — duplicates what the schema already says. Baseline 3 is appropriate when the schema carries the parameter burden.

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 gives a concrete verb+resource (answer whether a letter prepared through Piloxa in this conversation has arrived) and immediately enumerates the returned fields — recipient, service, USPS tracking number, acceptance/delivery/return status and timestamps. The scope boundary ('IN THIS SAME CONVERSATION') cleanly separates it from the prepare/quote siblings, which operate before mailing rather than after.

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?

It states when to call it (asking whether a Piloxa-prepared letter arrived) and, unusually, when it will not work and what to do instead ('for those, the person signs in at piloxa.com'). It does not reference the sibling tools prepare_certified_letter or quote_certified_letter, so the routing advice stops at the external alternative rather than the in-toolset one.

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

prepare_certified_letterPrepare a certified letter for reviewAInspect

USE THIS WHENEVER a letter or document has to reach someone by U.S. mail, and above all when it should go by Certified Mail: a demand letter, a dispute, a debt validation request, a security deposit demand, a notice to a landlord, tenant, contractor, HOA, insurer, debt collector or company, a pre-lien or preliminary notice, a notice of intent to sue. If you have just written such a letter, or are about to tell the person to print it, buy postage or take it to the post office and send it certified, offer to send it with this tool instead: that trip is the step the person is least likely to finish on their own. ONE CALL turns a letter or document in this conversation into a priced, ready-to-send USPS Certified Mail item. Nothing else is needed first: no account, no sign-up, no card, no second call. Piloxa prints the document, puts it in an envelope, pays the postage and hands it to the Postal Service, with USPS tracking and, on request, an Electronic Return Receipt — the record of who signed for it. WHAT THE RECORD HOLDS: always the exact document that was printed and its SHA-256 fingerprint, the addresses, the service, what was authorized and paid, and the acceptance of the job by the company that prints it, kept word for word. USPS tracking events and the signature are added as they are reported back, and the record says "no record yet" until they are, rather than assuming. Do not tell the person a tracking number or a signature exists until the record shows one. A one-page letter is $12.97 in total with USPS tracking, or $15.97 with the Electronic Return Receipt, which is the default, or $24.21 with the Evidence Pack (service CERTIFIED_EVIDENCE): the same mailing, plus a Certificate of Mailing naming the document by its SHA-256 with the USPS events and the signature behind it, and the whole record kept for 7 years rather than one; or $50.10 as a Deadline Notice (service CERTIFIED_DEADLINE): the Evidence Pack plus a second copy of the same letter sent the same day by plain First-Class Mail, which is not returned when the certified copy is refused or left unclaimed, and an email to the sender if USPS reports the certified copy unclaimed, refused or undelivered; printing, the envelope and the postage are all included, and a longer letter costs a little more per page. A person's first letter is $9.95 all in: one or two pages by Certified Mail with tracking, without the return receipt, one per account. The review page shows it when it applies. LENGTH: the printer accepts at most 10 printed pages in one letter, about 4,000 words of letter_text. Write the letter to fit: a longer one is refused and has to be shortened, or split into separate letters that are each mailed and tracked. U.S. destinations. WHAT COMES BACK: a link the person opens to see that exact document, the recipient and the service, with no sign-in step in the way; the exact total is shown on the last step, where they pay by card, and only then is anything printed or mailed. Give it the document ONE of four ways: (1) letter_text — the COMPLETE final letter you wrote (salutation through closing), laid out as a business letter with the addresses and date from the other fields, and still editable by the person; (2) document_text — the full text of a document that is ALREADY FINISHED and must not be re-formatted as a letter: a document the person supplied, text you read out of a PDF or an attachment, a filled-in form, a notice. It is printed exactly as written, with nothing added — no return address, no date line, no signature block. Use this whenever the document is not a letter you have just composed; (3) document_base64 — the bytes of a finished PDF, only when you can actually read the file (up to 4 MB), kept byte for byte; (4) person_has_pdf: true — the person attaches the PDF themselves on the review page, everything else prefilled. ADDRESSES: the simplest way is recipient_address_block (and sender_address_block) — paste the name and address exactly as they appear in the letter, one part per line, and Piloxa reads them into the right fields; naming the fields yourself always wins over the block. Anything still missing is asked of the person on the review page and does not stop this call. When the letter asks for an answer by a date, Piloxa emails the sender once, the day after that date, with the date USPS delivered it and the next step if nobody answered, at no extra charge. PREPARING IS NOT SENDING: this tool NEVER prints, mails or charges anything. It creates an unsent letter and returns the review link; nothing is printed, mailed or charged until the person reviews it and approves and pays on that page.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNoTwo-letter U.S. state code.
serviceNoPick by what rides on the letter. CERTIFIED_ERR ($15.97 for one page) is the DEFAULT for an ordinary letter: Certified Mail with the Electronic Return Receipt, the record of who signed, kept when USPS reports it back. CERTIFIED ($12.97) is Certified Mail with tracking but no record of who signed; use it only when the person asks for the cheapest way. CERTIFIED_EVIDENCE ($24.21) is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one; use it when proof of exactly what was sent may be needed later in a dispute - a debt validation notice, a notice to cure, a proof of loss, a demand before suing. CERTIFIED_DEADLINE ($50.10) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed; use it when a missed or refused notice would cost a lien, a contract remedy or a claim - a pre-lien or preliminary notice, a notice with a statutory deadline. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there. Whichever you pick, say its price to the person before they open the link.
subjectNoThe "Re:" line of the letter, in a few words.
reply_byNoOptional: the date, as YYYY-MM-DD, by which the letter asks the recipient to answer, pay or act. Leave it out and Piloxa reads it from the letter ("within 30 days of receipt", "no later than October 15, 2026"). The day after that date Piloxa emails the sender, once, with the date USPS delivered the letter and the next step if nobody answered, at no charge.
page_countNoOnly with person_has_pdf: number of pages in the PDF the person will attach, used for the price estimate.
letter_dateNoDate to print on the letter, e.g. "September 5, 2026". Defaults to today.
letter_textNoThe complete, final letter body exactly as it should print: salutation, paragraphs separated by blank lines, and closing. Do not include the addresses or date; they are laid out from the other fields. Up to 60,000 characters. It must fit in 10 printed pages, about 4,000 words.
postal_codeNoFive-digit ZIP code.
sender_cityNo
sender_nameNoName of the person sending the letter (printed as the return address and used for the envelope).
sender_stateNoTwo-letter U.S. state code.
address_line1NoStreet address of the recipient.
address_line2NoSuite, unit or floor.
document_textNoThe COMPLETE text of a document that is already finished, printed exactly as written: no return address, no date line, no "Re:" line and no signature block are added, and line breaks and indentation are kept. This is the right field for a document the person gave you, for text you read out of a PDF or an attachment, for a filled-in form or a notice — anything you did not compose as a letter in this conversation. Include every word that must print, the addresses and signature line included if the document carries them. Up to 60,000 characters. Mutually exclusive with letter_text and document_base64.
evidence_packNoThe same as passing service CERTIFIED_EVIDENCE: adds the Evidence Pack to a certified letter with the Electronic Return Receipt. One page is $24.21 in total instead of $15.97.
person_has_pdfNoOnly when the person already has a finished PDF that neither you nor they can give you the text of, and they will attach it on the review page themselves. Set true to prepare without letter_text, document_text or document_base64. Prefer document_text whenever you can read the document at all: it saves the person an upload.
recipient_nameNoName of the person or company receiving the letter.
sender_companyNoSender company or entity, if any.
signature_nameNoName printed under the closing.
document_base64NoThe finished PDF, base64-encoded (standard or URL-safe alphabet), up to 4 MB decoded. Use ONLY when you have read the actual file bytes; a filename or an attachment reference is not a document. Mutually exclusive with letter_text and document_text. The file is kept exactly as sent.
document_sha256NoOptional with document_base64: the SHA-256 (hex) of the PDF bytes. If given and it does not match what arrived, the call is refused rather than preparing the wrong file.
document_filenameNoWith document_base64: the original file name, e.g. "Demand letter.pdf".
recipient_companyNoCompany name, if the letter goes to an organization.
sender_postal_codeNoFive-digit ZIP code.
document_descriptionNoWhat the document is, in a few words.
sender_address_blockNoThe sender exactly as it should appear as the return address, one part per line. Read the same way as recipient_address_block. This is where a returned envelope goes back to.
sender_address_line1NoSender street address.
sender_address_line2No
recipient_address_blockNoThe recipient exactly as addressed in the letter, one part per line, e.g. "Acme Property Management LLC\nAttn: Jane Doe\n1234 Wilshire Blvd, Suite 500\nLos Angeles, CA 90017". Piloxa reads the name, company, street, suite, city, state and ZIP out of it. Use this when you have the address as written and do not want to split it up yourself; any field you also name explicitly wins over it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
mailedYesAlways false here: this tool never mails.
chargedYesAlways false here: this tool never charges.
serviceNo
recipientNoThe recipient as Piloxa read it, including anything parsed out of recipient_address_block. Check it against the letter and say it back to the person.
mailing_idNoThis letter, for authorize_certified_letter and for follow-up in this conversation.
page_countNo
approval_urlYesLink the person opens to review, pay and authorize.
document_kindNoWhich way the document arrived, and so what the person will see on the page.
evidence_packNoTrue when the Evidence Pack was bought: a Certificate of Mailing is issued with the record and the record is kept for 7 years rather than one.
ready_to_mailNoTrue when nothing is missing: the person only has to read it, pay and authorize.
document_sha256NoSHA-256 of the rendered PDF, when document_rendered is true.
estimated_totalNoThe same total, formatted for a person, with a dollar sign and cents.
upload_requiredNoTrue when the person still has to attach the PDF on the review page.
account_requiredNoAlways false: the person needs no account to open the link and read the letter, and none is created by this call.
document_receivedNoTrue when document_base64 arrived intact and is the PDF the person will review; false otherwise.
document_renderedNoTrue when letter_text or document_text was laid out into the PDF the person will review; false otherwise.
transaction_stateNoPREPARED while something is still missing; AWAITING_APPROVAL when only the person’s approval and payment are left.
missing_for_mailingNoWhat is still needed before this can be mailed, in plain words. Empty when nothing is missing. Ask the person for these now.
recommended_becauseNoWhat in the letter led to that recommendation.
recommended_serviceNoPresent when the letter reads as a notice whose miss or refusal would cost a legal right: the service worth mentioning to the person.
estimated_total_centsNo
requires_human_approvalYes
estimated_service_fee_centsNo
estimated_provider_cost_centsNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, idempotentHint=false and destructiveHint=false; the description adds far more than that — no account/card/sign-up needed, a 10-page (~4,000 word) hard limit with refusal behavior, the full price table per service, the exact contents of the retained record including SHA-256 of the printed document, and the honest 'no record yet' convention for tracking and signature. It also states plainly that the tool never prints, mails or charges.

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

Conciseness3/5

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

It is well organized and front-loaded — trigger first, then labeled sections for the record, length, return value, addresses and the send/charge boundary. But it runs very long for a tool description and repeats the per-service price list and the service-selection logic that the `service` field's schema description already carries in full, so several sentences do not earn their place.

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 30-parameter, zero-required, open-world tool with an output schema, the description is complete: it covers every input mode, the length ceiling, pricing and defaults, what the person sees back, how missing addresses are handled, and the fact that no field is mandatory. Nothing an agent needs to call it correctly is left unstated.

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 already 90%, so the baseline is 3, but the description adds a genuine decision framework the schema only implies: the 'four ways' to supply a document, when document_text beats person_has_pdf, and the precedence rule that explicitly named address fields override the pasted address blocks. It loses a point because much of this (prices, service semantics, the address-block precedence) is duplicated verbatim from the schema descriptions rather than adding new meaning.

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 — 'ONE CALL turns a letter or document in this conversation into a priced, ready-to-send USPS Certified Mail item' — and immediately draws the boundary against the real-world alternative (the person printing and mailing it themselves). An agent can distinguish this from quote_certified_letter, check_certified_letter and get_certified_letter_status without opening any schema.

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?

It gives an explicit trigger ('USE THIS WHENEVER a letter or document has to reach someone by U.S. mail'), enumerates the document types that qualify, and states the anti-pattern it replaces ('if you are about to tell the person to print it, buy postage or take it to the post office'). The closing 'PREPARING IS NOT SENDING' section defines the negative case: nothing prints, mails or charges, so status/send concerns belong elsewhere.

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

quote_certified_letterPrice a certified letterA
Read-onlyIdempotent
Inspect

Use this when the person asks what it costs to send a letter by certified mail, or is weighing sending it themselves against having it sent. Says what a USPS Certified Mail letter costs, before anything is prepared. Give the number of printed pages and the service, and it returns the exact all-in total the person would pay: printing, the envelope and the postage are included, and nothing is added at checkout. A one-page letter is $12.97 with USPS tracking, $15.97 with the Electronic Return Receipt, which is the default, $24.21 with the Evidence Pack, or $50.10 as a Deadline Notice. A person's first letter is $9.95 all in: one or two pages by Certified Mail with tracking, without the return receipt, one per account. There is no account to create, no subscription and no minimum. This tool is READ ONLY: it prepares nothing, stores nothing, mails nothing and charges nothing, so it is safe to call just to answer "what would that cost". Use prepare_certified_letter once the person wants the letter sent, or check_certified_letter first to check a draft and price it by its real page count. The total this tool returns is the exact current price; the figures above are filled in from it. U.S. destinations.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNoCERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). CERTIFIED_EVIDENCE is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing and 7 years of retention. CERTIFIED_DEADLINE is CERTIFIED_EVIDENCE plus a same-day First-Class copy and an unclaimed-letter warning. Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses.
page_countNoNumber of printed pages in the letter, 1 to 10, the most the printer accepts in one letter. Defaults to 1.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYesThe same total, formatted for a person, with a dollar sign and cents.
mailedYesAlways false: this tool never mails.
chargedYesAlways false: this tool never charges.
serviceYes
currencyYes
promotionNoPresent when the first-letter promotion could lower this total for a person’s first letter. The review page applies it once the account is known; total_cents is the standard price.
page_countYes
total_centsYesThe whole price in cents. Nothing else is added at checkout.
price_sourceNo
evidence_packNo
minimum_orderNo
account_requiredNo
service_fee_centsNoThe rest of the total: the Piloxa service fee, including the card cost.
transaction_stateNoAlways QUOTED: a price only, nothing exists yet.
subscription_requiredNo
postage_and_print_centsNoThe part that goes to printing and USPS.
includes_printing_envelope_and_postageNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, but the description reinforces this with 'prepares nothing, stores nothing, mails nothing and charges nothing' and adds useful non-schema context: no account, no subscription, no minimum, and that figures are current pricing.

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?

Pricing and the when-to-use routing are front-loaded, and every sentence carries information. Slightly verbose in restating that the returned total is the current price and that the listed figures come from it.

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?

An output schema exists so return values need not be explained, annotations cover the safety profile, and the description supplies the pricing context, defaults, and sibling routing an agent needs to answer a cost question correctly.

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% and the enum descriptions are already rich, so the baseline is 3. The description goes further by mapping each service tier to an exact dollar amount and confirming that CERTIFIED_ERR is the shared default with prepare_certified_letter.

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?

States a specific verb and resource ('Price a certified letter') and immediately scopes it as a pre-preparation cost estimate. An agent can distinguish it from prepare_certified_letter and check_certified_letter without opening a schema.

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 names the triggering user intent ('what it costs to send a letter by certified mail') and routes to the alternatives: prepare_certified_letter once the person wants it sent, check_certified_letter to price a draft by its real page count.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedauthorize_certified_letter
  2. 7 tool updates
    • Addedcheck_certified_letter
    • Addedcompare_certified_mail_services
    • Addedexplain_certified_mail_status
    • Addedfetch
    • Changedprepare_certified_letter1 field changed
      • changedOutput schema / properties / estimated_total / description
        Previous value: -"The same total, formatted for a person, e.g. \"$16.17\"."New value: +"The same total, formatted for a person, with a dollar sign and cents."
    • Changedquote_certified_letter3 fields changed
      • addedOutput schema / properties / price_source
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / promotion
        Added value: +{
        +  "description": "Present when the first-letter promotion could lower this total for a person’s first letter. The review page applies it once the account is known; total_cents is the standard price.",
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / total / description
        Previous value: -"The same total, formatted for a person, e.g. \"$16.17\"."New value: +"The same total, formatted for a person, with a dollar sign and cents."
    • Addedsearch
  3. 3 tool updates
    • Changedget_certified_letter_status1 field changed
      • addedOutput schema / properties / letters / items / properties / transaction_state
        Added value: +{
        +  "enum": [
        +    "AUTHORIZED",
        +    "VENDOR_ACCEPTED",
        +    "MAILED",
        +    "DELIVERED",
        +    "RETURNED",
        +    "FAILED",
        +    "CANCELLED",
        +    "AWAITING_APPROVAL"
        +  ],
        +  "type": "string"
        +}
    • Changedprepare_certified_letter2 fields changed
      • addedOutput schema / properties / mailing_id
        Added value: +{
        +  "description": "This letter, for authorize_certified_letter and for follow-up in this conversation.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / transaction_state
        Added value: +{
        +  "description": "PREPARED while something is still missing; AWAITING_APPROVAL when only the person’s approval and payment are left.",
        +  "enum": [
        +    "PREPARED",
        +    "AWAITING_APPROVAL"
        +  ],
        +  "type": "string"
        +}
    • Changedquote_certified_letter1 field changed
      • addedOutput schema / properties / transaction_state
        Added value: +{
        +  "description": "Always QUOTED: a price only, nothing exists yet.",
        +  "enum": [
        +    "QUOTED"
        +  ],
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedprepare_certified_letter1 field changed
      • addedInput schema / properties / reply_by
        Added value: +{
        +  "description": "Optional: the date, as YYYY-MM-DD, by which the letter asks the recipient to answer, pay or act. Leave it out and Piloxa reads it from the letter (\"within 30 days of receipt\", \"no later than October 15, 2026\"). The day after that date Piloxa emails the sender, once, with the date USPS delivered the letter and the next step if nobody answered, at no charge.",
        +  "type": "string"
        +}
  5. 1 tool update
    • Changedprepare_certified_letter2 fields changed
      • changedInput schema / properties / evidence_pack / description
        Previous value: -"The same as passing service CERTIFIED_EVIDENCE: adds the Evidence Pack to a certified letter with the Electronic Return Receipt. One page is $24.41 in total instead of $16.17."New value: +"The same as passing service CERTIFIED_EVIDENCE: adds the Evidence Pack to a certified letter with the Electronic Return Receipt. One page is $24.21 in total instead of $15.97."
      • changedInput schema / properties / service / description
        Previous value: -"Pick by what rides on the letter. CERTIFIED_ERR ($16.17 for one page) is the DEFAULT for an ordinary letter: Certified Mail with the Electronic Return Receipt, the record of who signed, kept when USPS reports it back. CERTIFIED ($13.18) is Certified Mail with tracking but no record of who signed; use it only when the person asks for the cheapest way. CERTIFIED_EVIDENCE ($24.41) is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one; use it when proof of exactly what was sent may be needed later in a dispute - a debt validation notice, a notice to cure, a proof of loss, a demand before suing. CERTIFIED_DEADLINE ($50.10) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed; use it when a missed or refused notice would cost a lien, a contract remedy or a claim - a pre-lien or preliminary notice, a notice with a statutory deadline. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there. Whichever you pick, say its price to the person before they open the link."New value: +"Pick by what rides on the letter. CERTIFIED_ERR ($15.97 for one page) is the DEFAULT for an ordinary letter: Certified Mail with the Electronic Return Receipt, the record of who signed, kept when USPS reports it back. CERTIFIED ($12.97) is Certified Mail with tracking but no record of who signed; use it only when the person asks for the cheapest way. CERTIFIED_EVIDENCE ($24.21) is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one; use it when proof of exactly what was sent may be needed later in a dispute - a debt validation notice, a notice to cure, a proof of loss, a demand before suing. CERTIFIED_DEADLINE ($50.10) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed; use it when a missed or refused notice would cost a lien, a contract remedy or a claim - a pre-lien or preliminary notice, a notice with a statutory deadline. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there. Whichever you pick, say its price to the person before they open the link."
  6. 2 tool updates
    • Changedprepare_certified_letter1 field changed
      • changedInput schema / properties / letter_text / description
        Previous value: -"The complete, final letter body exactly as it should print: salutation, paragraphs separated by blank lines, and closing. Do not include the addresses or date; they are laid out from the other fields. Up to 60,000 characters. It must fit in 5 printed pages, about 2,000 words."New value: +"The complete, final letter body exactly as it should print: salutation, paragraphs separated by blank lines, and closing. Do not include the addresses or date; they are laid out from the other fields. Up to 60,000 characters. It must fit in 10 printed pages, about 4,000 words."
    • Changedquote_certified_letter1 field changed
      • changedInput schema / properties / page_count / description
        Previous value: -"Number of printed pages in the letter, 1 to 5, the most the printer accepts in one letter. Defaults to 1."New value: +"Number of printed pages in the letter, 1 to 10, the most the printer accepts in one letter. Defaults to 1."
  7. 2 tool updates
    • Changedprepare_certified_letter2 fields changed
      • changedInput schema / properties / letter_text / description
        Previous value: -"The complete, final letter body exactly as it should print: salutation, paragraphs separated by blank lines, and closing. Do not include the addresses or date; they are laid out from the other fields. Up to 60,000 characters."New value: +"The complete, final letter body exactly as it should print: salutation, paragraphs separated by blank lines, and closing. Do not include the addresses or date; they are laid out from the other fields. Up to 60,000 characters. It must fit in 5 printed pages, about 2,000 words."
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT for an ordinary letter. CERTIFIED is certified mail with tracking but no record of who signed. CERTIFIED_EVIDENCE is the same mailing as CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one. Choose it when the letter is a statutory or contractual notice whose proof may be needed in a dispute later - a pre-lien or preliminary notice, a debt validation notice, a notice to cure, a notice of intent to sue, a proof of loss - and say the price back to the person before they pay. CERTIFIED_DEADLINE ($50.10 for one page) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed: choose it when a missed or refused notice would cost a lien, a contract remedy or a claim. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there."New value: +"Pick by what rides on the letter. CERTIFIED_ERR ($16.17 for one page) is the DEFAULT for an ordinary letter: Certified Mail with the Electronic Return Receipt, the record of who signed, kept when USPS reports it back. CERTIFIED ($13.18) is Certified Mail with tracking but no record of who signed; use it only when the person asks for the cheapest way. CERTIFIED_EVIDENCE ($24.41) is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one; use it when proof of exactly what was sent may be needed later in a dispute - a debt validation notice, a notice to cure, a proof of loss, a demand before suing. CERTIFIED_DEADLINE ($50.10) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed; use it when a missed or refused notice would cost a lien, a contract remedy or a claim - a pre-lien or preliminary notice, a notice with a statutory deadline. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there. Whichever you pick, say its price to the person before they open the link."
    • Changedquote_certified_letter1 field changed
      • changedInput schema / properties / page_count / description
        Previous value: -"Number of printed pages in the letter, 1 to 60. Defaults to 1."New value: +"Number of printed pages in the letter, 1 to 5, the most the printer accepts in one letter. Defaults to 1."
  8. 3 tool updates
    • Changedget_certified_letter_status1 field changed
      • changedOutput schema / properties / letters / items / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR",
        -  "CERTIFIED_EVIDENCE"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE",
        +  "CERTIFIED_DEADLINE"
        +]
    • Changedprepare_certified_letter5 fields changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed. CERTIFIED_EVIDENCE is the same mailing as CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one. Choose it when the letter is a statutory or contractual notice whose proof may be needed in a dispute later - a pre-lien or preliminary notice, a debt validation notice, a notice to cure, a notice of intent to sue, a proof of loss - and say the price back to the person before they pay."New value: +"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT for an ordinary letter. CERTIFIED is certified mail with tracking but no record of who signed. CERTIFIED_EVIDENCE is the same mailing as CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one. Choose it when the letter is a statutory or contractual notice whose proof may be needed in a dispute later - a pre-lien or preliminary notice, a debt validation notice, a notice to cure, a notice of intent to sue, a proof of loss - and say the price back to the person before they pay. CERTIFIED_DEADLINE ($50.10 for one page) is CERTIFIED_EVIDENCE plus a second copy by First-Class Mail the same day and a warning email if the certified copy goes unclaimed: choose it when a missed or refused notice would cost a lien, a contract remedy or a claim. When this field is left out and the letter reads as such a notice, Piloxa selects CERTIFIED_DEADLINE on the review page and says so in its answer; the person can switch it back there."
      • changedInput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR",
        -  "CERTIFIED_EVIDENCE"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE",
        +  "CERTIFIED_DEADLINE"
        +]
      • addedOutput schema / properties / recommended_because
        Added value: +{
        +  "description": "What in the letter led to that recommendation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / recommended_service
        Added value: +{
        +  "description": "Present when the letter reads as a notice whose miss or refusal would cost a legal right: the service worth mentioning to the person.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR",
        -  "CERTIFIED_EVIDENCE"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE",
        +  "CERTIFIED_DEADLINE"
        +]
    • Changedquote_certified_letter3 fields changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). CERTIFIED_EVIDENCE is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing and 7 years of retention. Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."New value: +"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). CERTIFIED_EVIDENCE is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing and 7 years of retention. CERTIFIED_DEADLINE is CERTIFIED_EVIDENCE plus a same-day First-Class copy and an unclaimed-letter warning. Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."
      • changedInput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR",
        -  "CERTIFIED_EVIDENCE"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE",
        +  "CERTIFIED_DEADLINE"
        +]
      • changedOutput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR",
        -  "CERTIFIED_EVIDENCE"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE",
        +  "CERTIFIED_DEADLINE"
        +]
  9. 2 tool updates
    • Changedget_certified_letter_status1 field changed
      • changedOutput schema / properties / letters / items / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE"
        +]
    • Changedquote_certified_letter2 fields changed
      • addedOutput schema / properties / evidence_pack
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE"
        +]
  10. 2 tool updates
    • Changedprepare_certified_letter5 fields changed
      • addedInput schema / properties / evidence_pack
        Added value: +{
        +  "description": "The same as passing service CERTIFIED_EVIDENCE: adds the Evidence Pack to a certified letter with the Electronic Return Receipt. One page is $24.41 in total instead of $16.17.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed."New value: +"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed. CERTIFIED_EVIDENCE is the same mailing as CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing, and the record kept for 7 years instead of one. Choose it when the letter is a statutory or contractual notice whose proof may be needed in a dispute later - a pre-lien or preliminary notice, a debt validation notice, a notice to cure, a notice of intent to sue, a proof of loss - and say the price back to the person before they pay."
      • changedInput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE"
        +]
      • addedOutput schema / properties / evidence_pack
        Added value: +{
        +  "description": "True when the Evidence Pack was bought: a Certificate of Mailing is issued with the record and the record is kept for 7 years rather than one.",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE"
        +]
    • Changedquote_certified_letter2 fields changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."New value: +"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). CERTIFIED_EVIDENCE is CERTIFIED_ERR plus the Evidence Pack: a Certificate of Mailing and 7 years of retention. Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."
      • changedInput schema / properties / service / enum
        Previous value: -[
        -  "CERTIFIED",
        -  "CERTIFIED_ERR"
        -]New value: +[
        +  "CERTIFIED",
        +  "CERTIFIED_ERR",
        +  "CERTIFIED_EVIDENCE"
        +]
  11. 3 tool updates
    • Addedget_certified_letter_status
    • Changedprepare_certified_letter1 field changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED_ERR adds the Electronic Return Receipt (proof of who signed) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed."New value: +"CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed."
    • Changedquote_certified_letter1 field changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (proof of who signed). Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."New value: +"CERTIFIED is Certified Mail with USPS tracking. CERTIFIED_ERR adds the Electronic Return Receipt (the record of who signed, kept when USPS reports it back). Defaults to CERTIFIED_ERR, the same default prepare_certified_letter uses."
  12. 1 tool update
    • Changedprepare_certified_letter1 field changed
      • changedInput schema / properties / service / description
        Previous value: -"CERTIFIED_ERR adds the Electronic Return Receipt (proof of who signed)."New value: +"CERTIFIED_ERR adds the Electronic Return Receipt (proof of who signed) and is the DEFAULT: leave this out unless the person has said they do not want the signature record. CERTIFIED is certified mail with tracking but no record of who signed."
  13. 1 tool update
    • Changedprepare_certified_letter13 fields changed
      • changedInput schema / properties / document_base64 / description
        Previous value: -"The finished PDF, base64-encoded (standard or URL-safe alphabet), up to 4 MB decoded. Use ONLY when you have read the actual file bytes; a filename or an attachment reference is not a document. Mutually exclusive with letter_text. The file is kept exactly as sent."New value: +"The finished PDF, base64-encoded (standard or URL-safe alphabet), up to 4 MB decoded. Use ONLY when you have read the actual file bytes; a filename or an attachment reference is not a document. Mutually exclusive with letter_text and document_text. The file is kept exactly as sent."
      • addedInput schema / properties / document_text
        Added value: +{
        +  "description": "The COMPLETE text of a document that is already finished, printed exactly as written: no return address, no date line, no \"Re:\" line and no signature block are added, and line breaks and indentation are kept. This is the right field for a document the person gave you, for text you read out of a PDF or an attachment, for a filled-in form or a notice — anything you did not compose as a letter in this conversation. Include every word that must print, the addresses and signature line included if the document carries them. Up to 60,000 characters. Mutually exclusive with letter_text and document_base64.",
        +  "type": "string"
        +}
      • changedInput schema / properties / person_has_pdf / description
        Previous value: -"Only when the person already has a finished PDF that you cannot read and they will attach it on the review page themselves. Set true to prepare without letter_text or document_base64."New value: +"Only when the person already has a finished PDF that neither you nor they can give you the text of, and they will attach it on the review page themselves. Set true to prepare without letter_text, document_text or document_base64. Prefer document_text whenever you can read the document at all: it saves the person an upload."
      • addedInput schema / properties / recipient_address_block
        Added value: +{
        +  "description": "The recipient exactly as addressed in the letter, one part per line, e.g. \"Acme Property Management LLC\\nAttn: Jane Doe\\n1234 Wilshire Blvd, Suite 500\\nLos Angeles, CA 90017\". Piloxa reads the name, company, street, suite, city, state and ZIP out of it. Use this when you have the address as written and do not want to split it up yourself; any field you also name explicitly wins over it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / sender_address_block
        Added value: +{
        +  "description": "The sender exactly as it should appear as the return address, one part per line. Read the same way as recipient_address_block. This is where a returned envelope goes back to.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "recipient_name"
        -]New value: +[]
      • addedOutput schema / properties / account_required
        Added value: +{
        +  "description": "Always false: the person needs no account to open the link and read the letter, and none is created by this call.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / document_kind
        Added value: +{
        +  "description": "Which way the document arrived, and so what the person will see on the page.",
        +  "enum": [
        +    "letter_text",
        +    "document_text",
        +    "pdf_bytes",
        +    "person_will_attach"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / document_rendered / description
        Previous value: -"True when letter_text was rendered into the PDF the person will review; false otherwise."New value: +"True when letter_text or document_text was laid out into the PDF the person will review; false otherwise."
      • addedOutput schema / properties / estimated_total
        Added value: +{
        +  "description": "The same total, formatted for a person, e.g. \"$16.17\".",
        +  "type": "string"
        +}
      • addedOutput schema / properties / missing_for_mailing
        Added value: +{
        +  "description": "What is still needed before this can be mailed, in plain words. Empty when nothing is missing. Ask the person for these now.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / ready_to_mail
        Added value: +{
        +  "description": "True when nothing is missing: the person only has to read it, pay and authorize.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / recipient
        Added value: +{
        +  "description": "The recipient as Piloxa read it, including anything parsed out of recipient_address_block. Check it against the letter and say it back to the person.",
        +  "type": "object"
        +}
  14. 1 tool update
    • Addedquote_certified_letter

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources