# Telnyx Fax MCP

> Telnyx Fax connects your agent to global fax services. You can send PDFs or TIFF documents to any fax number worldwide and track delivery status in real time. The server lets you manage numbers, list transmissions, get detailed fax information, and even cancel queued faxes using simple conversation prompts.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** digital-fax, fax-api, document-transmission, delivery-tracking, telecom-infrastructure

## Description

**Telnyx Fax MCP Server - Send & Track Documents**

Listen up. This server plugs your AI agent straight into Telnyx's global fax services so you can handle all your document transmissions using plain old conversation prompts. You send PDFs or TIFF files to any fax number worldwide, and the system tracks delivery status live.

### Sending Faxes and Handling Media

To get a fax out, you use `send_fax`. Just give it a required document URL, the recipient's number, and a connection ID. It sends that new fax immediately. Before you send anything, you can pull up any documents stored in the library by running `list_media`, which displays all media files available for faxing or other use.

### Managing Transmissions and History

You need to know what's going on with your faxes. You can list every single fax sent or received—both successful and failed—by calling `list_faxes`. If you want deep details on a specific transmission, run `get_fax` to retrieve that information. You can also check the current status of your whole Telnyx connection using `check_telnyx_status`. And if a fax is queued up but hasn't gone out yet, don't sweat it; you can use `cancel_fax` to stop that transmission before it actually sends.

### Querying Account Details and Numbers

Before you send anything, you gotta know what numbers you got. To see all the fax-enabled phone numbers linked to your Telnyx account, run `list_fax_numbers`. If you only need details on one specific number—like checking its exact fax capabilities—you use `get_fax_number` for that. You can also check out configuration stuff: `list_fax_applications` shows every fax application set up on your account, and `get_fax_application` gives you the detailed info for a single configured app.

### Putting It All Together

When your agent client runs this server, it knows how to manage everything. You can list all those configured applications using `list_fax_applications`, or check what's going on with any specific application setup by calling `get_fax_application`. Everything you need—from sending the document via `send_fax` to checking if the recipient got it through `get_fax`—is right here. It’s built for simple conversation, so you just talk to your agent and let it run these tools for you.

## Tools

### cancel_fax
Stops a queued fax transmission before it actually sends.

### check_telnyx_status
Verifies if your connection to the Telnyx API is currently working.

### get_fax_application
Gets details for a configured fax application within your account.

### get_fax
Retrieves detailed information about a specific fax transmission.

### get_fax_number
Retrieves specific details about a listed phone number's fax capabilities.

### list_fax_applications
Shows you all the configured fax applications on your account.

### list_faxes
Returns a list of all fax transmissions, including sent and received ones, with their status.

### list_media
Displays all media files that have been uploaded and are available for faxing or other use.

### list_fax_numbers
Lists all phone numbers in your Telnyx account that are set up to handle faxes.

### send_fax
Sends a new fax using a required document URL, the recipient's number, and a connection ID.

## Prompt Examples

**Prompt:** 
```
Send a fax of invoice.pdf to +1-555-0199.
```

**Response:** 
```
Fax submitted to +15550199. Fax ID: FAX-8291. Transmission in progress — 3 pages detected. Would you like me to check the delivery status in a few minutes?
```

**Prompt:** 
```
List all faxes sent today.
```

**Response:** 
```
5 faxes sent today. 4 delivered successfully, 1 still in progress (FAX-8291 to +15550199). Total pages transmitted: 14. Would you like details on any specific fax?
```

**Prompt:** 
```
Show my fax-enabled phone numbers.
```

**Response:** 
```
You have 3 fax-enabled numbers: +1-555-0100 (US), +44-20-7946-0958 (UK), and +1-555-0200 (US toll-free). All active and ready to send/receive faxes.
```

## Capabilities

### Transmit Faxes
Send PDF and TIFF files to any global fax number, getting real-time tracking data.

### Manage Transmissions
List all sent/received faxes (`list_faxes`), check delivery status details, or cancel pending transmissions.

### Query Number Data
Retrieve and list all fax-enabled phone numbers in your account using `get_fax_number` or `list_fax_numbers`.

