Skip to main content
Glama

Oh Fax

Server Details

Outbound US/CA fax for agents: quote PDF, pay via MPP, get delivery receipt.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: quoting, sending, checking status, and retrieving proof of delivery. Status and receipt are related but descriptions make the difference clear—status is current-state monitoring while receipt is final proof.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: quote_fax, send_fax, get_fax_status, get_fax_receipt. The naming is predictable and matches the workflow order.

Tool Count5/5

Four tools is well-scoped for a fax service: quote, send, status, and receipt cover the essential user journey without unnecessary bloat.

Completeness4/5

The core fax lifecycle is covered end-to-end, from pricing to proof of delivery. Minor gaps like cancellation or retry actions are absent, but the stated purpose is served without dead ends.

Available Tools

4 tools
get_fax_receiptGet fax receiptA
Read-only
Inspect

Verifiable delivery receipt for a completed fax. Available once the fax has reached a final state. Use this to prove the workflow finished.

ParametersJSON Schema
NameRequiredDescriptionDefault
fax_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a safe read operation. The description adds useful behavioral information: the receipt is only available once the fax reaches a final state, and its purpose is verification. This goes beyond the annotations without contradicting them.

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?

Three short, focused sentences with no filler. The core function is front-loaded, the availability constraint is stated, and the practical use case is given immediately.

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 single-parameter read-only tool, the description is nearly complete: it explains what to expect, when it is available, and why to call it. It could mention behavior when the fax is not in a final state, but this is a minor gap given the annotations.

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?

There is only one parameter, fax_id, and it is self-explanatory. However, schema description coverage is 0% and the description does not explicitly explain that fax_id identifies the fax for which the receipt is requested, though it implicitly refers to a completed fax.

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?

The description clearly identifies the tool's resource: a verifiable delivery receipt for a completed fax. It differentiates from siblings like get_fax_status, quote_fax, and send_fax by emphasizing proof of completed delivery rather than current status or sending a fax.

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?

The description gives clear usage context: use it only after the fax has reached a final state, and use it to prove the workflow finished. It does not explicitly name alternatives, but the context makes the intended timing clear relative to get_fax_status.

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 statusA
Read-only
Inspect

Current delivery state of a fax: awaiting_payment, paid, submitted, sending, delivered, or failed. Failed faxes include a reason you can act on.

ParametersJSON Schema
NameRequiredDescriptionDefault
fax_idYes

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 and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral detail by listing possible return states and noting that failed faxes include a reason the agent can act on, which goes beyond what the 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.

Conciseness5/5

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

One tightly written sentence front-loads the core behavior, then packs the state list and the actionable failed-fax note without wasted words. Every clause contributes useful information.

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 one-parameter, read-only status lookup, the description gives the agent the essential return vocabulary and the failure-reason behavior. It is slightly thin on the exact response envelope, but no output schema exists and the expected values are clearly named.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain how to obtain fax_id or that it is the identifier returned by send_fax. The phrase 'of a fax' merely echoes what the property name already implies, so the description adds little parameter-level meaning.

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?

The title 'Check fax status' and the opening phrase 'Current delivery state of a fax' clearly identify the resource and the operation. The enumeration of concrete states (awaiting_payment, paid, submitted, sending, delivered, or failed) makes it easy to distinguish this status tool from get_fax_receipt, quote_fax, and send_fax.

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 this tool is for monitoring delivery and investigating failures, especially through the actionable failed-reason detail, but it never explicitly says when to prefer it over get_fax_receipt or other siblings. The usage context is inferable rather than stated.

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

quote_faxQuote a faxA
Read-only
Inspect

Price a fax before committing to anything. Validates the destination and the document, counts pages, and returns an exact total plus a payment link. Free, and sends nothing. Always call this before send_fax.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesDestination fax number. US and Canada only.
document_urlNoPublicly reachable URL of a PDF.
document_base64NoBase64-encoded PDF, as an alternative to document_url.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint and non-destructive annotations, the description adds important behavioral context: it sends nothing, is free, validates the destination and document, and counts pages. This helps the agent understand side effects and preconditions without guessing.

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?

Three short, front-loaded sentences with no filler. The core purpose is stated first, followed by concrete behavior and an explicit usage rule.

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?

For a quote tool with read-only annotations and fully documented parameters, this description covers what the tool does, what it returns, that it has no side effects, and when it should be called. No critical information is missing for 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%, so the schema already documents all three parameters. The description mentions validating 'the destination and the document,' which loosely maps to the parameters, but it does not add meaningful semantics beyond the schema.

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?

The description opens with a specific verb and resource — 'Price a fax before committing to anything' — and clarifies the tool's exact job: validate destination/document, count pages, return an exact total plus a payment link. This clearly distinguishes quote_fax from send_fax and the status/receipt siblings.

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?

Explicitly states 'Always call this before send_fax,' giving the agent a direct rule for when to use this tool. It also frames the tool as a pre-commitment step, which implies the alternative is the actual sending operation.

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

send_faxSend a fax (costs money)A
DestructiveIdempotent
Inspect

Returns the authorization instructions for sending a previously quoted fax. THIS ACTION COSTS MONEY AND CANNOT BE UNDONE: paying the returned link transmits a real document to a real fax machine. This tool itself does not charge you — it returns the exact price and a payment link, and the fax is only sent once you deliberately pay that link. Confirm the cost is acceptable before paying.

ParametersJSON Schema
NameRequiredDescriptionDefault
quote_idYesA quote_id from quote_fax.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description adds critical safety context: the action costs money, cannot be undone, only happens after deliberately paying a returned link, and the tool itself does not charge. This is rich behavioral disclosure with no contradiction to 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 three sentences with the key function front-loaded. The cost warning is repeated across sentences, but this is deliberate emphasis for a risky action rather than unnecessary filler.

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?

For a one-parameter tool with no output schema, the description covers prerequisites (a prior quote), what the tool returns (price and payment link), and what happens next (fax sent only after paying). Nothing needed for correct invocation or risk assessment is missing.

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?

The single parameter quote_id is already fully described in the schema with 'A quote_id from quote_fax.' The description reinforces the 'previously quoted' requirement but adds no new format or semantic details beyond the schema, so baseline 3 applies.

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?

The description states a specific verb ('returns') and resource ('authorization instructions for sending a previously quoted fax'), and immediately clarifies that the tool does not actually send the fax. This distinguishes it from the title and from siblings like quote_fax.

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?

The description clearly scopes usage to a previously quoted faxage and the schema requires a quote_id from quote_fax, so an agent knows this tool is used after quote_fax. It does not explicitly name alternative tools, but the sequencing is clear enough.

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. 4 tool updates
    • First observedget_fax_receipt
    • First observedget_fax_status
    • First observedquote_fax
    • First observedsend_fax

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    Enables agents to price, send, and track encrypted file transfers, with files chunked, encrypted, and hashed locally before any network relay, and to retrieve signed collection receipts. It supports prepaid credit pools and gives agents a privacy-first transfer capability within their own trust domain.
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that lets AI agents create reviewable physical mail drafts, validate quotes, and pay for postage via MPP or x402 protocols.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources