Skip to main content
Glama

Faxbeep

List received test faxes

list_test_faxes
Read-onlyIdempotent

List the test faxes that Faxbeep received and published, newest first. The list is public and holds the tests of everyone. Each item of "faxes" is a fax object: slug, source ("phone" or "email"), from (the sender, masked as on faxbeep.com, or null), received_at, page_count, file_size, pdf_url, thumbnail_url and view_url (the page of the fax on faxbeep.com). In the result, "since" is the start time that was used, and "now" is the server time.

The result holds at most "limit" faxes (20 when not given), newest first, with no paging. When "faxes" has "limit" items, there can be more: narrow the list with from, page_count or a since closer to the test.

Set "since" to the "now" value that get_test_numbers or list_test_faxes returned just before the person sent the test, and keep it fixed while you poll. Do not use your own clock. Do not move since to the newest received_at: a long fax can appear after a newer, shorter one. Without "since", the list covers the last 24 hours.

A match by time, sender or page count narrows the candidates. It does not prove that a fax is the person's, because other people send tests at the same time. Show the person the view_url so they can check the page. In a chat that shows images, also show thumbnail_url as an image in your answer.

An empty list is a normal answer while a fax is on its way. A new fax usually appears within a minute after the call ends or the email is sent; a few take longer. Wait about 30 seconds between calls, and stop after about 10 minutes. A fax is public for 30 days, then it is removed.

For a sample answer, set from to FAXBEEP-EXAMPLE: the result is the sample fax fax_example, whatever since says. The sample has a fixed date in the past, older than 30 days, and it stays available.

Input Schema

NameRequiredDescriptionDefault
fromNoOnly faxes from this sender: the full fax number (for example +15555550123) or station ID of the sending machine, or the sender address of an email test. Not the masked value of a result. The whole value must match; case does not matter.
limitNoThe most faxes to return, from 1 to 100. Default: 20.
sinceNoOnly faxes received after this time, in ISO 8601 with an offset. Use the "now" value of get_test_numbers or of a list_test_faxes result, taken just before the person sends the test, not your own clock. Default: 24 hours ago. A fax older than 30 days is not in the list.
page_countNoOnly faxes with this number of pages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, non-destructive and non-open-world, yet the description adds real behavior: results are capped at "limit" with no paging, an empty list is a normal transient state, new faxes typically appear within a minute but sometimes longer, and entries are public for 30 days before removal. It also warns that a time/sender/page-count match narrows but does not prove ownership.

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-loads what the tool returns, then field-by-field output shape, then polling rules, then edge cases — a sensible order with almost no filler. It is long and repeats "newest first" and re-states the 20-item default that the schema already carries, which keeps it from a 5.

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, the description carries the full burden and does it: it enumerates every returned field, explains the "since"/"now" envelope values, and defines truncation and retention behavior. An agent has everything needed to call it, interpret an empty result, and report back to the user.

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 the baseline is 3, but the description adds meaning beyond the schema for "since" (must come from the server's "now", stay fixed while polling, never be bumped to the newest received_at, covers 24h when omitted) and for "from" (the FAXBEEP-EXAMPLE sentinel that overrides "since", and the note that masked result values must not be reused). The truncation hint about "limit" also tells the agent when to narrow.

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?

Opens with a specific verb and resource ("List the test faxes that Faxbeep received and published, newest first") and adds a scope that separates it from a per-user lookup: the list is public and contains everyone's tests. It references get_test_numbers as the source of a "now" value but never contrasts itself with get_test_fax, so sibling differentiation is only partial.

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?

Explicit about when to call (polling for an incoming test), how to poll (wait ~30s, stop after ~10min), how to set and hold "since", and what to do with results (show view_url, show thumbnail_url in image-capable chats). It also pre-empts common misuse (don't use your own clock, don't advance since to the newest received_at) and names the FAXBEEP-EXAMPLE path for a sample answer.

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.