Fax from your agent.
Connect Cursor, Claude, Codex, ChatGPT, or VS Code to SingleFax over MCP. The assistant uploads the PDF, 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.
Autonomous pay
Stripe MPP (HTTP 402 + Shared Payment Token). Cursor cannot do this alone — add Link CLI.
Install by client
Streamable HTTP at https://singlefax.com/mcp. After install, the client runs OAuth — sign in with your SingleFax account.
- 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. It will call
create_uploadthencreate_fax_draft.
{
"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.
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.
- 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.
- 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. The agent should upload, quote, and give you a payment link (or send if your subscription still has pages).
Send this PDF as a fax to +1-415-555-2671 using SingleFax.create_upload— Issue a short-lived upload token, then PUT the PDFcreate_fax_draft— Quote and draft a send — Checkout URL, or send on your page poolget_fax_status— Poll delivery status for an order you ownget_credits— Read prepaid credit balancecreate_machine_fax— MPP challenge JSON — only if the client can mint an SPTMPP — autonomous payment
Machine Payment Protocol is a buyer protocol: the server returns HTTP 402, the agent attaches a Stripe Shared Payment Token, 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 path is Link CLI (US Link accounts). Approve each spend in the Link app.
- 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 PDF base64 — not a
+1555placeholder). - 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":"<pdf-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. Fiat SPT needs our Stripe profile (NUXT_STRIPE_PROFILE_ID); without it the endpoint returns 503. Minimum SPT charge is $0.50; SingleFax retail floor is $0.99.
REST API + credits
For your own backend, create a scoped key and prepay credits — no Checkout redirect.
FAQ
Agent-readable docs
Plain markdown for crawlers and coding agents. Same facts as this page.