Faxer — Send Faxes
Server Details
Send real faxes from AI assistants. Pay per fax ($1 + $0.25/page), no account or API key.
Claim Faxer — Send Faxes
Claiming proves that you control this connector and unlocks listing details, thumbnails, health checks, and analytics. It does not change or interrupt the running server.
Complete one method below. Compare the methods and read troubleshooting steps.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 4 of 4 tools scored.
Each tool targets a distinct stage of the fax workflow: quoting, paying, sending, and status checking. There is no meaningful overlap between their purposes, and the descriptions reinforce the boundaries clearly.
The tools follow a consistent snake_case verb-first pattern: create_fax_payment, get_fax_quote, get_fax_status, and send_fax. The only minor deviation is that send_fax lacks an additional object noun, but it remains readable and predictable.
Four tools is well-scoped for a fax-sending service: quote, payment, send, and status cover the essential user journey without unnecessary extras. Each tool has a clear role and earns its place.
The tool set covers the full faxing lifecycle from price estimation through payment and transmission to delivery status. There are no obvious dead ends; even the human-in-the-loop payment flow is handled with a dedicated payment tool.
Available Tools
4 toolscreate_fax_paymentCreate a fax payment linkAInspect
Create a Stripe Checkout payment link for a fax. Returns payment_url — give this link to the human so they can pay in their browser (agents never handle card details) — and payment_id, which you pass to send_fax after the human has paid. The price is computed server-side from the document or text. The Checkout link expires (see expires_at, ~24h); create a fresh one if the human delays.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient fax number in international format, e.g. +15551234567. | |
| pages | No | Page count, if pricing without the document. send_fax re-verifies against the real content. | |
| cover_text | No | Plain text to fax instead of a document. | |
| document_url | No | Public http(s) URL of the PDF to fax (same one you will pass to send_fax). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly=false, openWorld=true, and idempotent=false, and the description adds concrete side effects: a Stripe Checkout session is created, the link expires in ~24h, and agents never handle card details. It also clarifies pricing is computed server-side, which is non-obvious and prevents agents from trying to calculate prices themselves.
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?
Three sentences front-load the action and return contract, then add exactly the operational details an agent needs: who pays, what to pass to send_fax, and expiry. There is no filler and no repetition of schema content.
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?
Given no output schema, the description names the two key return values, payment_url and payment_id, and links them to the surrounding human-payment and send_fax flow. The expiry guidance and server-side pricing fill the practical gaps for a 4-parameter tool, making it complete enough to call correctly.
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?
All four parameters already have descriptive schema text (100% coverage), so the description need not repeat them. It adds only cross-cutting behavior such as server-side price computation and the expires_at signal, rather than per-parameter semantics, matching the baseline for fully covered schemas.
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 ('Create a Stripe Checkout payment link for a fax') and distinguishes itself from siblings by explaining that the returned payment_id is later passed to send_fax. It is unmistakably a payment-setup tool, not a quote, status, or send tool.
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?
The description frames the exact workflow: give payment_url to the human, wait for payment, then pass payment_id to send_fax. It also advises creating a fresh link if the human delays because the link expires. It does not explicitly contrast with get_fax_quote, so exclusions are left implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fax_quoteGet a fax price quoteARead-onlyInspect
Get the exact price to send a real fax to any US, Canadian, or international fax number via faxer.me. Call this first whenever a user wants to send, transmit, or fax a document or message. Provide document_url (a publicly downloadable PDF), cover_text (plain text that will be rendered onto fax pages), or pages (an estimated page count). Pricing is pay-per-fax ($1.00 first page + $0.25/page, returned in USD cents); no account or API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Estimated page count, if you only need a rough quote. | |
| cover_text | No | Plain text to fax instead of a document (rendered as PDF pages, ~3000 chars/page). | |
| document_url | No | Public http(s) URL of the PDF to fax. The server downloads it and counts real pages. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and openWorld, so no mutation risk is implied. The description adds valuable behavioral context beyond annotations: no account or API key is needed, pricing is pay-per-fax with a specific formula, and quoted prices are returned in USD cents. This gives the agent useful expectations about cost and access.
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?
The description is dense and front-loaded with the core purpose, usage guidance, and pricing. It earns its length, though phrases like 'send, transmit, or fax' are slightly redundant. Overall it is concise for the amount of useful context it packs in.
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?
The tool has no output schema, so the description's statement that prices are 'returned in USD cents' partially fills that gap. It covers geography, input alternatives, pricing, authentication, and when to call the tool. It could be more explicit about the exact response shape, but for a simple quote tool the provided context is sufficient.
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%, so the parameters are already well documented. The description renames the three parameter options and adds the 'publicly downloadable PDF' constraint, but this mostly overlaps with the schema's 'Public http(s) URL of the PDF to fax.' The description does not substantially exceed the schema's parameter explanations.
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 states a specific action and resource: 'Get the exact price to send a real fax to any US, Canadian, or international fax number via faxer.me.' It is clearly distinct from sibling tools like send_fax, create_fax_payment, and get_fax_status. The phrase 'Call this first' reinforces that this is the quote-before-send tool.
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?
The description explicitly says to call this tool first whenever a user wants to send, transmit, or fax a document or message. This is a clear usage trigger. It does not explicitly name sibling alternatives or exclusion cases, but the 'call this first' guidance makes the intended workflow clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fax_statusCheck fax delivery statusARead-onlyInspect
Check the delivery status of a fax sent with send_fax. Status 'success' means the receiving fax machine confirmed the transmission; 'inprogress'/'queued' mean it is still sending; 'failure' means it could not be delivered. Delivery typically takes 1-5 minutes; poll roughly every 30 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| fax_id | Yes | The fax_id returned by send_fax. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description explains the meaning of each status value and gives expected timing behavior. This is valuable operational context that helps the agent interpret results and decide how to poll.
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?
The description is compact and front-loaded, starting with the primary purpose before explaining statuses and polling. Every sentence earns its place, with no filler or redundancy.
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 single-parameter read-only status tool with no output schema, the description supplies all necessary operational details: status values, their meanings, expected timing, and polling guidance. An agent has enough information to call the tool and interpret the result correctly.
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?
The schema already fully describes fax_id as 'The fax_id returned by send_fax,' so the description adds little beyond reinforcing the link to send_fax. With 100% schema coverage, the baseline applies; no extra parameter semantics are needed.
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 clearly identifies the tool as checking fax delivery status and explicitly ties it to faxes sent via send_fax. It distinguishes this tool from siblings because it is the only one focused on status checking for already-sent faxes.
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?
The description gives concrete usage context: it is for faxes sent with send_fax, and it even advises polling every 30 seconds with expected delivery times. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent to select this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_faxSend the faxAInspect
Transmit a fax. Two ways to pay: (1) human-in-the-loop — pass the payment_id from create_fax_payment after the human has paid the Stripe Checkout link; (2) autonomous machine payment (x402/MPP) — call WITHOUT payment_id and the server replies with a payment challenge (JSON-RPC error -32042) for USDC-on-Tempo or a Stripe Shared Payment Token; pay it and retry with the credential in _meta['org.paymentauth/credential']. Either way the server verifies the payment covers the server-computed price of the actual content before sending via a real fax carrier. One fax per payment; card/Checkout and Stripe machine payments are refunded automatically if the fax fails to send or deliver (on-chain payments are refunded manually).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient fax number in international format, e.g. +15551234567. | |
| cover_text | No | Plain text to fax instead of a document. | |
| payment_id | No | The payment_id from create_fax_payment (Stripe Checkout Session id). Omit to pay autonomously via an x402/MPP machine-payment challenge instead. | |
| document_url | No | Public http(s) URL of the PDF to fax. | |
| cover_subject | No | Optional heading for a cover_text fax. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds substantial behavioral context: the server verifies payment covers the actual content price, refund policies (automatic for card/Checkout and Stripe machine payments, manual for on-chain), the specific error code -32042 for payment challenge, and the use of a real fax carrier. These go far beyond what annotations provide.
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?
The description is dense but well-organized: a single purpose sentence followed by a detailed explanation of payment methods, verification, and refunds. Every sentence contributes critical information; there is no fluff. The structure uses clear separation of the two payment paths, making it readable despite its length.
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?
Given the tool's complexity (5 params, two payment flows, error handling, refunds) and lack of output schema, the description covers all essential aspects an agent needs to call it correctly: how to initiate both payment methods, what the server checks, how refunds work, and the retry mechanism. It is complete for a fax-sending operation.
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 descriptions cover 100% of parameters, so the baseline is 3. The description adds extra semantics for payment_id ('Omit to pay autonomously', source from create_fax_payment, credential handling) and clarifies the distinction between cover_text and document_url ('cover_text to fax instead of a document'). This enriches understanding beyond the schema.
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 clearly states 'Transmit a fax' – a specific verb and resource. It distinguishes from siblings by describing the payment flow that ties to create_fax_payment and mentions the server's verification and refund behavior, which sets it apart from get_fax_quote and get_fax_status. The purpose is unambiguous.
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?
The description gives explicit guidance on how to use the tool: two payment methods (human-in-the-loop via payment_id and autonomous machine payment without it), with detailed instructions on how to handle the payment challenge and retry. It clearly references create_fax_payment as the source of payment_id, indicating the intended sequence. It does not explicitly mention alternative tools for exclusion, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, bound to the signed-in Glama account, and expire after seven days. They contain no email address or other personal information. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- 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.3225MIT
- AlicenseNot gradedqualityBmaintenanceSend, receive, and verify faxes from AI assistants and agents via the Model Context Protocol.50MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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
- AlicenseAqualityDmaintenanceSend real physical postcards worldwide via AI agents. Supports single and bulk send (up to 500 recipients), balance checking, delivery tracking, and volume pricing from $0.72/card.5175MIT