### Track Media Files
Access and list all uploaded documents stored for later use with `list_media`.

## Use Cases

### Legal firm needs status reports
A paralegal sent 50 compliance documents yesterday. Instead of logging into a dashboard, they ask their agent: 'What's the status on those faxes?' The agent runs `list_faxes`, returning a count and listing which ones succeeded versus which are still in progress (e.g., FAX-8291).

### Automating patient check-ins
A system needs to send lab results immediately after they are ready. It uses `send_fax` with the document URL and the specific number found via `get_fax_number`. The whole process runs without human intervention.

### Troubleshooting a failed batch
The operations team's automated fax job fails mysteriously. They run `list_faxes` to see the error codes and then use `get_fax` on the problematic ID to pull up precise details about why that specific transmission failed.

### Updating phone numbers
The company acquired a new branch. Instead of manually adding their fax number, the admin uses `list_fax_numbers` and confirms the format is correct before integrating it into the main sending script.

## Benefits

- Track delivery status with `list_faxes`. You don't just send a fax; you get confirmation on whether it reached the recipient, which is critical for compliance.
- Manage your entire phone inventory. Use `list_fax_numbers` to see every number capable of receiving or sending faxes before running a job.
- Handle documents securely. Instead of manually attaching files, use `list_media` to pull up pre-uploaded PDFs and TIFFs directly into the fax workflow.
- Maintain compliance by controlling transmissions. You can cancel a queued transmission instantly using `cancel_fax` if the recipient's number changes or the document is wrong.
- Verify your setup before sending anything big. Running `check_telnyx_status` confirms that the entire API connection is live and ready to go.

## How It Works

The bottom line is: You give your agent natural language instructions, and it executes the necessary fax tool calls for you.

1. Subscribe to the Telnyx Fax server on Vinkius Marketplace.
2. Retrieve your API Key from the Telnyx Mission Control portal and input it into your client environment.
3. Ask your AI agent a specific question, like 'Send this invoice to 1-800-555-CALL', letting the agent run `send_fax` using its tools.

## Frequently Asked Questions

**How do I send a fax using the send_fax tool?**
You must provide three things: the connection ID (from), the recipient's number, and the media URL. The agent handles this by gathering all necessary inputs in one go.

**Can I check if a fax transmission was successful using list_faxes?**
Yes, `list_faxes` provides a comprehensive status report for every job, letting you see exactly which faxes succeeded and which ones failed along with an error code.

**What if I need to stop a fax before it sends?**
You use the `cancel_fax` tool. Just ask your agent to cancel the transmission, providing the specific fax ID number.

**Do I have to list all numbers first? Is there a better way than list_fax_numbers?**
While `list_fax_numbers` shows you what's available, if you already know the target number, it's faster just to pass that number directly into your request for `send_fax`.

**What's the first step when setting up? How do I check my connection using `check_telnyx_status`?**
You run `check_telnyx_status` to verify your API key and general connectivity. This confirms you can talk to Telnyx's system before you send anything. If it returns a success code, you're good to go; otherwise, double-check your credentials or rate limits.

**Where are my source documents? How do I list media files using `list_media`?**
Use `list_media` to pull a rundown of every uploaded file. This shows you the names and URLs for all documents ready to be faxed out. You don't have to manually track them down; just query this tool.

**I need to check my configuration details. What does `get_fax_application` show me?**
Running `get_fax_application` pulls up all the current fax app specifics. This is where you'll find things like webhook URLs or specific application credentials if you need advanced routing logic.

**Before I send a fax, how do I validate a recipient number using `get_fax_number`?**
Calling `get_fax_number` lets you pull up detailed info for any fax-enabled line. You use this to confirm if a specific phone number is active or formatted correctly *before* running the `send_fax` tool.

**How do I send a fax via AI?**
Use the `send_fax` tool with your connection ID, recipient phone number (E.164 format), and a URL to the PDF or TIFF document.

**Can I check the status of a sent fax?**
Yes. Use `get_fax` with the fax ID to see delivery status, page count, duration, and any error details.

**How do I see my fax-enabled phone numbers?**
Use `list_fax_numbers` to retrieve all phone numbers in your Telnyx account that have fax capability enabled.