Agent skill
PostalForm agent skill
Read this file before using PostalForm from an AI assistant, MCP client, coding agent, or autonomous runtime.
Published May 30, 2026 • Updated May 31, 2026
Quick setup
- Remote MCP endpoint:
https://postalform.com/mcp - Transport: streamable HTTP
- Authentication: none required today for the hosted MCP endpoint
- A2A Agent Card:
https://postalform.com/.well-known/agent-card.json - MCP manifest:
https://postalform.com/.well-known/mcp.json - MCP Server Card:
https://postalform.com/.well-known/mcp/server-card.json - MCP Registry server manifest:
https://postalform.com/.well-known/mcp/server.json - OpenAPI:
https://postalform.com/openapi.json - Full developer docs:
https://postalform.com/developers - Autonomous payment guide:
https://postalform.com/agents
If your client accepts a remote MCP URL, add https://postalform.com/mcp as a streamable HTTP MCP server named postalform.
Works with
PostalForm is designed for MCP-capable clients and runtimes including ChatGPT custom connectors or OpenAI Responses API MCP tools, Gemini SDKs, Gemini CLI, Claude, Claude Code, Codex, Cursor, Windsurf, Cline, Replit, OpenClaw, Hermes, n8n, LangChain, and other clients that can connect to a remote streamable HTTP MCP endpoint.
For ChatGPT or OpenAI API flows, configure a remote MCP tool with server_url set to https://postalform.com/mcp. Require approval for tool calls that send document contents, addresses, or payment-related data.
For Gemini CLI, add PostalForm as an HTTP MCP server:
gemini mcp add --transport http postalform https://postalform.com/mcp
For Gemini SDK integrations, connect to the same MCP endpoint with an MCP client session and pass the session tools to the Gemini SDK's MCP/tool-calling integration.
Tool choice
Use these tools first when a human should review and pay:
postalform.create_letter_order_draftfor a plain letter that PostalForm renders into a printable PDF.postalform.create_order_draftfor an uploaded PDF or a PDF file URL.postalform.list_forms,postalform.get_form_schema, andpostalform.create_form_order_draftfor supported form workflows.postalform.search_addresseswhen the user wants autocomplete-backed address validation.postalform.get_order_statusafter checkout starts or payment completes.
Use postalform.create_machine_order only when the owner explicitly authorized autonomous payment and the runtime has a spend limit. The first call returns an MPP or x402 payment challenge. Retry the same request with the payment credential after the payment client answers the challenge.
Payment guidance
- Default for ChatGPT, Gemini, Claude, and web-chat style clients: create a draft and return
checkout_urlorcheckout_session. - Default for autonomous coding agents with explicit approval: validate or create a machine order, show the preview and price, then answer the MPP or x402 challenge.
- Never send raw card details to PostalForm. Machine payment paths use MPP, x402, hosted checkout, or Stripe Shared Payment Tokens where applicable.
Mailing rules
- PostalForm supports specific destination countries. Validate or quote the order before promising delivery.
- Certified Mail is only available for qualifying U.S. First Class mail.
- Express, Fast, postcard, international, and provider-specific options vary by destination, size, address, and provider eligibility.
- Do not use PostalForm for physical originals, checks, keys, ID cards, packages, notarization, process serving, legal advice, or guaranteed delivery by a specific date.
Best prompt for a user
Ask the user for the document or letter text, sender address, recipient address, preferred mailing option, and whether they want to review and pay in hosted checkout. Then create a PostalForm draft and return the checkout URL.
Minimal letter example
Call postalform.create_letter_order_draft with:
{
"letter": {
"title": "Payment demand",
"body": "Hello,\n\nThis is the letter body.\n\nSincerely,\nSender Example",
"signature": "Sender Example"
},
"sender_name": "Sender Example",
"sender_address_type": "Manual",
"sender_address_manual": {
"line1": "123 Sender St",
"city": "Springfield",
"state": "IL",
"zip": "62701"
},
"recipient_name": "Recipient Example",
"recipient_address_type": "Manual",
"recipient_address_manual": {
"line1": "456 Recipient Ave",
"city": "Springfield",
"state": "IL",
"zip": "62701"
}
}
Return the resulting checkout_url to the user for final review and payment.
Machine-readable references
https://postalform.com/llms.txthttps://postalform.com/llms-full.txthttps://postalform.com/ai.mdhttps://postalform.com/developers.mdhttps://postalform.com/agents.mdhttps://postalform.com/pricing-calculator.md