Skip to main content
Glama

Send fax (uses 1 credit)

send_fax
Destructive

Send a fax using 1 prepaid credit. Requires your credits API key (sfx_...) and a direct, publicly accessible HTTPS link to a PDF (max. 10 MB, 100 pages). Supported: USA, Canada, Australia, New Zealand and 39 more countries (same list as sendfaxfast.com); premium-rate numbers are not supported. Each call transmits 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.

Input Schema

NameRequiredDescriptionDefault
fileNoChatGPT: the fax document the user attached in the chat (PDF, JPG or PNG). Filled in automatically by ChatGPT.
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.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only state that this is a non-idempotent, destructive, open-world write; the description adds substantive behavior beyond that: credit consumption, the fact that a real fax is transmitted, per-source size limits, one-time-use upload_id, and the shape of the outcome (sent, scheduled, or awaiting payment). That is well past what the structured fields declare.

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?

The cost and API-key requirement are front-loaded, and nearly every clause carries actionable content. It is a dense single block, though, and the base64 guidance somewhat duplicates the parameter description, so it is not maximally tight.

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 6-parameter, nested-object mutation tool with no output schema, the description covers input sources, limits, cost, geography, and even summarizes the return outcome. What is missing is any mention of failure modes or what happens when a fax cannot be delivered, which would round out an otherwise complete definition.

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 100%, so baseline would be 3, but the description adds genuine meaning on top: the mutual exclusivity rule ("DOCUMENT (exactly one)"), why base64 is discouraged, the role of document_name on the transmission report, and the max-700 KB base64 ceiling. It stops short of fully documenting the nested "file" object beyond the schema's own note.

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?

States a specific verb and resource ("Send a fax") plus the immediate cost ("1 prepaid credit"), and it names create_upload_link as the way to obtain an upload_id, which separates it from its siblings. An agent can tell instantly that this is the transmission tool and not a lookup tool like get_fax_price or get_fax_status.

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?

It spells out prerequisites (credits API key sfx_..., a direct public HTTPS PDF link), constraints (10 MB, 100 pages), supported geography, and an explicit exclusion (premium-rate numbers are not supported). It also routes the agent between the four document sources and points at create_upload_link when an attachment isn't available as "file", which is real alternative-selection guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources