Skip to main content
Glama

Server Details

Send real faxes from AI chat. PDF, JPG or PNG. Pay per fax via Stripe link. US, CA, AU, NZ + 39

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool maps to a clearly distinct action: sending (send_fax), status checking (get_fax_status), history listing (list_fax_history), pricing (get_fax_price), account info (get_account_info), and upload preparation (create_upload_link). The upload link is explicitly described as a preprocessing step feeding into send_fax, so the relationship is clear rather than overlapping.

Naming Consistency5/5

All six tools follow a consistent snake_case verb_noun pattern (create_upload_link, get_account_info, get_fax_price, get_fax_status, list_fax_history, send_fax). The verb prefixes (get_, list_, create_, send_) are used predictably and readably.

Tool Count5/5

Six tools is well-scoped for a fax-sending service, covering the send-check-track-price-account-upload workflow without redundancy. Every tool earns its place and none appear superfluous.

Completeness4/5

The core fax lifecycle is well covered: send, price, status, history, account, and document upload. Minor gaps exist around cancellation/resend or document cleanup, but agents can accomplish the main workflows without dead ends.

Available Tools

6 tools
get_account_infoGet subscription infoA
Read-onlyIdempotent
Inspect

Get subscription plan details, remaining fax quota, and billing period. Requires your subscription API key (sff_...).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context the annotations do not: this call requires a subscription API key in the 'sff_...' format. It stops short of describing error behavior for a missing/invalid key, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The high-value content (what you get back) is front-loaded and the credential prerequisite is placed second, which is the correct ordering.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description does the necessary work by naming the three returned data groups, and it covers the auth prerequisite. It could go slightly further by noting what a failed auth returns or the response shape, but for a trivial read tool this is close to complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate and a 4 is the ceiling. The description's mention of the API key is an auth requirement rather than a schema parameter, so it adds no parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Get) plus resource (account/subscription info), and it enumerates exactly what is returned: plan details, remaining fax quota, billing period. That is well beyond a restatement of the name. It doesn't explicitly position itself against siblings, though the account/subscription domain is naturally distinct from the fax-operation siblings (send_fax, list_fax_history, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the obvious use case (checking your plan/quota) and states the prerequisite credential, but gives no explicit when-to-use vs when-not guidance and never names an alternative. For a simple zero-arg read tool, implied usage is arguably sufficient, so a 3 rather than a 2.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fax_priceCheck fax priceA
Read-onlyIdempotent
Inspect

Calculate the pay-per-fax price for sending a fax to a specific number. No API key required. Supported: USA, Canada, Australia, New Zealand and 39 more countries (same list as sendfaxfast.com); premium-rate numbers are not supported.

NameRequiredDescriptionDefault
pagesNoNumber of pages in the document (default: 1)
fax_numberYesRecipient fax number in E.164 format (e.g. +12125550100 for USA, +61212345678 for Australia, +911123456789 for India)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: no authentication is needed, the supported-country scope, and that premium-rate numbers will fail, which an agent cannot infer from the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, the auth fact, then the coverage/exclusion caveats. Reasonably tight, though the '(same list as sendfaxfast.com)' reference is an external pointer that adds little for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only pricing lookup with a fully documented two-parameter schema and no output schema, the description supplies the constraints an agent needs: supported geographies, premium-number exclusion, and no API key. Only the relationship to send_fax in a cost-estimation flow is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with fax_number's E.164 format and examples fully documented in the schema, so the baseline of 3 applies. The description implies the destination restricts valid numbers (country list, no premium rates) but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Calculate the pay-per-fax price for sending a fax to a specific number'), which cleanly separates it from send_fax and get_fax_status. It does not explicitly reference any sibling tool, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear conditions for when the result is valid: supported destination countries, premium-rate numbers excluded, and no API key required. It never states the workflow relationship to alternatives (e.g. call this before send_fax to estimate cost), so no explicit when-not/alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fax_statusGet fax statusA
Read-onlyIdempotent
Inspect

Check the delivery status of a fax. Use token for pay-per-fax orders, fax_id for subscription orders (fax_id requires your API key; only your own faxes are visible).

NameRequiredDescriptionDefault
tokenNoToken returned by send_fax for pay-per-fax orders
fax_idNoFax ID returned by send_fax for subscription orders (requires API key)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: the API-key auth requirement for fax_id and the visibility scoping ('only your own faxes are visible'), which an agent needs to avoid surprising behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the purpose first, then the parameter routing and auth caveat. No filler, and the operationally important constraint is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a compact two-parameter read tool with no output schema, the description covers purpose, parameter routing, and the auth/visibility constraint. It omits edge-case behavior (pending faxes, missing/expired token, mutual exclusivity of the two params), leaving slight room for ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description nonetheless adds value beyond the schema by tying token/fax_id to order type routing and surfacing the auth/visibility constraint. It does not state whether the two parameters are mutually exclusive, which is a minor gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Check the delivery status of a fax'), which is clear and unambiguous. It does not explicitly contrast with close siblings like list_fax_history or send_fax, but the resource is distinctive enough that an agent can separate it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Routes the agent between the two parameters by order type: 'token for pay-per-fax orders, fax_id for subscription orders.' That is genuine selection guidance, not just a restatement. It stops short of naming alternatives or stating when the tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_fax_historyList fax historyA
Read-onlyIdempotent
Inspect

