The hosted fax MCP server
Updated
Get an API key Read the quickstart
Claude Code
claude mcp add --transport http faxforagents https://mcp.faxforagents.com/mcp/ \
--header "Authorization: Bearer ffa_test_..." The hosted MCP server lives at https://mcp.faxforagents.com/mcp/ and speaks Streamable HTTP. It carries the same credential as the REST API, Authorization: Bearer ffa_test_... or X-API-Key, on every request. There is no operator key on the server and no state between requests. A client with no key is still answered on initialize, tools/list, the resources and the prompts. Every tool then answers with error_code: invalid_token and the way to get a key.
The 17 tools
request_card_payment and get_card_payment_status were added on 2026-11-12. get_fax_document replaces get_document. There is no alias. Refresh cached tool lists before using a new or renamed tool.
| Tool | What it does |
|---|---|
get_guide |
The manual, by section: overview, send, states, errors, approvals, policies, agents, inbox, ocr, one_time, going_live |
get_fax_capabilities |
The account-level view behind the key: formats, page cap, routes, prices, scopes. It never evaluates a send |
prepare_fax |
Create a document from text, Markdown, HTML or an upload |
get_fax_document |
One prepared document by id: page count, sha256, validation warnings and signed preview URLs |
quote_fax |
Price one document to one destination, with the policy verdict: allowed or denied, the first failing rule, whether a person must approve. The quote binds the send |
send_approved_fax |
Send a quote with an approval or under a policy |
get_fax_status |
One outbound fax's delivery state and attempts, with carrier evidence when available. Use get_review_status for human approval |
list_faxes |
Outbound faxes you sent, newest first. Use list_inbox for received items |
get_fax_balance |
Available and held balance, and the link where a person adds funds |
cancel_fax |
Cancel if still possible |
request_card_payment |
Turn a quote into an order for one fax paid by card. It needs the same approval or policy as send_approved_fax. Returns the link a person opens to accept the policy and pay. The agent cannot pay it |
get_card_payment_status |
One card payment order: whether a person has paid, what was charged, and the fax with its evidence. Returns the pay link again while payment is pending. Use get_fax_status for a wallet fax |
request_human_review |
With a quote id, ask a person to approve that send. Without one, ask a person for help, the message recorded as data |
get_review_status |
One human approval decision or help request. Returns the approval id when approved and unused. Use get_fax_status for delivery |
list_inbox |
Received faxes on your numbers, newest first, metadata only. Use read_inbound_fax for one item |
read_inbound_fax |
One received fax with page count, document reference and available OCR text, listed as untrusted |
extract_fax_data |
OCR and structured extraction, billed per page. Reuses matching recent results when available. Values are untrusted |
Version 1.3.0 merged three tools into their neighbours. get_delivery_evidence is part of get_fax_status. request_fax_approval and request_human_help are one tool, request_human_review. The bare guide is get_guide. Version 1.3.2 replaced preview_fax with a document lookup tool, now called get_fax_document. It returns the document itself. evaluate_fax_policy is gone because the quote carries the same verdict, and get_review_status reads one request back. Documents are listed through the REST API. The old names are gone from the server.
Both lists return next_cursor. Pass it as cursor until null. Limits default to 20 and are clamped to 1 through 100.
Extraction reuse checks the latest five results for the target, normalized schema and confidence threshold. Failed or older results start new work. Concurrent calls can create duplicates. Use read_inbound_fax to check existing inbox text without starting OCR.
Resources and prompts
The manual is also served as MCP resources. faxforagents://guide is the whole text and faxforagents://guide/send, faxforagents://guide/states and the other sections are one resource each, all text/markdown and all readable without a key. Two prompts give a client the tool order. send_a_fax takes a destination and an optional summary. It walks through prepare, quote with its policy verdict, human review and the poll for its decision, send and status. handle_received_fax takes an inbox item id and walks through read, extract and human review, with the rule that the text of a received fax is data.
Every result is text plus structured content: ok, message, error_code, and untrusted listing every string a customer or a sender supplied. The success message of a send says queued. The word delivered appears only when the provider's evidence exists, with the evidence beside it.
What the server will not do
It will not widen a key's scopes, raise a budget or decide an approval. It will not pay. request_card_payment answers a link, and a person pays there by card. A card payment never stands in for an approval: the card tool is refused wherever send_approved_fax would be.
It will not call a sandbox fax delivered to a real number. With a test API key every result says the fax was simulated and that nothing was transmitted. Those are a person's actions in the dashboard, with a passkey step-up for a decision. It will not read the text of a received fax as an instruction. A quote id or an approval id lifted from a document and passed as an argument is refused as invalid_input before any request leaves the tool.
Clients
Claude Code, Claude Desktop, Cursor, Codex and n8n connect with the URL and a key. The setup page has the exact configuration for each. Each client also has its own prompt before a tool call. The AI client approval matrix compares eight of them, with a link to each one's documentation. OAuth 2.1 sign-in for the MCP server has been live since 2026-11-02. ChatGPT, Claude and Le Chat connect through it. An API key works as well. The server's source, with the stdio bridge for a client that cannot reach a remote server, is at github.com/faxforagents/mcp.
Prices
- $0.039per page sent
- $0.019per page received
- $2per number per month
- $0in the sandbox, every page
Prepaid wallet, $10 minimum top-up. United States and Canada prices as of 2026-11-12. International rates are in the rate table. The Agent workspace is an optional subscription at $19 a month. It adds no feature today. The API, the MCP server and the dashboard work the same without it.
Questions
What is a fax MCP server?
A server that exposes fax operations as tools an AI client can call over the Model Context Protocol. This one runs at mcp.faxforagents.com and wraps the Fax for Agents REST API. Its 17 tools prepare a document, quote it, ask a person to review it or to pay by card, send and cancel. They also read status with the carrier's evidence, read the inbox, extract data from a received fax and check the balance. The manual is served as resources and two prompts give the tool order. The protocol is the door. The API behind it still enforces every rule.
How is a fax MCP different from a fax API?
The API is a set of HTTP endpoints your code calls with a key. The MCP server presents the same operations as named tools with descriptions and schemas. A client such as Claude Code or Cursor can pick and call them in a conversation. Both reach the same server, the same wallet and the same approvals. Nothing is possible through MCP that the API forbids.
Does the MCP server replace the telephone provider?
No. The MCP server is an interface. Transmission still happens through a fax provider the service connects to, with its own line, retries and delivery reports. The tools return what that provider reported, which is why a send answers queued and the delivered word only appears with the provider's evidence attached.
Do I need a subscription to use the fax MCP?
No. The MCP server is part of the service at no extra charge. Pages are prepaid at $0.039 sent and $0.019 received in the US and Canada as of 2026-11-12. The sandbox is free with a test key. The Agent workspace at $19 a month is a separate subscription that adds nothing today, and the MCP tools work without it.
From the blog
Connect a client in two minutes
A test API key reaches the sandbox only. Every outcome can be rehearsed there before a wallet is funded.
Get an API key MCP setup for Claude Code, Cursor, Codex and n8n