{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_7jgy6svhc354","handle":"postagent","url":"https://wellknown.network/agents/postagent","links":{"self":"https://wellknown.network/agents/postagent/record.json","html":"https://wellknown.network/agents/postagent","markdown":"https://wellknown.network/agents/postagent/record.md","api":"https://wellknown.network/api/v1/agents/postagent","status":"https://wellknown.network/api/v1/agents/postagent/status","claim":"https://wellknown.network/agents/postagent/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/postagent/claim.json","badge":"https://wellknown.network/agents/postagent/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:api.postagent.sh:server:postagent","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"PostAgent","summary":"Print & mail PDF/HTML/Markdown/text/DOCX/images to US addresses; pay per call in x402 USDC on Base.","description":"Print & mail PDF/HTML/Markdown/text/DOCX/images to US addresses; pay per call in x402 USDC on Base.","publisher":{"name":"tech.interpretai","url":null},"homepage":"https://api.postagent.sh","repository":"https://github.com/interpretai-tech/agent-tools","version":"0.5.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.postagent.sh/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-06-25T05:43:44.335475Z","publishedAt":"2026-06-25T05:43:44.335475Z","registryName":"tech.interpretai/PostAgent"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"content.marketing","name":"Marketing","confidence":0.525,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"}],"categories":["ai","commerce","content","infra"]},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-09-08T07:24:44.102Z","lastProbedAt":"2026-09-08T07:24:44.102Z","statusComputedAt":"2026-09-08T07:30:39.709Z","reliability30d":{"probes":4,"successRate":1,"p50Ms":137},"latestObservations":[{"at":"2026-09-08T07:24:44.102Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":131,"error":null,"detail":{"tools":[{"name":"check_postagent_updates","description":"Fetches the live PostAgent agent manifest. Call this before using PostAgent in a new session, after reconnecting the MCP server, or when an installed PostAgent "},{"name":"create_letter","description":"Upload and normalize a FINISHED, ready-to-mail document to PDF. Choose this when the content is final and IDENTICAL for every recipient — including when you mai"},{"name":"create_template","description":"Upload a REUSABLE template containing `{{field}}` placeholders (e.g. `Dear {{name}},` or `Balance due: {{amount}}`). Choose this ONLY when the content must vary"},{"name":"create_mail_quote","description":"Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a pe"},{"name":"create_card_checkout","description":"Creates a Stripe-hosted Checkout page for a locked quote and returns a `checkoutUrl` plus a `statusUrl`. Use this as the LAST-RESORT payment rail, when the paye"},{"name":"pay_mail_with_shared_payment_token","description":"Autonomous, no-browser FIAT payment for a locked quote using a Stripe Shared Payment Token (SPT / Machine Payments Protocol). Use this when the agent can mint a"},{"name":"prepare_mail_payment","description":"Returns the x402 PAYMENT-REQUIRED challenge for a locked quote so an x402-capable wallet client can sign it. No payment is taken at this step. Probes the canoni"},{"name":"submit_paid_mail_job","description":"Detached-signature fallback for x402 wallets that can emit a standalone PAYMENT-SIGNATURE header. THE PRIMARY/RECOMMENDED PATH is for the agent's wallet to pay "},{"name":"get_mail_job_status","description":"Returns normalized status, carrier/tracking/proof data, and tracking events for a previously created job."},{"name":"create_postcard_art","description":"Upload ONE side of a postcard (front or back) as single-page PDF, PNG, or JPEG artwork. The file is stored VERBATIM — no page-size normalization and no reserved"},{"name":"create_postcard_quote","description":"Verifies the recipient and sender addresses and locks a 15-minute USDC price for mailing a postcard built from two postcard_art documents (front + back, uploade"},{"name":"verify_address","description":"Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"},{"name":"create_campaign_quote","description":"Quote ONE bulk send to MANY recipients (up to 500): a single template or static document, fulfilled through PostAgent's campaign workflow. Price is an inclusive"},{"name":"get_campaign_status","description":"Returns a campaign's validation/sending progress: status (validating | sent | partial | failed), recipient counts (total / validated / failed), and a failures r"}],"toolCount":14,"serverName":"PostAgent","capabilities":["tools","resources"],"serverVersion":"0.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T01:19:45.087Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"check_postagent_updates","description":"Fetches the live PostAgent agent manifest. Call this before using PostAgent in a new session, after reconnecting the MCP server, or when an installed PostAgent "},{"name":"create_letter","description":"Upload and normalize a FINISHED, ready-to-mail document to PDF. Choose this when the content is final and IDENTICAL for every recipient — including when you mai"},{"name":"create_template","description":"Upload a REUSABLE template containing `{{field}}` placeholders (e.g. `Dear {{name}},` or `Balance due: {{amount}}`). Choose this ONLY when the content must vary"},{"name":"create_mail_quote","description":"Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a pe"},{"name":"create_card_checkout","description":"Creates a Stripe-hosted Checkout page for a locked quote and returns a `checkoutUrl` plus a `statusUrl`. Use this as the LAST-RESORT payment rail, when the paye"},{"name":"pay_mail_with_shared_payment_token","description":"Autonomous, no-browser FIAT payment for a locked quote using a Stripe Shared Payment Token (SPT / Machine Payments Protocol). Use this when the agent can mint a"},{"name":"prepare_mail_payment","description":"Returns the x402 PAYMENT-REQUIRED challenge for a locked quote so an x402-capable wallet client can sign it. No payment is taken at this step. Probes the canoni"},{"name":"submit_paid_mail_job","description":"Detached-signature fallback for x402 wallets that can emit a standalone PAYMENT-SIGNATURE header. THE PRIMARY/RECOMMENDED PATH is for the agent's wallet to pay "},{"name":"get_mail_job_status","description":"Returns normalized status, carrier/tracking/proof data, and tracking events for a previously created job."},{"name":"create_postcard_art","description":"Upload ONE side of a postcard (front or back) as single-page PDF, PNG, or JPEG artwork. The file is stored VERBATIM — no page-size normalization and no reserved"},{"name":"create_postcard_quote","description":"Verifies the recipient and sender addresses and locks a 15-minute USDC price for mailing a postcard built from two postcard_art documents (front + back, uploade"},{"name":"verify_address","description":"Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"},{"name":"create_campaign_quote","description":"Quote ONE bulk send to MANY recipients (up to 500): a single template or static document, fulfilled through PostAgent's campaign workflow. Price is an inclusive"},{"name":"get_campaign_status","description":"Returns a campaign's validation/sending progress: status (validating | sent | partial | failed), recipient counts (total / validated / failed), and a failures r"}],"toolCount":14,"serverName":"PostAgent","capabilities":["tools","resources"],"serverVersion":"0.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T18:21:21.050Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":148,"error":null,"detail":{"tools":[{"name":"check_postagent_updates","description":"Fetches the live PostAgent agent manifest. Call this before using PostAgent in a new session, after reconnecting the MCP server, or when an installed PostAgent "},{"name":"create_letter","description":"Upload and normalize a FINISHED, ready-to-mail document to PDF. Choose this when the content is final and IDENTICAL for every recipient — including when you mai"},{"name":"create_template","description":"Upload a REUSABLE template containing `{{field}}` placeholders (e.g. `Dear {{name}},` or `Balance due: {{amount}}`). Choose this ONLY when the content must vary"},{"name":"create_mail_quote","description":"Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a pe"},{"name":"create_card_checkout","description":"Creates a Stripe-hosted Checkout page for a locked quote and returns a `checkoutUrl` plus a `statusUrl`. Use this as the LAST-RESORT payment rail, when the paye"},{"name":"pay_mail_with_shared_payment_token","description":"Autonomous, no-browser FIAT payment for a locked quote using a Stripe Shared Payment Token (SPT / Machine Payments Protocol). Use this when the agent can mint a"},{"name":"prepare_mail_payment","description":"Returns the x402 PAYMENT-REQUIRED challenge for a locked quote so an x402-capable wallet client can sign it. No payment is taken at this step. Probes the canoni"},{"name":"submit_paid_mail_job","description":"Detached-signature fallback for x402 wallets that can emit a standalone PAYMENT-SIGNATURE header. THE PRIMARY/RECOMMENDED PATH is for the agent's wallet to pay "},{"name":"get_mail_job_status","description":"Returns normalized status, carrier/tracking/proof data, and tracking events for a previously created job."},{"name":"create_postcard_art","description":"Upload ONE side of a postcard (front or back) as single-page PDF, PNG, or JPEG artwork. The file is stored VERBATIM — no page-size normalization and no reserved"},{"name":"create_postcard_quote","description":"Verifies the recipient and sender addresses and locks a 15-minute USDC price for mailing a postcard built from two postcard_art documents (front + back, uploade"},{"name":"verify_address","description":"Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"},{"name":"create_campaign_quote","description":"Quote ONE bulk send to MANY recipients (up to 500): a single template or static document, fulfilled through PostAgent's campaign workflow. Price is an inclusive"},{"name":"get_campaign_status","description":"Returns a campaign's validation/sending progress: status (validating | sent | partial | failed), recipient counts (total / validated / failed), and a failures r"}],"toolCount":14,"serverName":"PostAgent","capabilities":["tools","resources"],"serverVersion":"0.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T10:22:15.803Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":129,"error":null,"detail":{"tools":[{"name":"check_postagent_updates","description":"Fetches the live PostAgent agent manifest. Call this before using PostAgent in a new session, after reconnecting the MCP server, or when an installed PostAgent "},{"name":"create_letter","description":"Upload and normalize a FINISHED, ready-to-mail document to PDF. Choose this when the content is final and IDENTICAL for every recipient — including when you mai"},{"name":"create_template","description":"Upload a REUSABLE template containing `{{field}}` placeholders (e.g. `Dear {{name}},` or `Balance due: {{amount}}`). Choose this ONLY when the content must vary"},{"name":"create_mail_quote","description":"Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a pe"},{"name":"create_card_checkout","description":"Creates a Stripe-hosted Checkout page for a locked quote and returns a `checkoutUrl` plus a `statusUrl`. Use this as the LAST-RESORT payment rail, when the paye"},{"name":"pay_mail_with_shared_payment_token","description":"Autonomous, no-browser FIAT payment for a locked quote using a Stripe Shared Payment Token (SPT / Machine Payments Protocol). Use this when the agent can mint a"},{"name":"prepare_mail_payment","description":"Returns the x402 PAYMENT-REQUIRED challenge for a locked quote so an x402-capable wallet client can sign it. No payment is taken at this step. Probes the canoni"},{"name":"submit_paid_mail_job","description":"Detached-signature fallback for x402 wallets that can emit a standalone PAYMENT-SIGNATURE header. THE PRIMARY/RECOMMENDED PATH is for the agent's wallet to pay "},{"name":"get_mail_job_status","description":"Returns normalized status, carrier/tracking/proof data, and tracking events for a previously created job."},{"name":"create_postcard_art","description":"Upload ONE side of a postcard (front or back) as single-page PDF, PNG, or JPEG artwork. The file is stored VERBATIM — no page-size normalization and no reserved"},{"name":"create_postcard_quote","description":"Verifies the recipient and sender addresses and locks a 15-minute USDC price for mailing a postcard built from two postcard_art documents (front + back, uploade"},{"name":"verify_address","description":"Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"},{"name":"create_campaign_quote","description":"Quote ONE bulk send to MANY recipients (up to 500): a single template or static document, fulfilled through PostAgent's campaign workflow. Price is an inclusive"},{"name":"get_campaign_status","description":"Returns a campaign's validation/sending progress: status (validating | sent | partial | failed), recipient counts (total / validated / failed), and a failures r"}],"toolCount":14,"serverName":"PostAgent","capabilities":["tools","resources"],"serverVersion":"0.5.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"check_postagent_updates","description":"Fetches the live PostAgent agent manifest. Call this before using PostAgent in a new session, after reconnecting the MCP server, or when an installed PostAgent "},{"name":"create_letter","description":"Upload and normalize a FINISHED, ready-to-mail document to PDF. Choose this when the content is final and IDENTICAL for every recipient — including when you mai"},{"name":"create_template","description":"Upload a REUSABLE template containing `{{field}}` placeholders (e.g. `Dear {{name}},` or `Balance due: {{amount}}`). Choose this ONLY when the content must vary"},{"name":"create_mail_quote","description":"Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a pe"},{"name":"create_card_checkout","description":"Creates a Stripe-hosted Checkout page for a locked quote and returns a `checkoutUrl` plus a `statusUrl`. Use this as the LAST-RESORT payment rail, when the paye"},{"name":"pay_mail_with_shared_payment_token","description":"Autonomous, no-browser FIAT payment for a locked quote using a Stripe Shared Payment Token (SPT / Machine Payments Protocol). Use this when the agent can mint a"},{"name":"prepare_mail_payment","description":"Returns the x402 PAYMENT-REQUIRED challenge for a locked quote so an x402-capable wallet client can sign it. No payment is taken at this step. Probes the canoni"},{"name":"submit_paid_mail_job","description":"Detached-signature fallback for x402 wallets that can emit a standalone PAYMENT-SIGNATURE header. THE PRIMARY/RECOMMENDED PATH is for the agent's wallet to pay "},{"name":"get_mail_job_status","description":"Returns normalized status, carrier/tracking/proof data, and tracking events for a previously created job."},{"name":"create_postcard_art","description":"Upload ONE side of a postcard (front or back) as single-page PDF, PNG, or JPEG artwork. The file is stored VERBATIM — no page-size normalization and no reserved"},{"name":"create_postcard_quote","description":"Verifies the recipient and sender addresses and locks a 15-minute USDC price for mailing a postcard built from two postcard_art documents (front + back, uploade"},{"name":"verify_address","description":"Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"},{"name":"create_campaign_quote","description":"Quote ONE bulk send to MANY recipients (up to 500): a single template or static document, fulfilled through PostAgent's campaign workflow. Price is an inclusive"},{"name":"get_campaign_status","description":"Returns a campaign's validation/sending progress: status (validating | sent | partial | failed), recipient counts (total / validated / failed), and a failures r"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"tech.interpretai/PostAgent","url":"https://registry.modelcontextprotocol.io/v0/servers/tech.interpretai%2FPostAgent","firstSeenAt":"2026-09-07T09:23:07.572Z","fetchedAt":"2026-09-07T09:23:07.572Z","normalizedAt":"2026-09-07T09:23:07.572Z"}]},"firstSeenAt":"2026-09-07T09:23:07.572Z","updatedAt":"2026-09-08T07:31:23.060Z"}