MCP · REST · Stripe MPP

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.

Add to CursorAdd to VS Code

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.

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

example prompt
Send this PDF as a fax to +1-415-555-2671 using SingleFax.
create_upload— Issue a short-lived upload token, then PUT the PDF
create_fax_draft— Quote and draft a send — Checkout URL, or send on your page pool
get_fax_status— Poll delivery status for an order you own
get_credits— Read prepaid credit balance
create_machine_fax— MPP challenge JSON — only if the client can mint an SPT

MPP — 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.

  1. Install the skill: npx skills add stripe/link-cli — or add MCP npx @stripe/link-cli --mcp.
  2. Log in, then pay the machine endpoint (valid E.164, real PDF base64 — not a +1555 placeholder).
  3. Do not point mpp pay at /mcp. Link CLI needs a URL that returns HTTP 402 + WWW-Authenticate.
link-cli mpp pay
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.