faxdrop-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FAXDROP_API_KEY | Yes | Your FaxDrop API key, obtained from faxdrop.com/account (Developer API → Generate Key). Keys look like 'fd_live_<32 hex>'. | |
| FAXDROP_MCP_DRY_RUN | No | Enable dry run mode to simulate sending without calling FaxDrop. Set to 'true' to enable. Default is off. | |
| FAXDROP_MCP_AUDIT_LOG | No | Path to an audit log file for append-only JSON Lines logging. Sensitive args are redacted. Default is off. | |
| FAXDROP_MCP_RATE_LIMIT_send | No | Daily rate limit for sending faxes, e.g., '100/day'. Use 'N/minute', 'N/hour', 'N/day', or 'N/week'. Default is '100/day'. | |
| FAXDROP_MCP_RATE_LIMIT_DISABLE | No | Disable rate limit for testing. Set to 'true' to turn off. Default is off. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| faxdrop_send_faxA | Send a real fax via FaxDrop. USE WHEN: user needs to fax a document (PDF, DOCX, JPEG, PNG ≤10MB) to a fax number — medical records, legal forms, government submissions, recipients who only accept fax. DO NOT USE: for digital delivery (email, sftp), for files outside the outbox, for non-fax numbers — the 3-layer phone gate (TYPE → COUNTRY → per-number policy) rejects mobile/landline/premium. SIDE EFFECTS: charges FaxDrop balance (or consumes free credits + adds branded cover on free tier), creates an audit log entry, allocates a fax ID server-side. ALWAYS confirm recipient + file + cover with the user before calling. FILE LOCATION: document must live inside the outbox (default RETURNS: |
| faxdrop_pair_numberA | Add a fax number to the per-recipient whitelist (paired.json). USE WHEN: server runs with FAXDROP_MCP_NUMBER_GATE=pairing and the user wants to pre-approve a recurring recipient (clinic, lawyer, supplier) so future DO NOT USE: when gate mode is SIDE EFFECTS: writes to VALIDATION: TYPE + COUNTRY checks still apply (no bypass). Mobile/landline/premium numbers are rejected even at pairing time. RETURNS: |
| faxdrop_get_fax_statusA | Check the delivery status of a previously sent fax. USE WHEN: polling for the outcome of a fax sent via DO NOT USE: for faxes sent outside this MCP (no provenance — server returns 404). Once status is SIDE EFFECTS: each non-cached call hits the FaxDrop API and counts toward its per-key rate limits (no monetary cost). Terminal results are cached process-wide. POLLING STRATEGY: every ~5s for the first 2 min, then every ~30s up to 10 min. Most US faxes complete in <90s. RETURNS: provider status object + optional |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| send-letter-fax | Send a PDF/DOCX/JPG/PNG already placed in the outbox to a fax number and poll delivery status until terminal. |
| fax-history-summary | Given a set of FaxDrop IDs, fetch their current status and return a concise per-fax summary. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
The three tools target clearly distinct actions: sending (faxdrop_send_fax), checking outcome (faxdrop_get_fax_status), and pre-approving a recipient (faxdrop_pair_number). Descriptions explicitly cross-reference each other and warn when *not* to use a tool, leaving no realistic misselection path.
All names use the same faxdrop_<verb>_<object> snake_case pattern (send_fax, get_fax_status, pair_number). No mixed conventions or vague verbs.
Three tools is exactly the surface needed for a narrow fax-sending domain: send, poll, and whitelist. Each earns its place and there is no padding.
Core lifecycle (send → poll to terminal state) plus recipient pre-approval is covered. Minor gaps exist in adjacent operations such as cancelling a queued fax, listing sent history, or checking account balance, but agents can work around these.