# ictfax-mcp

Connects Claude Code to ICTFax over ICTCore REST so an agent can inspect fax traffic and, with writes enabled, send documents.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 17
- Author: ictinnovations
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ictinnovations/ictfax-mcp
- Updated: 2026-09-07
- HTML: https://affpapa.org/en/nevibecode/mcp/ictfax-mcp

## What it does

ictfax-mcp exposes two read tools to an agent: one lists fax transmissions with contact, direction, and status details; the other checks a transmission by ID. It authenticates against ICTCore REST using a JWT and the `ICTFAX_BASE_URL`, `ICTFAX_USERNAME`, and `ICTFAX_PASSWORD` variables.

Write access is gated by `ICTFAX_MCP_ALLOW_WRITE=true`. When enabled, the server uploads a local PDF, creates the recipient and transmission, then sends the fax. That action dials a real number and may incur a charge. Node.js 18 or newer is required, and the API URL plus account credentials must be configured.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ICTFAX_BASE_URL`, `ICTFAX_USERNAME`, `ICTFAX_PASSWORD`, `ICTFAX_ACCOUNT_ID`, `ICTFAX_MCP_ALLOW_WRITE`, `ICTFAX_TIMEOUT_MS`, `ICTFAX_TLS_INSECURE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ICTFAX_BASE_URL=<ICTFAX_BASE_URL> --env ICTFAX_USERNAME=<ICTFAX_USERNAME> --env ICTFAX_PASSWORD=<ICTFAX_PASSWORD> --env ICTFAX_ACCOUNT_ID=<ICTFAX_ACCOUNT_ID> --env ICTFAX_MCP_ALLOW_WRITE=<ICTFAX_MCP_ALLOW_WRITE> --transport stdio ictfax-mcp -- npx -y ictfax-mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add ictfax-mcp --env ICTFAX_BASE_URL=<ICTFAX_BASE_URL> --env ICTFAX_USERNAME=<ICTFAX_USERNAME> --env ICTFAX_PASSWORD=<ICTFAX_PASSWORD> --env ICTFAX_ACCOUNT_ID=<ICTFAX_ACCOUNT_ID> --env ICTFAX_MCP_ALLOW_WRITE=<ICTFAX_MCP_ALLOW_WRITE> -- npx -y ictfax-mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ictfax-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "ictfax-mcp"
            ],
            "env": {
                "ICTFAX_BASE_URL": "<ICTFAX_BASE_URL>",
                "ICTFAX_USERNAME": "<ICTFAX_USERNAME>",
                "ICTFAX_PASSWORD": "<ICTFAX_PASSWORD>",
                "ICTFAX_ACCOUNT_ID": "<ICTFAX_ACCOUNT_ID>",
                "ICTFAX_MCP_ALLOW_WRITE": "<ICTFAX_MCP_ALLOW_WRITE>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "ictfax-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "ictfax-mcp"
            ],
            "env": {
                "ICTFAX_BASE_URL": "<ICTFAX_BASE_URL>",
                "ICTFAX_USERNAME": "<ICTFAX_USERNAME>",
                "ICTFAX_PASSWORD": "<ICTFAX_PASSWORD>",
                "ICTFAX_ACCOUNT_ID": "<ICTFAX_ACCOUNT_ID>",
                "ICTFAX_MCP_ALLOW_WRITE": "<ICTFAX_MCP_ALLOW_WRITE>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ICTFAX_BASE_URL=<ICTFAX_BASE_URL> -e ICTFAX_USERNAME=<ICTFAX_USERNAME> -e ICTFAX_PASSWORD=<ICTFAX_PASSWORD> -e ICTFAX_ACCOUNT_ID=<ICTFAX_ACCOUNT_ID> -e ICTFAX_MCP_ALLOW_WRITE=<ICTFAX_MCP_ALLOW_WRITE> ictfax-mcp npx -y ictfax-mcp
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- list fax transmissions from ICTFax
- check a transmission by its ID
- upload a local PDF for faxing
- send a document to a recipient number

## Example prompts
- List the current fax transmissions in ICTFax.
- Check the status of transmission `<id>`.
- Upload a local PDF and send it as a fax to the recipient number.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
