SingleFax MCP server
Connect Cursor, Claude, Codex, ChatGPT, or VS Code to SingleFax over MCP. The assistant uploads the original file (Word, Excel, PDF, or an image, no conversion first), quotes the send, and either opens Checkout or uses your page pool.
Cursor and VS Code install in one click. Claude, Codex, and ChatGPT copy the snippet and open the right settings page. Cursor deeplink if the web install page does not open the app.
https://singlefax.com/mcp
Chat apps
Cursor, Claude, Codex, ChatGPT. MCP + OAuth. Human confirms payment unless you have leftover subscription pages.
Scripts & backends
API key + prepaid credits. No checkout redirect. Best for your own workers.
API, CLI, and language examplesAutonomous pay
Stripe MPP (HTTP 402). Link CLI for cards, or Tempo USDC for Tempo Wallet / Privy / AgentCash / Kite.
Machine URL, Link CLI, TempoInstall by client
Streamable HTTP at https://singlefax.com/mcp. After install, the client runs OAuth, sign in with your SingleFax account. Also in the Smithery catalog as @singlefax/fax.
- Click Add to Cursor above, or save this in
~/.cursor/mcp.json. - Approve the SingleFax OAuth consent screen.
- Ask the agent to send a fax. For a typical document it will call
create_uploadand give you a drop link; thencreate_fax_draftwithuploadToken. Send the original file, do not convert to PDF first.
{
"mcpServers": {
"singlefax": {
"url": "https://singlefax.com/mcp"
}
}
}Cursor does not mint Stripe Shared Payment Tokens. Prefer the Checkout link from create_fax_draft. To pay MPP from a Cursor terminal, see MPP below. Cursor MCP docs.
Claude Code
- Run the command, then complete OAuth with
/mcpin the session.
claude mcp add --transport http singlefax https://singlefax.com/mcpClaude.ai / Desktop
- Open Customize → Connectors.
- Add a custom connector named
singlefaxwith URL https://singlefax.com/mcp. - Connect, then enable the connector in the chat.
Free Claude.ai accounts are limited to one custom connector. Claude has no install deeplink, the button copies the CLI command and opens Connectors. Claude Code MCP docs.
- Paste the commands in a terminal (CLI, IDE extension, and ChatGPT desktop share
~/.codex/config.toml). codex mcp login singlefaxstarts OAuth if the add step did not.- In a Codex session, run
/mcpto confirm tools.
codex mcp add singlefax --url https://singlefax.com/mcp
codex mcp login singlefax[mcp_servers.singlefax]
url = "https://singlefax.com/mcp"- Turn on Developer mode (Settings → Security and login).
- Open Connectors / Plugins and create a custom connector.
- Name:
SingleFax. MCP URL: https://singlefax.com/mcp. Authentication: OAuth. - In a chat, enable Developer mode and the SingleFax connector before asking to send a fax.
https://singlefax.com/mcpCustom MCP in ChatGPT is for Developer mode, not Instant Checkout. The agent still returns a SingleFax Checkout URL for you to pay. ChatGPT connectors docs.
- Click Add to VS Code, or Command Palette →
MCP: Add Server. - Or save this in
.vscode/mcp.json(workspace) or user MCP config.
{
"servers": {
"singlefax": {
"type": "http",
"url": "https://singlefax.com/mcp"
}
}
}What to say
After the server is connected, a prompt like this is enough. For a typical document the agent should call create_upload, give you uploadPageUrl to drop the original file, then create_fax_draft with uploadToken. Chat apps cannot carry a normal file as base64 in a tool call. Do not convert Word, Excel, or images to PDF first, we convert before sending. It quotes, then either opens Checkout or sends on your page pool.
Send this document as a fax to +1-415-555-2671 using SingleFax.list_skus, Catalog with prices. HIPAA, EIN, and IRS stay website-only (URLs included)quote_fax, Retail send quote. Pass to; optional pages or base64 for a live page countcreate_fax_draft, Send with to + uploadToken after create_upload, queues on credits/page pool, else Checkout URL. base64 only for tiny files. Send original Word, Excel, PDF, or images, do not convert to PDF first.create_inbound_number, Get a dedicated fax number. Default 30-day ($4.99). Returns Checkout URL + reserved number. Then list_numbers after pay.list_numbers, List this account's active fax numberscreate_checkout, Credits, or other catalog SKUs, prefer create_inbound_number for a fax numbercreate_upload, Large files: returns uploadPageUrl (human drop, no login) and uploadUrl (PUT raw bytes, no Authorization). Pass uploadToken to poll storedget_fax_status, Poll delivery status for an order you ownget_credits, Read prepaid credit balancecreate_machine_fax, MPP challenge JSON. Link CLI (SPT) or Tempo wallets. REST 402 is the real pay pathMPP, autonomous payment
Machine Payment Protocol is a buyer protocol: the server returns HTTP 402, the agent attaches a Stripe Shared Payment Token or a Tempo USDC payment, and retries. That is POST https://singlefax.com/api/v1/machine/faxes, not the chat MCP tools.
Cursor, Claude Code, and Codex can call that URL from a terminal, but they cannot mint an SPT unless you give them a wallet. Stripe’s card path is Link CLI (US Link accounts). Approve each spend in the Link app. Tempo Wallet, Privy, AgentCash, and Kite Passport pay the Tempo challenge on the same URL.
- Install the skill:
npx skills add stripe/link-cli, or add MCPnpx @stripe/link-cli --mcp. - Log in, then pay the machine endpoint (valid E.164, real document base64 of the original file, not a
+1555placeholder, and not a pre-converted PDF unless the source is already PDF). - Do not point
mpp payat/mcp. Link CLI needs a URL that returns HTTP 402 +WWW-Authenticate.
npx @stripe/link-cli auth login
npx @stripe/link-cli mpp pay https://singlefax.com/api/v1/machine/faxes \
-X POST \
-d '{"to":"+14155552671","base64":"<document-bytes>","request_id":"mpp-1"}' \
--context "Send a fax via SingleFax after the user asked this agent to pay for the send."Full challenge shapes, validate/status/refunds: mpp.md. Minimum SPT charge is $0.50; Tempo USDC minimum is $0.01; SingleFax retail floor is $0.99.
REST API + CLI
For your own backend, create a scoped key and prepay credits, no Checkout redirect. Copy-paste examples in curl, Node, Python, Go, and PHP live on the developer page.
FAQ
Agent-readable docs
Plain markdown for crawlers and coding agents. Same facts as this page.