PostalForm

com.postalformPublished by postalform.comOfficial publisherv0.1.0Updated Oct 24, 2026

Create mail drafts, upload PDFs, browse forms, track orders, and pay via MPP or x402.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Lets an assistant draft physical mail orders, search addresses, complete payment, and track delivery status.

What you can do
Supports physical mailing workflows: it lists the available single-mailpiece forms and returns their schemas, searches and refines addresses through Loqate, and accepts a PDF upload or letter text to create letter, form, or bulk-campaign order drafts with a total and hosted checkout link. Further tools complete payment (MPP, x402, or a Stripe payment token) and read an order's payment, processing, mailing, and tracking status.
When to use it
Use it when an assistant needs to prepare physical mail (a single letter, a form, or a bulk campaign), look up addresses, get an order total and checkout link, or track the status of mail already sent.
Requirements
A connection to the remote endpoint; address search relies on Loqate. Payment requires buyer approval and may need a Stripe payment token or MPP/x402 credentials. No environment variables or headers are declared.
Before you install
The server sends real mail and spends money: creating a draft returns a total and checkout link, and the payment tools (complete_checkout, pay_order, create_machine_order) charge the buyer, so approval must come first. Letter drafts may include signatures, and addresses and document content are sent to third parties (Loqate, mailing and payment services).

Installation

In SourceWeft

  1. Open PostalForm in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.postalform%2Fpostalform/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "postalform": {
      "type": "http",
      "url": "https://postalform.com/mcp"
    }
  }
}

Tools

13

postalform.list_forms

List available forms

Use this when you need the published single-mailpiece PostalForm workflow catalog available to agents. Coordinated statutory multi-recipient workflows are excluded.

Parametersqlimitcursor

postalform.get_form_schema

Get form schema

Use this when you need a machine-usable schema for one supported single-mailpiece PostalForm workflow (fields, groups, attachments, and dependencies).

Parametersslugrequired

postalform.search_addresses

Search mailing 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.

Parametersqueryrequiredtargetcontainercountry_code

postalform.create_pdf_upload

Create a 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.

Parametersfile_namerequest_idcontent_typecontent_length

postalform.create_order_draft

Create a mail 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 postalform.pay_order with the order_id after buyer approval. Draft creation never pays. For x402, use postalform.create_machine_order.

Parameterspdfrequiredcolorcertifiedfile_namebuyer_namemail_classrequest_idbuyer_emailsender_namerequireddouble_sidedrecipient_namerequiredpayment_protocol+9 more

postalform.preview_letter_order_draft

Preview a mail order draft from letter text

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.

Parameterscolorletterrequiredcertifiedmail_classrequest_idsender_namerequireddouble_sidedrecipient_namerequiredsender_address_idsender_address_textsender_address_typerequiredrecipient_address_id+5 more

postalform.create_letter_order_draft

Create a mail order draft from letter text

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_protocol=mpp and buyer_email; receive a PDF preview, hosted checkout_url fallback and MPP challenge, then use postalform.pay_order with the order_id after buyer approval. Draft creation never pays. For x402, use postalform.create_machine_order.

Parameterscolorletterrequiredcertifiedbuyer_namemail_classrequest_idbuyer_emailsender_namerequireddouble_sidedrecipient_namerequiredpayment_protocolsender_address_id+8 more

postalform.create_form_order_draft

Create a mail order draft from a workflow form submission

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, then use postalform.pay_order with the order_id after buyer approval. Draft creation never pays. For x402, use postalform.create_machine_order.

Parametersslugrequiredcolorfieldscertifiedbuyer_namemail_classrequest_idattachmentsbuyer_emailsender_namerequireddouble_sidedrecipient_name+11 more

postalform.create_machine_order

Create or pay a 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 postalform.pay_order after fetching its challenge. The unpaid response also includes checkout_url and status_url for this same order. Without an available compatible wallet, give the buyer checkout_url and poll status_url; never recreate the order to change payment paths. Single-recipient clients with a Stripe shared payment token can instead use a draft tool followed by complete_checkout; other clients should present the hosted checkout URL.

Parameterspdfbulkformcolorlettercertifiedfile_namebuyer_namerequiredmail_classrequest_idbuyer_emailrequiredsender_namerequired+17 more

postalform.pay_order

Pay a prepared order with MPP

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 document or addresses are resubmitted. Without payment_authorization this only returns a challenge; with it, this can pay and send real mail. Reuse the same order_id on retries and follow the returned payment status.

Parametersorder_idrequiredpayment_authorization

complete_checkout

Pay a prepared 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 status and messages.

Parametersbuyerrequiredpayment_datarequiredcheckout_session_idrequired

postalform.get_order_status

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, mail, or acquire receipts.

Parametersorder_idrequired

postalform.ping

Ping PostalForm

Use this when you want a quick health check that the PostalForm MCP server is reachable.

Takes no parameters.

Version history

1
  1. v0.1.0LatestSep 27, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.