Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.
Two tools with complete input schemas and reasonable descriptions. faxdrop_send_fax has 11 parameters with types and descriptions; faxdrop_get_fax_status is minimal but correct. Descriptions are adequate (80-160 chars) but lack actionable context for LLM selection. No output schemas documented. Error handling and recovery guidance absent. Parameters lack constraints (e.g., phone format validation, file type restrictions stated only in description, not schema). No tool annotations (readOnlyHint/destructiveHint). Naming is clear (verb_noun pattern). Security: API key injected server-side (good), but file path parameter accepts user input without visible validation in schema.
Poll the status of a previously sent fax by its ID
Send a fax via FaxDrop API with file upload, recipient number, sender details, and optional cover page
No output schemas documented. LLMs cannot infer what faxdrop_send_fax returns (fax ID? status? cost?) or what fields faxdrop_get_fax_status provides. Breaks tool chaining and forces agents to guess.
faxdrop_send_fax description (160 chars) lacks actionable context: when should an agent call this vs. a generic email tool? What are prerequisites (file must exist? API quota?)? No recovery guidance if fax fails.
filePath parameter accepts arbitrary strings; description says 'must be inside outbox directory' but schema has no pattern/constraint. No visible validation in schema. Agents cannot know valid paths without trial-and-error.
recipientNumber parameter lacks format constraint. Description says 'international format (e.g. +12125551234)' but no regex/pattern in schema. LLMs may pass invalid formats (missing +, wrong length, spaces).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). faxdrop_send_fax is destructive (sends real fax, charges money) but LLM has no signal to treat it with caution or require confirmation.