ictcontact-mcp — Claude Code MCP server: setup
This MCP server lets Claude Code inspect ICTContact and ICTDialer campaigns, with optional controls for starting and stopping outbound calling.
claude mcp add --env ICTCONTACT_BASE_URL=<ICTCONTACT_BASE_URL> --env ICTCONTACT_USERNAME=<ICTCONTACT_USERNAME> --env ICTCONTACT_PASSWORD=<ICTCONTACT_PASSWORD> --env ICTCONTACT_MCP_ALLOW_WRITE=<ICTCONTACT_MCP_ALLOW_WRITE> --env ICTCONTACT_TIMEOUT_MS=<ICTCONTACT_TIMEOUT_MS> --transport stdio ictcontact-mcp -- npx -y ictcontact-mcpWhat ictcontact-mcp does
ictcontact-mcp connects an AI assistant to outbound campaigns in ICTContact and ICTDialer. It can enumerate campaigns, read whether one is running, show totals for answered and failed calls, and inspect individual call results such as contact, response, AMD, and DNC data.
Read access is available by default. Start and stop tools are exposed only when ICTCONTACT_MCP_ALLOW_WRITE=true; starting a campaign triggers live outbound calls and may incur real charges. Setup requires Node.js 18 or newer, the server URL without the /rest suffix, an API username, and its password. Requests use the service’s form-encoded RPC API, so no separate token is provisioned.
What it helps with
- list outbound campaigns
- check whether a campaign is running
- review answered and failed call totals
- inspect per-call outcomes
- stop an active campaign
Example prompts for the agent
- List the ICTContact campaigns and show their current status.
- Summarize this campaign’s answered, failed, human, and machine results.
- After checking the status, start campaign
<campaign_id>.
How to install ictcontact-mcp
Platform CLI
claude mcp add --env ICTCONTACT_BASE_URL=<ICTCONTACT_BASE_URL> --env ICTCONTACT_USERNAME=<ICTCONTACT_USERNAME> --env ICTCONTACT_PASSWORD=<ICTCONTACT_PASSWORD> --env ICTCONTACT_MCP_ALLOW_WRITE=<ICTCONTACT_MCP_ALLOW_WRITE> --env ICTCONTACT_TIMEOUT_MS=<ICTCONTACT_TIMEOUT_MS> --transport stdio ictcontact-mcp -- npx -y ictcontact-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
codex mcp add ictcontact-mcp --env ICTCONTACT_BASE_URL=<ICTCONTACT_BASE_URL> --env ICTCONTACT_USERNAME=<ICTCONTACT_USERNAME> --env ICTCONTACT_PASSWORD=<ICTCONTACT_PASSWORD> --env ICTCONTACT_MCP_ALLOW_WRITE=<ICTCONTACT_MCP_ALLOW_WRITE> --env ICTCONTACT_TIMEOUT_MS=<ICTCONTACT_TIMEOUT_MS> -- npx -y ictcontact-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"mcpServers": {
"ictcontact-mcp": {
"command": "npx",
"args": [
"-y",
"ictcontact-mcp"
],
"env": {
"ICTCONTACT_BASE_URL": "<ICTCONTACT_BASE_URL>",
"ICTCONTACT_USERNAME": "<ICTCONTACT_USERNAME>",
"ICTCONTACT_PASSWORD": "<ICTCONTACT_PASSWORD>",
"ICTCONTACT_MCP_ALLOW_WRITE": "<ICTCONTACT_MCP_ALLOW_WRITE>",
"ICTCONTACT_TIMEOUT_MS": "<ICTCONTACT_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"servers": {
"ictcontact-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ictcontact-mcp"
],
"env": {
"ICTCONTACT_BASE_URL": "<ICTCONTACT_BASE_URL>",
"ICTCONTACT_USERNAME": "<ICTCONTACT_USERNAME>",
"ICTCONTACT_PASSWORD": "<ICTCONTACT_PASSWORD>",
"ICTCONTACT_MCP_ALLOW_WRITE": "<ICTCONTACT_MCP_ALLOW_WRITE>",
"ICTCONTACT_TIMEOUT_MS": "<ICTCONTACT_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
gemini mcp add -e ICTCONTACT_BASE_URL=<ICTCONTACT_BASE_URL> -e ICTCONTACT_USERNAME=<ICTCONTACT_USERNAME> -e ICTCONTACT_PASSWORD=<ICTCONTACT_PASSWORD> -e ICTCONTACT_MCP_ALLOW_WRITE=<ICTCONTACT_MCP_ALLOW_WRITE> -e ICTCONTACT_TIMEOUT_MS=<ICTCONTACT_TIMEOUT_MS> ictcontact-mcp npx -y ictcontact-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 ictcontact-mcp
How do I install ictcontact-mcp in Claude Code?
Run `claude mcp add ictcontact-mcp -e ICTCONTACT_BASE_URL=<ICTCONTACT_BASE_URL> -e ICTCONTACT_USERNAME=<ICTCONTACT_USERNAME> -e ICTCONTACT_PASSWORD=<ICTCONTACT_PASSWORD> -- npx -y ictcontact-mcp`.
What does ictcontact-mcp do?
It gives Claude Code read access to ICTContact and ICTDialer campaign lists, statuses, summaries, and call-level results. Campaign controls appear after write access is enabled.
How are campaign start and stop actions enabled?
Set ICTCONTACT_MCP_ALLOW_WRITE=true. The server is read-only by default; enabling writes exposes actions that can begin live outbound calling.