Faxwell
Server Details
Send a fax to any US or Canada number. 10¢ a page, no subscription, no account needed first.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
send_fax initiates and prepares a fax, while fax_status reports the state of a previously created fax. The two tools have no overlapping actions and are easily distinguished.
Both names use the fax_ prefix, but send_fax follows verb_noun while fax_status follows noun_noun. The pattern is still predictable and readable.
Two tools is a very narrow surface; it covers the essential send-and-check loop but feels thin because common operations like listing or canceling faxes are absent. Each tool earns its place, but 2 is borderline.
The surface covers preparing a fax and checking its status, but lacks list/history, cancel, resend, and receipt/account operations. These are notable gaps, though the core flow remains usable via the returned link.
Available Tools
2 toolsfax_statusCheck a faxARead-onlyIdempotentInspect
How a fax set up with send_fax is going: waiting for payment, sending, trying again, delivered, or why it didn’t go through.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code send_fax returned (the end of the link). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real information beyond them by disclosing the state machine the call returns and that failures include a reason ('why it didn't go through'), which an agent could not infer from the annotations or the single-parameter schema. It stops short of saying which states are terminal or how polling should be paced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler after the colon, and the outcome list is placed where it is most useful. The phrasing 'How a fax ... is going' is slightly informal and buries the verb, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only status check with full annotation coverage and no output schema, the description supplies enough: what is checked, which states exist, and that failures carry a reason. Only the lack of terminal-state or polling guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single code parameter is documented there, so the schema does the heavy lifting. The description only adds that the code originates from send_fax, which is mildly useful provenance but not new syntax or semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a fax's state after being set up with send_fax) and enumerates the concrete outcomes it reports — waiting for payment, sending, retrying, delivered, or failure reason. It is distinguishable from the sibling send_fax, though it describes the action indirectly ('how ... is going') rather than with a direct verb like 'get status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the usage context by tying the tool to send_fax ('set up with send_fax') and to the code that send_fax returned, so an agent can infer this is the follow-up call after sending. However, it never states when to poll, that it can be called repeatedly, or what to do if the code is lost, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_faxSend a faxAInspect
Send a fax to a US or Canada fax number with Faxwell (10¢ a page, no subscription, no account needed first). Give the document as base64 (PDF, PNG or JPEG), as a public https link to one, or as the plain text of a letter you wrote. This prepares the fax and returns a link for the user: they check it and pay (Apple Pay, Google Pay or card) or use page credits they already have, and it sends automatically. Nothing is sent or charged before that. If you can’t pass the file, call this with just the number: the user can add the document at the link.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The fax number, US or Canada, e.g. "(503) 555-0147" or "+15035550147". | |
| text | No | The text of a letter to fax, if there is no file. Faxwell sets it on letter-size pages. | |
| document_url | No | A public https link to a PDF, PNG or JPEG. | |
| document_base64 | No | The document, base64-encoded: a PDF, PNG or JPEG. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: 10¢ per page, no subscription or account, a two-phase flow where the call only prepares the fax and returns a link, and 'Nothing is sent or charged before that.' This importantly qualifies the 'send' framing in the name. It stops short of covering idempotency (each call likely creates a new prepared fax) or link expiration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and the document-input options, and each sentence carries useful information (pricing, confirmation step, fallback). The single dense paragraph could be split so the pay/confirm flow is easier to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers cost, the confirmation/payment step, the no-charge guarantee, and the empty-document fallback, which is enough to call it correctly for a 4-parameter tool with no output schema. It omits how to follow up on a prepared fax (the fax_status sibling) and any page or size limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 and the schema already documents formats and the letter-pagination behavior. The description's added value is mainly framing the three document modes as alternatives plus the no-document fallback, which is marginal over the existing field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Send a fax'), plus the provider (Faxwell) and geographic scope (US or Canada). It never names the sibling fax_status, so the distinction is inferred from the verb rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates the three accepted document input modes (base64, public https link, plain letter text) and gives a clear fallback rule: 'If you can't pass the file, call this with just the number.' An agent knows exactly what to do in each situation without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
fax_status - First observed
send_fax
Related MCP Connectors
Send a fax to any US or Canadian number from a PDF, quoted per page before sending.
Send a fax to the US or Canada from a chat. The person checks it and pays per fax on Faxette.
Prepare and track US PDF faxes with user-approved checkout. No account or subscription.
Your AI assistant prepares the fax. You check it and pay in your browser. Pay per fax. No account.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to send free and paid faxes to US and Canada numbers, check fax status, and purchase prepaid credits, all without leaving the chat.MIT

faxforagents-mcpofficial
AlicenseAqualityAmaintenanceEnables AI agents to prepare, preview, quote, and send approved faxes, track delivery and evidence, read inbound faxes, extract data, and request human approvals through a fax API.15MIT- AlicenseNot gradedqualityDmaintenanceSend, receive, and verify faxes from AI assistants and agents via the Model Context Protocol.122 npmMIT
- AlicenseAqualityAmaintenanceEnables AI assistants to send real faxes through the FaxDrop API. Provides safeguards including rate limiting, dry-run mode, and audit logging for secure fax operations.3255 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.