PostalForm
Create mail drafts, upload PDFs, browse forms, track orders, and pay via MPP or x402.
| Endpoint | https://postalform.com/mcp (streamable-http) |
|---|---|
| Registry version | 0.1.0 |
| Now | 13 tools · grade F (33) · pin ts_0b9cba899191eb0fc31bbc1e582b81bb · protocol 2025-06-18 |
| First / last listed | 2026-10-25 03:22 UTC / 2026-10-25 03:22 UTC |
| Grade over time | 2026-10-25: F (33), 13 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: postalform.list_forms postalform.get_form_schema postalform.search_addresses postalform.create_pdf_upload postalform.create_order_draft postalform.preview_letter_order_draft postalform.create_letter_order_draft postalform.create_form_order_draft postalform.create_machine_order postalform.pay_order complete_checkout postalform.get_order_status postalform.ping
postalform.list_forms | Use this when you need the published single-mailpiece PostalForm workflow catalog available to agents. Coordinated statutory multi-recipient workflows are excluded. params: q, limit, cursor |
postalform.get_form_schema | Use this when you need a machine-usable schema for one supported single-mailpiece PostalForm workflow (fields, groups, attachments, and dependencies). params: slug* |
postalform.search_addresses | Use this to search for a mailing address and return Loqate suggestions with IDs. Pass country_code to filter by country; it defaults to US. If a suggestion has type "Container" (building/complex), call this tool again with container=<id> and a refined query to drill down to type "Address". Only type "Address" is valid for order creation. params: target, query*, country_code, container |
postalform.create_pdf_upload | Use this when the host cannot provide a PDF file param directly. It creates a short-lived PDF upload URL and upload token (multipart/form-data, file field). Let the HTTP client generate Content-Type with its multipart boundary. params: request_id, file_name, content_type, content_length |
postalform.create_order_draft | Prepare an existing PDF for mailing and return the order ID, total, hosted checkout URL, and checkout session. After buyer approval, a compatible client can pass a Stripe shared payment token to complete_checkout; otherwise present the hosted checkout URL. To prepare for MPP, set payment_protocol=mpp and buyer_email; receive a PDF preview, hosted checkout_url fallback and MPP challenge, then use p params: payment_protocol, buyer_name, buyer_email, request_id, pdf*, file_name, sender_name*, sender_address_id, sender_address_type*, sender_address_text, sender_address_manual, recipient_name*, recipient_address_id, recipient_address_type*, recipient_address_text, recipient_address_manual, double_sided, color, mail_class, certified, certified_return_receipt |
postalform.preview_letter_order_draft | Use this to prepare a non-writing preview for a mailed letter before creating checkout. It renders the letter, validates the addresses, and returns a widget with a create-draft action. params: request_id, letter*, sender_name*, sender_address_id, sender_address_type*, sender_address_text, sender_address_manual, recipient_name*, recipient_address_id, recipient_address_type*, recipient_address_text, recipient_address_manual, double_sided, color, mail_class, certified, certified_return_receipt |
postalform.create_letter_order_draft | Prepare letter text for mailing and return the order ID, total, hosted checkout URL, and checkout session. Accepts text directly; no PDF upload or browser is needed. Letter drafts may include typed or drawn signatures. After buyer approval, a compatible client can use complete_checkout with a Stripe shared payment token; otherwise present the hosted checkout URL. To prepare for MPP, set payment_pr params: request_id, letter*, sender_name*, sender_address_id, sender_address_type*, sender_address_text, sender_address_manual, recipient_name*, recipient_address_id, recipient_address_type*, recipient_address_text, recipient_address_manual, double_sided, color, mail_class, certified, certified_return_receipt, payment_protocol, buyer_name, buyer_email |
postalform.create_form_order_draft | Prepare a supported workflow form for mailing and return the order ID, total, hosted checkout URL, and checkout session. After buyer approval, a compatible client can use complete_checkout with a Stripe shared payment token; otherwise present the hosted checkout URL. To prepare for MPP, set payment_protocol=mpp and buyer_email; receive a PDF preview, hosted checkout_url fallback and MPP challenge, params: payment_protocol, buyer_name, buyer_email, request_id, slug*, fields, attachments, use_workflow_recipient, sender_name*, sender_address_id, sender_address_type*, sender_address_text, sender_address_manual, recipient_name, recipient_address_id, recipient_address_type, recipient_address_text, recipient_address_manual, double_sided, color, mail_class, certified, certified_return_receipt |
postalform.create_machine_order | Create a single PDF, letter, workflow-form order, or bulk letter campaign and pay through MPP or x402 after buyer approval. For bulk, provide exactly one of bulk.csv_content or bulk.recipients (JSON address objects with optional merge_fields), plus a shared PDF or text/HTML template. Omit top-level recipient fields and review campaign_url, recipient count and total. Bulk MPP orders can also use po params: payment_protocol, request_id, buyer_name*, buyer_email*, pdf, letter, form, bulk, file_name, sender_name*, sender_address_id, sender_address_type, sender_address_text, sender_address_manual, recipient_name, recipient_address_id, recipient_address_type, recipient_address_text, recipient_address_manual, double_sided, color, mail_class, certified, certified_return_receipt, signature_required, mailpiece_type, postcard_size, payment_authorization, payment_signature |
postalform.pay_order | Get an MPP challenge or pay an existing MPP PDF, letter, workflow-form order, or bulk letter campaign after buyer approval. Use the order_id returned by any draft tool with payment_protocol=mpp or by create_machine_order. When switching from create_machine_order, omit the credential first to get this payment endpoint’s challenge. Review the preview or campaign_url, recipient count and total. No do params: order_id*, payment_authorization |
complete_checkout | After the buyer approves the prepared order and total, pay its existing checkout session using a compatible Stripe payment token, including a shared payment token (spt_...). Pass the order ID as checkout_session_id; do not resend the document or addresses. On an interrupted request, retry the same checkout and token. Existing authorized, processing, or paid payments are reused; follow the returned params: checkout_session_id*, buyer*, payment_data* |
postalform.get_order_status | Read payment, processing, stored mailing/carrier status, the latest 50 public tracking events, and electronic return receipt availability. Bulk orders also return campaign_url, recipient count and per-status counts; use the campaign dashboard for individual recipients. Missing carrier evidence is null; processing or a tracking number alone does not prove mailing or delivery. This read does not pay params: order_id* |
postalform.ping | Use this when you want a quick health check that the PostalForm MCP server is reachable. params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.