SendThisFax

Send real faxes to EU institutions: pay per fax via checkout link or prepaid API key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,012Tokens (tool definitions)
~1.0 KBTypical response size
Moderate attention impact (0.79% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "fax": {
      "url": "https://www.sendthisfax.com/mcp"
    }
  }
}

Remote endpoints

https://www.sendthisfax.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_price(billing_country, page_count)

Get the price quote in euro cents for sending a fax. Pricing: 5.00 EUR for up to 5 pages, plus 0.50 EUR per extra page, plus VAT based on the payer's billing country (0% VAT outside the EU).

Input Schema

{
  "type": "object",
  "properties": {
    "billing_country": {
      "description": "ISO 3166-1 alpha-2 country code of the payer (e.g. DE, FR, NL)",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "page_count": {
      "description": "Number of pages in the PDF",
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "page_count",
    "billing_country"
  ]
}
🟡send_fax(billing_country, fax_public_id, locale, recipient_number, sender_email)

Submit an uploaded PDF for faxing. Step 1 (before this tool): upload the PDF over plain HTTP multipart, using any HTTP client you have — shell, JavaScript fetch with FormData, Python, etc.: curl -F "[email protected]" https://www.sendthisfax.com/api/upload fetch("https://www.sendthisfax.com/api/upload", {method: "POST", body: formDataWithFile}) The response contains fax_public_id and page_count. PDFs must be unencrypted, at most 50 MB and 1000 pages. Step 2: call this tool with the fax_public_id and the recipient fax number. Two modes: - With an API key (Authorization: Bearer stf_live_... on this MCP connection): the fax price is debited from the prepaid credit balance and sending starts immediately — no checkout, no browser. sender_email and billing_country are optional (they default to the key's records). Buy credits at https://www.sendthisfax.com/en/credits. - Without an API key: sender_email and billing_country are REQUIRED and the tool returns a checkout_url the USER must pay in a browser; the fax is sent automatically once paid. In both modes, poll get_fax_status until status reaches "delivered" or "failed" (failures after payment are auto-refunded). For integration testing, +19898989898 is the designated test recipient number.

Input Schema

{
  "type": "object",
  "properties": {
    "billing_country": {
      "description": "ISO 3166-1 alpha-2 country of the payer, determines VAT. Required without an API key; fixed by the key's first purchase otherwise.",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "fax_public_id": {
      "description": "The fax public id (fax_...) from the upload step",
      "pattern": "^fax_",
      "type": "string"
    },
    "locale": {
      "description": "Language for emails and the checkout page (default: en)",
      "enum": [
        "en",
        "de",
        "fr",
        "nl",
        "es",
        "it"
      ],
      "type": "string"
    },
    "recipient_number": {
      "description": "Recipient fax number in E.164 format, e.g. +49301234567",
      "pattern": "^\\+[1-9][0-9]{6,14}$",
      "type": "string"
    },
    "sender_email": {
      "description": "Payer email for the receipt and delivery notification. Required without an API key; defaults to the key's email otherwise.",
      "format": "email",
      "type": "string"
    }
  },
  "required": [
    "fax_public_id",
    "recipient_number"
  ]
}
🟢get_fax_status(fax_id)

Get the current status of a fax. Poll this after send_fax until a terminal state. Fax lifecycle: draft (uploaded, not submitted) -> pending (submitted, awaiting payment) -> sending -> delivered | failed. Payment lifecycle: unpaid -> verifying/open (checkout in progress) -> paid | failed | canceled | expired. A fax that fails after payment is refunded automatically to the payer.

Input Schema

{
  "type": "object",
  "properties": {
    "fax_id": {
      "description": "The fax public id (fax_...) returned by the upload",
      "pattern": "^fax_",
      "type": "string"
    }
  },
  "required": [
    "fax_id"
  ]
}
🟢check_balance

Get the prepaid credit balance of the API key used to authenticate this MCP connection. Requires a bearer API key (stf_live_...). Buy or top up credits at https://www.sendthisfax.com/en/credits — credits never expire and failed faxes are re-credited automatically.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools