Send real faxes from AI assistants. Pay per fax ($1 + $0.25/page), no account or API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a Stripe Checkout payment link for a fax. Returns payment_url — give this link to the human so they can pay in their browser (agents never handle card details) — and payment_id, which you pass to send_fax after the human has paid. The price is computed server-side from the document or text. The Checkout link expires (see expires_at, ~24h); create a fresh one if the human delays.
Recipient fax number in international format, e.g. +15551234567.
Page count, if pricing without the document. send_fax re-verifies against the real content.
Plain text to fax instead of a document.
Public http(s) URL of the PDF to fax (same one you will pass to send_fax).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a Stripe Checkout payment link for a fax. Returns payment_url — give this link to the human so they can pay in their browser (agents never handle card details) — and payment_id, which you pass to send_fax after the human has paid. The price is computed server-side from the document or text. The Checkout link expires (see expires_at, ~24h); create a fresh one if the human delays.
| Argument | Type | Description |
|---|---|---|
| to* | string | Recipient fax number in international format, e.g. +15551234567. |
| pages | integer | Page count, if pricing without the document. send_fax re-verifies against the real content. |
| cover_text | string | Plain text to fax instead of a document. |
| document_url | string | Public http(s) URL of the PDF to fax (same one you will pass to send_fax). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Recipient fax number in international format, e.g. +15551234567."
},
"pages": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Page count, if pricing without the document. send_fax re-verifies against the real content."
},
"cover_text": {
"type": "string",
"maxLength": 50000,
"description": "Plain text to fax instead of a document."
},
"document_url": {
"type": "string",
"format": "uri",
"description": "Public http(s) URL of the PDF to fax (same one you will pass to send_fax)."
}
}
}Get the exact price to send a real fax to any US, Canadian, or international fax number via faxer.me. Call this first whenever a user wants to send, transmit, or fax a document or message. Provide document_url (a publicly downloadable PDF), cover_text (plain text that will be rendered onto fax pages), or pages (an estimated page count). Pricing is pay-per-fax ($1.00 first page + $0.25/page, returned in USD cents); no account or API key needed.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Estimated page count, if you only need a rough quote. |
| cover_text | string | Plain text to fax instead of a document (rendered as PDF pages, ~3000 chars/page). |
| document_url | string | Public http(s) URL of the PDF to fax. The server downloads it and counts real pages. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"pages": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Estimated page count, if you only need a rough quote."
},
"cover_text": {
"type": "string",
"maxLength": 50000,
"description": "Plain text to fax instead of a document (rendered as PDF pages, ~3000 chars/page)."
},
"document_url": {
"type": "string",
"format": "uri",
"description": "Public http(s) URL of the PDF to fax. The server downloads it and counts real pages."
}
}
}Check the delivery status of a fax sent with send_fax. Status 'success' means the receiving fax machine confirmed the transmission; 'inprogress'/'queued' mean it is still sending; 'failure' means it could not be delivered. Delivery typically takes 1-5 minutes; poll roughly every 30 seconds.
| Argument | Type | Description |
|---|---|---|
| fax_id* | string | The fax_id returned by send_fax. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fax_id"
],
"properties": {
"fax_id": {
"type": "string",
"description": "The fax_id returned by send_fax."
}
}
}Transmit a fax. Two ways to pay: (1) human-in-the-loop — pass the payment_id from create_fax_payment after the human has paid the Stripe Checkout link; (2) autonomous machine payment (x402/MPP) — call WITHOUT payment_id and the server replies with a payment challenge (JSON-RPC error -32042) for USDC-on-Tempo or a Stripe Shared Payment Token; pay it and retry with the credential in _meta['org.paymentauth/credential']. Either way the server verifies the payment covers the server-computed price of the actual content before sending via a real fax carrier. One fax per payment; card/Checkout and Stripe machine payments are refunded automatically if the fax fails to send or deliver (on-chain payments are refunded manually).
| Argument | Type | Description |
|---|---|---|
| to* | string | Recipient fax number in international format, e.g. +15551234567. |
| cover_text | string | Plain text to fax instead of a document. |
| payment_id | string | The payment_id from create_fax_payment (Stripe Checkout Session id). Omit to pay autonomously via an x402/MPP machine-payment challenge instead. |
| document_url | string | Public http(s) URL of the PDF to fax. |
| cover_subject | string | Optional heading for a cover_text fax. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Recipient fax number in international format, e.g. +15551234567."
},
"cover_text": {
"type": "string",
"maxLength": 50000,
"description": "Plain text to fax instead of a document."
},
"payment_id": {
"type": "string",
"description": "The payment_id from create_fax_payment (Stripe Checkout Session id). Omit to pay autonomously via an x402/MPP machine-payment challenge instead."
},
"document_url": {
"type": "string",
"format": "uri",
"description": "Public http(s) URL of the PDF to fax."
},
"cover_subject": {
"type": "string",
"maxLength": 200,
"description": "Optional heading for a cover_text fax."
}
}
}