ictfax-mcp — Claude Code MCP server: setup
Connects Claude Code to ICTFax over ICTCore REST so an agent can inspect fax traffic and, with writes enabled, send documents.
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-mcpWhat ictfax-mcp 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.
What it helps with
- 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 for the agent
- 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.
How to install ictfax-mcp
Platform CLI
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-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Platform CLI
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-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Config file
{
"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
Config file
{
"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
Platform CLI
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-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about ictfax-mcp
How do I install ictfax-mcp in Claude Code?
Run `claude mcp add ictfax-mcp -e ICTFAX_BASE_URL=<ICTFAX_BASE_URL> -e ICTFAX_USERNAME=<ICTFAX_USERNAME> -e ICTFAX_PASSWORD=<ICTFAX_PASSWORD> -- npx -y ictfax-mcp`.
What does ictfax-mcp do?
It connects an agent to ICTFax through ICTCore REST. The server lists fax transmissions and checks their status; write tools can upload and send documents after write access is enabled.
What is required to send a fax?
Set ICTFAX_MCP_ALLOW_WRITE=true after configuring the ICTCore API URL, username, and password. Sending contacts a real number and may cost money.