ictdialer-mcp — Claude Code MCP server: what it does, how to install
Connects your AI agent to the ICTDialer auto-dialer platform. Lets you monitor active outbound calling campaigns, inspect call summaries, and trigger runs.
claude mcp add --env ICTDIALER_BASE_URL=<ICTDIALER_BASE_URL> --env ICTDIALER_USERNAME=<ICTDIALER_USERNAME> --env ICTDIALER_PASSWORD=<ICTDIALER_PASSWORD> --env ICTDIALER_MCP_ALLOW_WRITE=<ICTDIALER_MCP_ALLOW_WRITE> --env ICTDIALER_TIMEOUT_MS=<ICTDIALER_TIMEOUT_MS> --transport stdio ictdialer-mcp -- npx -y ictdialer-mcpWhat ictdialer-mcp does
This server hooks an AI client into the form-encoded RPC API behind ICTDialer and ICTContact. Once connected, your assistant inspects outbound lists, checks whether a campaign is running or paused, and inspects per-contact outcomes like machine detection and do-not-call flags.
Setup requires Node.js 18 or higher, plus the dialer endpoint, username, and password. The integration stays read-only out of the box. Mutating actions will not register until you explicitly toggle ICTDIALER_MCP_ALLOW_WRITE=true, preventing unexpected telecom charges during testing.
What it helps with
- inspect live progress and status of active phone campaigns
- break down call statistics between answered lines and answering machines
- start or cancel outbound calling jobs directly from the editor
- verify per-contact responses against do-not-call entries
Example prompts for the agent
- Check the current status of campaign 104 and summarize connection rates.
- Retrieve per-call logs for campaign 42, showing answering machine detections.
- Start campaign 12 once the write permission flag is confirmed.
How to install ictdialer-mcp
Platform CLI
claude mcp add --env ICTDIALER_BASE_URL=<ICTDIALER_BASE_URL> --env ICTDIALER_USERNAME=<ICTDIALER_USERNAME> --env ICTDIALER_PASSWORD=<ICTDIALER_PASSWORD> --env ICTDIALER_MCP_ALLOW_WRITE=<ICTDIALER_MCP_ALLOW_WRITE> --env ICTDIALER_TIMEOUT_MS=<ICTDIALER_TIMEOUT_MS> --transport stdio ictdialer-mcp -- npx -y ictdialer-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
codex mcp add ictdialer-mcp --env ICTDIALER_BASE_URL=<ICTDIALER_BASE_URL> --env ICTDIALER_USERNAME=<ICTDIALER_USERNAME> --env ICTDIALER_PASSWORD=<ICTDIALER_PASSWORD> --env ICTDIALER_MCP_ALLOW_WRITE=<ICTDIALER_MCP_ALLOW_WRITE> --env ICTDIALER_TIMEOUT_MS=<ICTDIALER_TIMEOUT_MS> -- npx -y ictdialer-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"mcpServers": {
"ictdialer-mcp": {
"command": "npx",
"args": [
"-y",
"ictdialer-mcp"
],
"env": {
"ICTDIALER_BASE_URL": "<ICTDIALER_BASE_URL>",
"ICTDIALER_USERNAME": "<ICTDIALER_USERNAME>",
"ICTDIALER_PASSWORD": "<ICTDIALER_PASSWORD>",
"ICTDIALER_MCP_ALLOW_WRITE": "<ICTDIALER_MCP_ALLOW_WRITE>",
"ICTDIALER_TIMEOUT_MS": "<ICTDIALER_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"servers": {
"ictdialer-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ictdialer-mcp"
],
"env": {
"ICTDIALER_BASE_URL": "<ICTDIALER_BASE_URL>",
"ICTDIALER_USERNAME": "<ICTDIALER_USERNAME>",
"ICTDIALER_PASSWORD": "<ICTDIALER_PASSWORD>",
"ICTDIALER_MCP_ALLOW_WRITE": "<ICTDIALER_MCP_ALLOW_WRITE>",
"ICTDIALER_TIMEOUT_MS": "<ICTDIALER_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
gemini mcp add -e ICTDIALER_BASE_URL=<ICTDIALER_BASE_URL> -e ICTDIALER_USERNAME=<ICTDIALER_USERNAME> -e ICTDIALER_PASSWORD=<ICTDIALER_PASSWORD> -e ICTDIALER_MCP_ALLOW_WRITE=<ICTDIALER_MCP_ALLOW_WRITE> -e ICTDIALER_TIMEOUT_MS=<ICTDIALER_TIMEOUT_MS> ictdialer-mcp npx -y ictdialer-mcpReplace <…> with your own values. 1 more environment variable is 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 ictdialer-mcp
How to install ictdialer-mcp in Claude Code?
Run `claude mcp add ictdialer-mcp -e ICTDIALER_BASE_URL=<ICTDIALER_BASE_URL> -e ICTDIALER_USERNAME=<ICTDIALER_USERNAME> -e ICTDIALER_PASSWORD=<ICTDIALER_PASSWORD> -- npx -y ictdialer-mcp`. Replace the placeholders with your server URL, username, and password.
What does ictdialer-mcp do?
It provides tools to query ICTDialer campaigns, track answered versus failed calls, evaluate dialer outcomes, and toggle calling runs.
Why are start and stop campaign tools missing?
Write operations remain hidden by default to avoid unintended billing for live calls. You must set ICTDIALER_MCP_ALLOW_WRITE=true in your environment to expose them.