List recent faxes sent from this subscription account. Requires your subscription API key (sff_...).

NameRequiredDescriptionDefault
limitNoNumber of results to return (1–50, default: 10)
offsetNoPagination offset (default: 0)

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, non-open-world), so the bar is lower. The description adds genuinely useful operational context the annotations do not carry: a required subscription API key in the sff_... format, which is a hard prerequisite for calling it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the action and scope front-loaded before the credential requirement. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with two optional, fully documented parameters and annotations covering the safety profile, the essentials are present. It does not say what a returned fax record contains, which is a minor gap given there is no output schema, but nothing prevents correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (limit, offset) are fully documented with defaults and bounds in the schema. The description adds nothing about pagination or result-size behavior, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list faxes) plus the scope qualifier 'recent' and the account boundary 'sent from this subscription account'. This cleanly distinguishes it from siblings like send_fax and get_fax_status, though it never names a sibling explicitly to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement and no mention of alternatives such as get_fax_status for a single fax. The use case is only inferable from the word 'List'; nothing tells the agent when this is the right tool versus another.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_faxSend faxA
Destructive
Inspect

Send a PDF document to a fax number. WITHOUT API key: returns a Stripe checkout link (pay-per-fax from $2.89) – the fax is sent after the user pays. WITH a Mini/Flex subscription key (sff_...): sends immediately from the subscription quota. The document must be a direct, publicly accessible HTTPS link to a PDF (max. 10 MB). Supported: USA, Canada, Australia, New Zealand and 39 more countries (same list as sendfaxfast.com); premium-rate numbers are not supported. Each call transmits (or, for pay-per-fax, prepares the checkout for) a real fax to the given number. DOCUMENT (exactly one): "upload_id" from create_upload_link (for files on the user's device), "file" (a file attached in ChatGPT, filled in automatically), "document_url" (direct public HTTPS link to a PDF) or "document_base64" (tiny files only, max. 700 KB). For an attachment that is not available as "file", create_upload_link provides an upload link. The result states whether the fax was sent, scheduled or is awaiting payment.

NameRequiredDescriptionDefault
fileNoChatGPT: the fax document the user attached in the chat (PDF, JPG or PNG). Filled in automatically by ChatGPT.
emailNoCustomer email for payment receipt and delivery confirmation (optional for pay-per-fax)
upload_idNoupload_id returned by create_upload_link (after the user uploaded the file). One-time use.
fax_numberYesRecipient fax number in E.164 format (e.g. +12125550100)
document_urlNoDirect, publicly accessible HTTPS URL of the PDF document to fax (no login or preview pages) Alternative to upload_id / file.
scheduled_atNoISO 8601 datetime to schedule the fax (e.g. 2026-10-08T09:00:00-05:00). Leave empty to send immediately.
document_nameNoOptional: original file name of the document (e.g. "invoice.pdf"), shown on the transmission report. Not needed with upload_id or file.
document_base64NoOnly for very small files (max. 700 KB): the PDF, JPG or PNG as base64 or data: URI. Prefer create_upload_link.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (destructiveHint/openWorldHint/idempotentHint) by disclosing the payment gate ('fax is sent after the user pays'), quota consumption, real-world transmission, one-time use of upload_id, size ceilings (10 MB link, 700 KB base64), country coverage, and what the result reports (sent/scheduled/awaiting payment).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and the payment branches, and dense with useful detail, but the document-source enumeration restates schema parameter descriptions and adds length. It is efficient for its complexity though not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and an 8-parameter mutation tool, the description still covers auth/payment model, input constraints, geography, and return-value meaning ('states whether the fax was sent, scheduled or is awaiting payment'), leaving nothing essential for a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, yet the description adds real meaning: the mutual exclusivity of the four document sources ('exactly one'), size limits per source, and that document_name is unnecessary with upload_id or file. It stops short of describing email or scheduled_at semantics, which the schema covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Send a PDF document to a fax number') and immediately names the alternative path (create_upload_link) for obtaining a document, which cleanly separates it from its siblings get_fax_status, get_fax_price and list_fax_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two operating modes (pay-per-fax checkout link vs. subscription key for immediate send), the constraint that exactly one of upload_id/file/document_url/document_base64 must be supplied, the geographic and premium-rate exclusions, and when to fall back to create_upload_link. An agent can pick the correct invocation path 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.

  1. 6 tool updates
    • First observedcreate_upload_link
    • First observedget_account_info
    • First observedget_fax_price
    • First observedget_fax_status
    • First observedlist_fax_history
    • First observedsend_fax

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    A
    quality
    A
    maintenance
    Enables 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.
    15
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables 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.
    3
    150 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Send, receive, and verify faxes from AI assistants and agents via the Model Context Protocol.
    197 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources