Skip to content

Oh Fax

by ohfax.com · remote · no sign-in to list tools · v0.1.0 · published by com.ohfax

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

Deletes · 1Final · 1

4 tools: 1 can delete or cancel things, 1 do something that can't be undone and 2 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ohfax https://app.ohfax.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "quote_fax" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Deletes or cancels 1Claude Code: deny
  • send_faxReturns the authorization instructions for sending a previously quoted fax.No findings

    Why it is in this group

    • The name "send_fax" says "send": a word for sending, and what is sent cannot be taken back.
    • The description says "CANNOT BE UNDONE".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Send a fax (costs money)
    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: true
    • idempotentHint: true
Can't be undone 1Claude Code: ask
  • quote_faxPrice a fax before committing to anything.1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "quote_fax" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Quote a fax
    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
Only reads 2Claude Code: allow
  • get_fax_receiptVerifiable delivery receipt for a completed fax.No findings

    Why it is in this group

    • The name "get_fax_receipt" says "get": a word for reading.
    Description, as the server wrote it
    Verifiable delivery receipt for a completed fax. Available once the fax has reached a final state. Use this to prove the workflow finished.

    Annotations the server declares

    • title: Get fax receipt
    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • get_fax_statusCurrent delivery state of a fax: awaiting_payment, paid, submitted, sending, delivered, or failed.No findings

    Why it is in this group

    • The name "get_fax_status" says "get": a word for reading.
    Description, as the server wrote it
    Current delivery state of a fax: awaiting_payment, paid, submitted, sending, delivered, or failed. Failed faxes include a reason you can act on.

    Annotations the server declares

    • title: Check fax status
    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ohfax https://app.ohfax.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ohfax__get_fax_status",
      "mcp__ohfax__get_fax_receipt"
    ],
    "ask": [
      "mcp__ohfax__quote_fax"
    ],
    "deny": [
      "mcp__ohfax__send_fax"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ohfax. Review it before you use it.