Skip to main content
Glama

Faxette

Upload a file

create_document

Use this to add a file the person gave you to a fax: a PDF, or a photo saved as JPG, PNG, WEBP or HEIC, up to 20 MB. Call it once per file, before create_fax, in the order the files should be faxed. It returns document_id, upload_url and upload_headers: PUT the file's exact bytes to upload_url with those headers within 5 minutes, then pass document_id to create_fax within an hour. Nothing is faxed or charged. If you can't read the file's bytes, don't use this: call create_fax without document_ids, and the person adds the file on the status page.

Input Schema

NameRequiredDescriptionDefault
checksumYesThe file's MD5 digest, base64-encoded, as printed by: openssl md5 -binary <file> | base64
filenameYesThe file's name with its extension, like referral.pdf.
byte_sizeYesThe file's exact size in bytes.
fax_numberYesThe fax number the file will be faxed to, in international format, like +14155552671. Numbers in the US and Canada only. Use the same number in create_fax.
content_typeYesThe file's media type. It must match the file's contents.

Output Schema

NameRequiredDescriptionDefault
upload_urlYesPUT the file's exact bytes here within 5 minutes.
document_idYesPass this to create_fax in document_ids.
upload_headersYesSend these headers, unchanged, with the PUT.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the return payload (document_id, upload_url, upload_headers), the 5-minute PUT window, the 1-hour document_id lifetime, and the reassurance that nothing is faxed or charged. This is the rare case where the non-idempotent, non-destructive profile is made concrete rather than merely hinted at.

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?

Four sentences, each load-bearing: eligibility, call ordering, the upload handshake with deadlines, and the fallback path. The critical ordering constraint and the fallback are front-loaded rather than buried.

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?

Even though an output schema exists, the description still explains the three returned fields because the agent must act on them immediately with a PUT. Nothing about the multi-step workflow, deadlines, or failure path is missing for a five-required-parameter mutation.

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

Parameters5/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds real constraints absent from the schema: a 20 MB cap on byte_size and the format allowlist (PDF, JPG, PNG, WEBP, HEIC). It also explains that the returned upload_headers must accompany the exact bytes, tying parameters to the follow-up call.

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 (add a file to a fax) plus accepted formats and size ceiling, and explicitly separates it from the sibling create_fax. An agent can distinguish this from create_fax/send_fax without opening a schema.

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?

Gives explicit ordering ('Call it once per file, before create_fax, in the order the files should be faxed') and an explicit when-not-to-use branch: if the bytes can't be read, call create_fax without document_ids and let the person upload on the status page. Both the selection condition and the alternative are named.

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.