> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.fax.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Fax.Plus MCP Server

> Send and receive faxes from any MCP-compatible AI assistant using the Fax.Plus API

# Fax.Plus MCP Server

The Fax.Plus MCP Server lets AI assistants send and receive faxes, manage contacts, track delivery, and configure webhooks through the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) — an open standard for connecting AI tools to external services.

<Warning>
  **Beta** — The Fax.Plus MCP Server is currently in beta. Features, tool schemas, and authentication flows may change.
  Report issues to [support@alohi.com](mailto:support@alohi.com).
</Warning>

<Info>
  **Enterprise plan required** — Access to the Fax.Plus API requires a [Fax.Plus Enterprise
  plan](https://www.fax.plus/pricing). The API is not available on Free, Premium, or Business plans.
</Info>

## MCP server URL

```
https://mcp.fax.plus/mcp
```

***

## What you can do

The Fax.Plus MCP Server enables AI assistants to interact with your Fax.Plus account using natural language. Here's what's supported:

| Capability             | Description                                                    |
| ---------------------- | -------------------------------------------------------------- |
| **Send faxes**         | Upload a document and send it to any fax number worldwide      |
| **Receive faxes**      | Check your inbox for incoming faxes, filter by date or sender  |
| **Track delivery**     | Monitor outbox status and get real-time delivery confirmations |
| **Manage contacts**    | List, create, update, and organize fax contacts and groups     |
| **Manage numbers**     | View assigned fax numbers, status, and notification settings   |
| **Corporate accounts** | List and manage corporate team members (admin only)            |
| **Webhooks**           | Configure webhooks for real-time fax event notifications       |
| **File uploads**       | Upload documents for faxing (PDF, TIFF, DOC, and more)         |

***

## Prerequisites

Before connecting, make sure you have:

1. An active **Fax.Plus Enterprise plan** — [View pricing](https://www.fax.plus/pricing)
2. A **Personal Access Token (PAT)** or **OAuth 2.0 credentials** — [How to create a PAT](https://help.alohi.com/hc/en-us/articles/16679733815708)
3. At least one **fax number** assigned to your account

***

## Authentication

### Personal Access Tokens (PAT)

PATs provide secure, fine-grained access to the API. Create them from your Fax.Plus dashboard:

<Steps>
  <Step title="Open Integrations">
    Log in to your [Fax.Plus account](https://app.fax.plus) and go to **Settings → Integrations**.
  </Step>

  <Step title="Manage tokens">
    Under **Fax.Plus API**, find **Personal Access Tokens** and click **Manage**.
  </Step>

  <Step title="Create and configure">
    Create a new token and select the appropriate scopes for your use case.
  </Step>

  <Step title="Copy your token">
    Copy the token immediately — it won't be shown again.
  </Step>
</Steps>

#### Available scopes

| Scope                  | Access                                                |
| ---------------------- | ----------------------------------------------------- |
| `fax:all:read`         | Read-only access to all fax operations                |
| `fax:all:edit`         | Full access to all fax operations                     |
| `fax:webhook:read`     | View webhook configurations                           |
| `fax:webhook:edit`     | Create and manage webhooks                            |
| `fax:fax:read`         | View and list faxes, outbox, files, reports           |
| `fax:fax:edit`         | Send faxes, manage outbox and files                   |
| `fax:shop:read`        | View available fax numbers for purchase               |
| `fax:shop:edit`        | Purchase and provision fax numbers                    |
| `fax:user:read`        | View the current user's account details (PAT owner)   |
| `fax:user:edit`        | Update the current user's account details (PAT owner) |
| `fax:member:read`      | View corporate member details                         |
| `fax:member:edit`      | Update corporate member settings                      |
| `fax:numbers:read`     | List and view assigned fax numbers                    |
| `fax:numbers:edit`     | Manage and configure fax numbers                      |
| `fax:ai:read`          | Read access to AI-powered fax features                |
| `fax:ai:edit`          | Manage AI-powered fax features                        |
| `fax:ai_settings:read` | View AI feature settings and configuration            |
| `fax:ai_settings:edit` | Update AI feature settings and configuration          |

<Tip>
  For most use cases, `fax:all:read` and `fax:all:edit` provide the access you need. Use granular scopes when you want
  to restrict what the integration can do.
</Tip>

***

## Connecting to an MCP client

The Fax.Plus MCP Server works with any client that supports the Model Context Protocol. Below are setup instructions for common environments.

### Generic MCP configuration

Point your MCP client to the Fax.Plus server URL and pass your authentication token:

```json theme={null}
{
  "mcpServers": {
    "faxplus": {
      "type": "url",
      "url": "https://mcp.fax.plus/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PERSONAL_ACCESS_TOKEN"
      }
    }
  }
}
```

### Using with the Anthropic API (MCP Connector)

```python theme={null}
import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    betas=["mcp-client-2025-11-20"],
    mcp_servers=[
        {
            "type": "url",
            "url": "https://mcp.fax.plus/mcp",
            "name": "faxplus",
            "authorization_token": "YOUR_PERSONAL_ACCESS_TOKEN",
        }
    ],
    messages=[
        {"role": "user", "content": "Check my fax inbox for anything received today"}
    ],
)
```

### Using with OpenAI Agents SDK

```python theme={null}
from openai_agents import Agent, MCPServerSse

faxplus_server = MCPServerSse(
    url="https://mcp.fax.plus/mcp",
    headers={"Authorization": "Bearer YOUR_PERSONAL_ACCESS_TOKEN"},
)

agent = Agent(
    name="Fax Assistant",
    instructions="Help the user send and receive faxes.",
    mcp_servers=[faxplus_server],
)
```

<Note>
  Replace `YOUR_PERSONAL_ACCESS_TOKEN` with the PAT you created in the [Authentication](#authentication) section.
</Note>

***

## Available tools

The Fax.Plus MCP Server exposes the following tools to connected AI assistants.

### Accounts

| Tool                    | Description                        |
| ----------------------- | ---------------------------------- |
| `get-token-info`        | Get current token metadata/scopes  |
| `list-members`          | List corporate members             |
| `get-user`              | Get account information            |
| `update-user`           | Update account information         |
| `get-member-details`    | Get corporate member role/quota    |
| `update-member-details` | Update corporate member role/quota |
| `invite-members`        | Invite corporate members           |
| `resend-invitations`    | Resend pending invitations         |

### Numbers

| Tool            | Description                         |
| --------------- | ----------------------------------- |
| `list-numbers`  | List assigned/purchased fax numbers |
| `get-number`    | Get details for one fax number      |
| `update-number` | Update number assignment            |
| `revoke-number` | Revoke a number (destructive)       |

### Faxes

| Tool                | Description                                 |
| ------------------- | ------------------------------------------- |
| `list-faxes`        | List fax records                            |
| `get-fax`           | Get a specific fax record                   |
| `update-fax`        | Update fax metadata (`is_read` / `comment`) |
| `delete-fax`        | Delete a fax record (destructive)           |
| `bulk-update-faxes` | Bulk update fax metadata                    |
| `bulk-delete-faxes` | Bulk delete fax records (destructive)       |

### Files

| Tool                | Description                      |
| ------------------- | -------------------------------- |
| `upload-file`       | Upload a document for sending    |
| `get-file`          | Download fax file (`pdf`/`tiff`) |
| `get-file-page`     | Download single fax page         |
| `get-fax-report`    | Get fax confirmation report      |
| `get-fax-thumbnail` | Get fax thumbnail image          |

### Outbox

| Tool                       | Description                                   |
| -------------------------- | --------------------------------------------- |
| `list-outbox-faxes`        | List outgoing/queued faxes                    |
| `get-outbox-fax`           | Get one outgoing fax                          |
| `update-outbox-fax`        | Update queued outbox fax                      |
| `bulk-update-outbox-faxes` | Bulk update queued outbox faxes               |
| `send-fax-uploaded`        | Send fax using uploaded file paths            |
| `resend-fax`               | Resend using an existing fax as source        |
| `delete-outbox-fax`        | Delete queued outbox fax (destructive)        |
| `bulk-delete-outbox-faxes` | Bulk delete queued outbox faxes (destructive) |

### Webhooks

| Tool             | Description                  |
| ---------------- | ---------------------------- |
| `get-webhooks`   | List webhooks                |
| `create-webhook` | Create webhook               |
| `delete-webhook` | Delete webhook (destructive) |

### Contacts

| Tool                   | Description                                 |
| ---------------------- | ------------------------------------------- |
| `list-contacts`        | List contacts                               |
| `create-contact`       | Create contact                              |
| `update-contact`       | Update contact                              |
| `delete-contact`       | Delete contact (destructive)                |
| `list-contact-groups`  | List contact groups                         |
| `create-contact-group` | Create contact group                        |
| `update-contact-group` | Update contact group                        |
| `delete-contact-group` | Delete contact group (destructive)          |
| `set-contact-groups`   | Assign contacts to groups                   |
| `share-contacts`       | Share contacts with corporate members       |
| `share-contact-groups` | Share contact groups with corporate members |

### Shop

| Tool                | Description                         |
| ------------------- | ----------------------------------- |
| `get-balance`       | Get account balance                 |
| `list-countries`    | List countries for number purchase  |
| `list-areas`        | List areas for a country            |
| `list-shop-numbers` | List available numbers for purchase |
| `purchase-number`   | Purchase a fax number               |

***

## Usage examples

Once connected, you can interact with Fax.Plus through natural language. Here are some common workflows.

### Send a fax

> **You:** Send the attached contract to +1-212-555-0199

> **Assistant:** I've uploaded your contract and sent it to +1-212-555-0199. The fax was delivered successfully — 3 pages, transmitted in 12 seconds. The fax ID is `abc123def`.

### Check your inbox

> **You:** Did I receive any faxes today?

> **Assistant:** You received 2 faxes today:1. From +1-415-548-5563 at 9:38 AM — 23 pages, status: success2. From +1-312-555-0142 at 2:15 PM — 1 page, status: success

### Track delivery

> **You:** Did my fax to the courthouse go through?

> **Assistant:** Yes — your fax to +1-218-413-7255 was delivered successfully at 12:14 PM today. 2 pages, 2 seconds transmission time.

### Manage contacts

> **You:** Show me all my fax contacts in the Office group

> **Assistant:** You have 1 contact in the "Office\_ch" group: Alohi Fax Machine near Scott, fax number +41 22 794 3479.

### List fax numbers

> **You:** What fax numbers do I have?

> **Assistant:** You have one active fax number: +1-419-548-5563, acquired October 8, 2024, with email and push notifications enabled.

***

## API reference

The MCP Server is built on the [Fax.Plus REST API v3](https://apidoc.fax.plus). For detailed endpoint documentation, schemas, and error codes:

<CardGroup cols={2}>
  <Card title="API Documentation" icon="code" href="https://apidoc.fax.plus">
    Full endpoint reference with request/response examples
  </Card>

  <Card title="Quickstart Guide" icon="rocket" href="https://apidoc.fax.plus/get-started/quickstart">
    Get up and running with the Fax.Plus API in minutes
  </Card>

  <Card title="Authentication" icon="lock" href="https://apidoc.fax.plus/concepts/authentication">
    OAuth 2.0 and PAT setup guides
  </Card>

  <Card title="Help Center" icon="life-ring" href="https://help.alohi.com/hc/en-us/sections/10026017278108--Fax-Plus-API">
    FAQs, troubleshooting, and how-to articles
  </Card>
</CardGroup>

### SDKs

| Language | Package                                                                  |
| -------- | ------------------------------------------------------------------------ |
| Node.js  | [`@alohi/faxplus-api`](https://www.npmjs.com/package/@alohi/faxplus-api) |
| Python   | [`faxplus-api`](https://pypi.org/project/faxplus-api/)                   |

***

## Security and compliance

Fax.Plus is built with enterprise-grade security and meets strict regulatory requirements:

* **Encryption:** AES-256 at rest, TLS 1.3+ in transit
* **Certifications:** ISO 27001, SOC 2 Type 2, HIPAA (with BAA), PCI DSS
* **Compliance:** GDPR, CCPA, eIDAS
* **Access control:** SSO, 2FA, role-based permissions, fine-grained PAT scopes
* **Data residency:** Flexible options across multiple regions
* **Audit trails:** Complete logging of all fax activity

For HIPAA-compliant faxing workflows, see [Fax.Plus HIPAA](https://www.fax.plus/fax-api/hipaa-fax-api).

***

## Limitations

<Warning>
  **Current beta limitations**
</Warning>

* **Enterprise plan required** — The Fax.Plus API is only available on Enterprise plans.
* **No account creation via API** — New user accounts must be created through the [Fax.Plus web dashboard](https://app.fax.plus). The API supports managing existing accounts only.
* **No public sandbox** — Contact [support@alohi.com](mailto:support@alohi.com) to request a test environment.
* **File size limits** — Uploaded files are subject to size limits. Large documents should be split before uploading.
* **Rate limits** — API requests are rate-limited. See the [API documentation](https://apidoc.fax.plus) for current thresholds.
* **Fax delivery** — Transmission success depends on the recipient's fax machine availability and line quality. Automatic retries can be configured when sending.

***

## Troubleshooting

### "Invalid token" or 401 Unauthorized

Your PAT may have expired or lacks the required scopes. Generate a new token from **Settings → Integrations → Personal Access Tokens** in your Fax.Plus dashboard. Ensure the token includes at least `fax:all:read` for read operations and `fax:all:edit` for sending faxes.

### Fax stuck in outbox or delivery failed

Check that the recipient's fax number is in E.164 format (e.g., `+12125550199`). Verify the number is a working fax line. You can configure automatic retries with the `retry` parameter when sending.

### 403 Forbidden on member endpoints

Only corporate admin accounts can access member management endpoints. Verify your account has the `corporate_admin` role.

### Getting help

* **Help Center:** [help.alohi.com](https://help.alohi.com)
* **API Support:** [support@alohi.com](mailto:support@alohi.com)
* **Enterprise Sales:** [alohi.com/contact-sales](https://www.alohi.com/contact-sales)
