io.github.ictinnovations/ictcontact-mcp MCP Server
io.github.ictinnovations/ictcontact-mcp
Monitor and control ICTContact/ICTDialer outbound campaigns via AI assistant.
What is the io.github.ictinnovations/ictcontact-mcp MCP server?
The ictcontact-mcp server is a Model Context Protocol integration for ICTContact and ICTDialer contact-center platforms. It enables AI assistants to monitor outbound campaigns, check their status and results, and optionally start or stop campaigns when write access is enabled.
This server connects Claude or other AI assistants to ICTContact/ICTDialer, allowing you to list campaigns, check live status, review call summaries and per-call results, and control campaign execution. It's designed for contact-center teams who want AI-assisted campaign monitoring and management, with safety controls that keep write operations disabled by default.
How to install io.github.ictinnovations/ictcontact-mcp
Copy-paste configuration for popular MCP clients.
ICTCONTACT_BASE_URLrequiredBase URL of your ICTContact / ICTDialer server, without the /rest suffix, e.g. https://your-ictcontact.
ICTCONTACT_USERNAMErequiredAPI account username.
ICTCONTACT_PASSWORDrequiredsecretPassword for the account.
ICTCONTACT_MCP_ALLOW_WRITEUnlocks starting and stopping campaigns, which begins live outbound calling and can cost money. When false those tools are not registered at all. Leave off unless you mean it.
ICTCONTACT_TIMEOUT_MSPer request timeout in milliseconds. Defaults to 30000.
ICTCONTACT_TLS_INSECURESkip TLS certificate verification. Only for a self-signed test server.
Tools & capabilities
Tools this server exposes to the agent.
ictcontact_list_campaigns— List all campaigns with their IDs and namesictcontact_campaign_status— Check the live status of a campaign (running or stopped)ictcontact_campaign_summary— Get campaign totals including answered calls, failed calls, and human vs machine detection resultsictcontact_campaign_result— Retrieve per-call results including contact information, response, AMD detection, and DNC statusictcontact_start_campaign— Launch a campaign to begin live outbound calling (write-enabled only)ictcontact_stop_campaign— Stop a running campaign (write-enabled only)
Use cases
- Monitor active outbound calling campaigns and check real-time status
- Review campaign performance metrics including answer rates and call outcomes
- Retrieve detailed per-call results for analysis and compliance
- Start a new campaign when conditions are met (write mode enabled)
- Stop a campaign in progress to manage costs or handle issues (write mode enabled)
io.github.ictinnovations/ictcontact-mcp MCP server FAQ
It's an MCP integration for ICTContact and ICTDialer contact-center platforms that lets AI assistants monitor campaigns, check status and results, and optionally control campaign execution.
The server itself is MIT licensed and free. You need an active ICTContact or ICTDialer account with API credentials to connect.
Add the server to your Claude Desktop config with the npx command and set ICTCONTACT_BASE_URL, ICTCONTACT_USERNAME, and ICTCONTACT_PASSWORD environment variables.
You need ICTContact/ICTDialer API credentials (username and password) and the base URL of your server. Credentials are sent with each API request.
No. Write tools are disabled by default for safety. Set ICTCONTACT_MCP_ALLOW_WRITE=true to enable campaign control, since starting campaigns initiates live calling and incurs costs.
Node.js 18 or newer is required.
README (reference)
Source of truth, from the repository.
ictcontact-mcp
A Model Context Protocol server for ICTContact and its hosted edition ICTDialer.com — the same contact-center engine from ICT Innovations.
It lets an AI assistant monitor outbound campaigns — list them, check status, read summaries and per-call results — and, only when you turn writes on, start and stop them.
Install
npx -y ictcontact-mcp # no install
npm install -g ictcontact-mcp
Requires Node.js 18 or newer.
Configure
| Variable | Required | Default | |
|---|---|---|---|
ICTCONTACT_BASE_URL | yes | Server base URL, without the /rest suffix, e.g. https://your-ictcontact | |
ICTCONTACT_USERNAME | yes | API account username | |
ICTCONTACT_PASSWORD | yes | Password for that account | |
ICTCONTACT_MCP_ALLOW_WRITE | no | false | Unlock start/stop campaign (see Safety) |
ICTCONTACT_TIMEOUT_MS | no | 30000 | Per-request timeout |
ICTCONTACT_TLS_INSECURE | no | false | Skip TLS verification — self-signed test servers only |
Claude Desktop example
{
"mcpServers": {
"ictcontact": {
"command": "npx",
"args": ["-y", "ictcontact-mcp"],
"env": {
"ICTCONTACT_BASE_URL": "https://your-ictcontact",
"ICTCONTACT_USERNAME": "admin",
"ICTCONTACT_PASSWORD": "your-password"
}
}
}
}
Tools
Read tools are always available:
| Tool | What it does |
|---|---|
ictcontact_list_campaigns | List campaigns (id and name) |
ictcontact_campaign_status | Live status of a campaign (running, stopped) |
ictcontact_campaign_summary | Totals: answered, failed, human vs machine |
ictcontact_campaign_result | Per-call results (contact, response, AMD, DNC) |
Write tools appear only when ICTCONTACT_MCP_ALLOW_WRITE=true:
| Tool | What it does |
|---|---|
ictcontact_start_campaign | Launch a campaign — begins live outbound calling |
ictcontact_stop_campaign | Stop a running campaign |
Safety
The server is read-only by default. Starting a campaign begins live outbound
calling and can cost real money, so ictcontact_start_campaign and
ictcontact_stop_campaign are not registered at all unless you set
ICTCONTACT_MCP_ALLOW_WRITE=true.
How it connects
ICTContact and ICTDialer expose a form-encoded RPC API at {base}/rest/<Method>.
Each call carries the account username and password; the server sends those for
you. There is no separate token to provision.
About
Built by Tahir Almas at ICT Innovations — the team behind ICTContact, ICTDialer, ICTBroadcast, ICTFax and ICTPBX. Learn more at ictcontact.com and ictdialer.com.
MIT licensed. Issues and PRs welcome at github.com/ictinnovations/ictcontact-mcp.
Related MCP servers
Read CRM contact groups and manage contacts on ICTCRM (ICTContact backend).
Monitor and control ICTDialer outbound auto-dialer campaigns from Claude or Cursor.
Read exams, gradebooks and item analysis; parse papers with AI and publish exams on ICTExam.
Read ICTPBX PBX state—extensions, DIDs, SIP trunks, tenants, and live statistics via MCP.

Inspect and control Asterisk (AMI) and FreeSWITCH (ESL) PBX servers from your AI assistant.