Faxer — Send Faxes

Send real faxes from AI assistants. Pay per fax ($1 + $0.25/page), no account or API key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,032Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (0.81% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "faxer": {
      "url": "https://faxer.me/mcp"
    }
  }
}

Remote endpoints

https://faxer.me/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_fax_quote(document_url, cover_text, pages)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "document_url": {
      "description": "Public http(s) URL of the PDF to fax. The server downloads it and counts real pages.",
      "type": "string",
      "format": "uri"
    },
    "cover_text": {
      "description": "Plain text to fax instead of a document (rendered as PDF pages, ~3000 chars/page).",
      "type": "string",
      "maxLength": 50000
    },
    "pages": {
      "description": "Estimated page count, if you only need a rough quote.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_fax_payment(to, document_url, cover_text, pages)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient fax number in international format, e.g. +15551234567."
    },
    "document_url": {
      "description": "Public http(s) URL of the PDF to fax (same one you will pass to send_fax).",
      "type": "string",
      "format": "uri"
    },
    "cover_text": {
      "description": "Plain text to fax instead of a document.",
      "type": "string",
      "maxLength": 50000
    },
    "pages": {
      "description": "Page count, if pricing without the document. send_fax re-verifies against the real content.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "to"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_fax(payment_id, to, document_url, cover_text, cover_subject)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "payment_id": {
      "description": "The payment_id from create_fax_payment (Stripe Checkout Session id). Omit to pay autonomously via an x402/MPP machine-payment challenge instead.",
      "type": "string"
    },
    "to": {
      "type": "string",
      "description": "Recipient fax number in international format, e.g. +15551234567."
    },
    "document_url": {
      "description": "Public http(s) URL of the PDF to fax.",
      "type": "string",
      "format": "uri"
    },
    "cover_text": {
      "description": "Plain text to fax instead of a document.",
      "type": "string",
      "maxLength": 50000
    },
    "cover_subject": {
      "description": "Optional heading for a cover_text fax.",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "to"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_fax_status(fax_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "fax_id": {
      "type": "string",
      "description": "The fax_id returned by send_fax."
    }
  },
  "required": [
    "fax_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Recommended Prompts

retrieve_data
Get details about [item] from Faxer — Send Faxes
Expected tools: get_fax_quote
fetch_info
Fetch [information type] using Faxer — Send Faxes
Expected tools: get_fax_quote

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools