Skip to main content
Glama

PromptFax

Start PromptFax session

start_session

Use this first when a user wants to send or price a fax. PromptFax is built for irregular, pay-per-use outbound faxing: every real send requires a user-reviewed quote and Stripe payment authorization before transmission. MCP clients should set hostType to identify their host: chatgpt, claude, browser, or other. In ChatGPT, pass official files[] file parameters first when they are available so PromptFax can immediately import files[].download_url; never pass a raw file_id or local path as the document. The ChatGPT widget opens for destination entry, automatic quote creation, Stripe Checkout, status tracking, and Choose PDF from ChatGPT fallback when automatic attachment is unavailable or fails. If no document is attached, tell the user to attach a document in the widget. The widget does not provide a document preview step. Do not tell ChatGPT users to get a quote; after the widget has a document and valid destination, tell them to verify the price and use Pay & send when ready. Standards-compatible MCP Apps hosts use the inline PromptFax picker, and text-only clients use the hosted PromptFax session page or attach_document with a fetchable HTTPS URL. Do not call get_quote, checkout, or send_fax for a ChatGPT widget session unless the user explicitly asks for fallback behavior or the widget is unavailable. Use get_status only for a textual status refresh.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesNoOptional host-supplied files for initial attachment. ChatGPT file parameters include files[].download_url and files[].file_id.
hostTypeNoIdentify the MCP host so PromptFax can choose the right interaction mode. Use chatgpt for ChatGPT, claude for Claude, browser for a browser-hosted app, or other for unknown clients.
metadataNoOptional host-specific metadata for diagnostics or session continuity.
faxNumberNoDestination US fax number. Accepts common human formats such as 415-555-0182 or E.164 format such as +14155550182.
sessionIdNoPromptFax MCP session identifier returned by start_session. Use this to continue a session-backed fax workflow.
hostCapabilitiesNoOptional host capability hints, such as whether the client supports widgets, file-picking, hosted links, or other interactive surfaces.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.8/5.0
Behavior5/5

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

Discloses that real sends require user-reviewed quote and Stripe payment authorization, widget behavior, no preview step, and hostType-dependent modes. Goes far beyond annotations.

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 description is lengthy but appropriately structured with clear directive opening, then contextual and host-specific guidance. Every sentence carries actionable information, though it could be slightly more scannable.

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?

Given the tool's complexity (6 params, nested objects, host-specific behaviors), the description is exhaustive, covering interaction modes, fallbacks, prohibitions, and prerequisites. No significant gaps.

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?

With 100% schema coverage, parameters already have descriptions. The description adds important usage semantics (e.g., never pass raw file_id, use hostType values, pass files[] first in ChatGPT), enhancing agent understanding.

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?

Clearly states 'Use this first when a user wants to send or price a fax,' identifying the tool as the entry point for fax workflows. Distinguishes from siblings by instructing not to call get_quote/checkout/send_fax for ChatGPT sessions.

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?

Provides explicit when-to-use and when-not-to-use instructions, including alternatives like attach_document, and specifies host-specific behaviors and fallbacks.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct purpose: session initiation, document attachment, quoting, payment, sending, canceling, status checking, and retrying failed faxes. No overlap is evident.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., attach_document, get_quote, send_fax), making them predictable and easy to understand.

Tool Count5/5

With 8 tools, the set is well-scoped for a fax-sending service, covering the full lifecycle without being excessive or lacking.

Completeness5/5

The tools cover the entire pay-per-use fax workflow: session start, document attachment, quoting, payment, sending, cancellation, status tracking, and retry. No obvious gaps.

Resources