io.github.ictinnovations/ictfax-mcp
io.github.ictinnovations/ictfax-mcp · 17 stars · TypeScript · MIT
MCP server List and track faxes on ICTFax, and send faxes when writes are enabled, over ICTCore REST.
Install
The repo has no one-line install. Follow its README.
Published as
- npm
ictfax-mcpstdio
From the server's entry in the official MCP Registry.
Configuration
| Name | Set as | What it is |
|---|---|---|
ICTFAX_BASE_URLRequired | Env var | ICTCore REST base URL of your ICTFax server, normally ending in /api, e.g. https://your-ictfax/api. |
ICTFAX_USERNAMERequired | Env var | API account email (ICTCore logs in by email). |
ICTFAX_PASSWORDRequired · Secret | Env var | Password for the account. |
ICTFAX_ACCOUNT_IDOptional | Env var | Account id to send faxes from. Defaults to 1. |
ICTFAX_MCP_ALLOW_WRITEOptional | Env var | Unlocks uploading documents and sending faxes, which dials a real number and can cost money. When false those tools are not registered at all. Leave off unless you mean it. |
ICTFAX_TIMEOUT_MSOptional | Env var | Per request timeout in milliseconds. Defaults to 30000. |
ICTFAX_TLS_INSECUREOptional | Env var | Skip TLS certificate verification. Only for a self-signed test server. |
Files
ictfax-mcp
A Model Context Protocol server for ICTFax, the open-source fax server built on the ICTCore framework by ICT Innovations.
It lets an AI assistant list fax transmissions and check their status, and — only when you turn writes on — upload a document and send a fax.
Install
npx -y ictfax-mcp # no install npm install -g ictfax-mcp
Requires Node.js 18 or newer.
Configure
| Variable | Required | Default | |
|---|---|---|---|
ICTFAX_BASE_URL |
yes | ICTCore REST base, normally ending in /api, e.g. https://your-ictfax/api |
|
ICTFAX_USERNAME |
yes | API account email (ICTCore logs in by email) | |
ICTFAX_PASSWORD |
yes | Password for that account | |
ICTFAX_ACCOUNT_ID |
no | 1 |
Account id to send faxes from |
ICTFAX_MCP_ALLOW_WRITE |
no | false |
Unlock upload/send (see Safety) |
ICTFAX_TIMEOUT_MS |
no | 30000 |
Per-request timeout |
ICTFAX_TLS_INSECURE |
no | false |
Skip TLS verification — self-signed test servers only |
Claude Desktop example
{
"mcpServers": {
"ictfax": {
"command": "npx",
"args": ["-y", "ictfax-mcp"],
"env": {
"ICTFAX_BASE_URL": "https://your-ictfax/api",
"ICTFAX_USERNAME": "admin@example.com",
"ICTFAX_PASSWORD": "your-password"
}
}
}
}
Tools
Read tools are always available:
| Tool | What it does |
|---|---|
ictfax_list_faxes |
List fax transmissions (id, contact, status, direction) |
ictfax_get_fax_status |
Status of one transmission by id |
Write tools appear only when ICTFAX_MCP_ALLOW_WRITE=true:
| Tool | What it does |
|---|---|
ictfax_upload_document |
Upload a local PDF as a fax document; returns a document_id |
ictfax_send_fax |
Send a local document as a fax to a number — dials a real number |
Safety
The server is read-only by default. Sending a fax dials a real number and can
cost money, so ictfax_upload_document and ictfax_send_fax are not registered at
all unless you set ICTFAX_MCP_ALLOW_WRITE=true.
How it connects
ICTFax runs on ICTCore, which authenticates with a JWT from POST /authenticate
(login by email) and reads it back from the Authorization: Bearer header. Sending
a fax is a short chain the server handles for you: upload the document (metadata
then raw bytes, which ICTFax converts to fax format), create the recipient and a
sendfax program, create the transmission and send it.
About
Built by Tahir Almas at ICT Innovations — the team behind ICTFax, ICTPBX, ICTContact, ICTDialer and the ICTCore framework these share. ICTFax is free and open source; learn more at ictfax.org.
MIT licensed. Issues and PRs welcome at github.com/ictinnovations/ictfax-mcp.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 17
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-09-07
- Forks
- 15
- MCP Registry
- io.github.ictinnovations/ictfax-mcp
- Homepage
- www.ictfax.org
- Topics
- ai-agent, claude, fax, fax-server, ictcore, ictfax, mcp, model-context-protocol, voip
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k