ictbroadcast-mcp — Claude Code MCP server: campaign control
MCP server for monitoring and controlling voice, SMS and fax campaigns in ICTBroadcast. The agent can check campaign status, review call results, and launch outbound campaigns.
claude mcp add --env ICTBROADCAST_BASE_URL=<ICTBROADCAST_BASE_URL> --env ICTBROADCAST_USERNAME=<ICTBROADCAST_USERNAME> --env ICTBROADCAST_PASSWORD=<ICTBROADCAST_PASSWORD> --env ICTBROADCAST_MCP_ALLOW_WRITE=<ICTBROADCAST_MCP_ALLOW_WRITE> --env ICTBROADCAST_TIMEOUT_MS=<ICTBROADCAST_TIMEOUT_MS> --transport stdio ictbroadcast-mcp -- npx -y ictbroadcast-mcpWhat ictbroadcast-mcp does
The server connects Claude Code, Cursor and other AI environments to the ICTBroadcast platform via its REST API. The agent receives four read tools: list campaigns, check live status (running or stopped), fetch summary totals for answered and failed calls, and retrieve per-call results with answering machine detection and DNC flags. Starting and stopping campaigns is locked by default — those tools register only when ICTBROADCAST_MCP_ALLOW_WRITE=true.
Three variables are required: ICTBROADCAST_BASE_URL (server address without the /rest suffix), ICTBROADCAST_USERNAME and ICTBROADCAST_PASSWORD. The server sends credentials with every request; no separate token is needed. Starting a campaign triggers real outbound calls and incurs charges — enable write mode deliberately.
What it helps with
- Check status of running voice and SMS campaigns
- Pull summary totals for answered, failed and machine-detected calls
- Launch or stop a campaign directly from an agent chat
- Review per-call results: contact, response, DNC status
Example prompts for the agent
- Show all campaigns and their statuses
- Pull summary for campaign 1245: answered and failed counts
- Start campaign 1245
How to install ictbroadcast-mcp
Platform CLI
claude mcp add --env ICTBROADCAST_BASE_URL=<ICTBROADCAST_BASE_URL> --env ICTBROADCAST_USERNAME=<ICTBROADCAST_USERNAME> --env ICTBROADCAST_PASSWORD=<ICTBROADCAST_PASSWORD> --env ICTBROADCAST_MCP_ALLOW_WRITE=<ICTBROADCAST_MCP_ALLOW_WRITE> --env ICTBROADCAST_TIMEOUT_MS=<ICTBROADCAST_TIMEOUT_MS> --transport stdio ictbroadcast-mcp -- npx -y ictbroadcast-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
codex mcp add ictbroadcast-mcp --env ICTBROADCAST_BASE_URL=<ICTBROADCAST_BASE_URL> --env ICTBROADCAST_USERNAME=<ICTBROADCAST_USERNAME> --env ICTBROADCAST_PASSWORD=<ICTBROADCAST_PASSWORD> --env ICTBROADCAST_MCP_ALLOW_WRITE=<ICTBROADCAST_MCP_ALLOW_WRITE> --env ICTBROADCAST_TIMEOUT_MS=<ICTBROADCAST_TIMEOUT_MS> -- npx -y ictbroadcast-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"mcpServers": {
"ictbroadcast-mcp": {
"command": "npx",
"args": [
"-y",
"ictbroadcast-mcp"
],
"env": {
"ICTBROADCAST_BASE_URL": "<ICTBROADCAST_BASE_URL>",
"ICTBROADCAST_USERNAME": "<ICTBROADCAST_USERNAME>",
"ICTBROADCAST_PASSWORD": "<ICTBROADCAST_PASSWORD>",
"ICTBROADCAST_MCP_ALLOW_WRITE": "<ICTBROADCAST_MCP_ALLOW_WRITE>",
"ICTBROADCAST_TIMEOUT_MS": "<ICTBROADCAST_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"servers": {
"ictbroadcast-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ictbroadcast-mcp"
],
"env": {
"ICTBROADCAST_BASE_URL": "<ICTBROADCAST_BASE_URL>",
"ICTBROADCAST_USERNAME": "<ICTBROADCAST_USERNAME>",
"ICTBROADCAST_PASSWORD": "<ICTBROADCAST_PASSWORD>",
"ICTBROADCAST_MCP_ALLOW_WRITE": "<ICTBROADCAST_MCP_ALLOW_WRITE>",
"ICTBROADCAST_TIMEOUT_MS": "<ICTBROADCAST_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
gemini mcp add -e ICTBROADCAST_BASE_URL=<ICTBROADCAST_BASE_URL> -e ICTBROADCAST_USERNAME=<ICTBROADCAST_USERNAME> -e ICTBROADCAST_PASSWORD=<ICTBROADCAST_PASSWORD> -e ICTBROADCAST_MCP_ALLOW_WRITE=<ICTBROADCAST_MCP_ALLOW_WRITE> -e ICTBROADCAST_TIMEOUT_MS=<ICTBROADCAST_TIMEOUT_MS> ictbroadcast-mcp npx -y ictbroadcast-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 ictbroadcast-mcp
How to install ictbroadcast-mcp in Claude Code?
Run `claude mcp add ictbroadcast-mcp -e ICTBROADCAST_BASE_URL=<ICTBROADCAST_BASE_URL> -e ICTBROADCAST_USERNAME=<ICTBROADCAST_USERNAME> -e ICTBROADCAST_PASSWORD=<ICTBROADCAST_PASSWORD> -- npx -y ictbroadcast-mcp`, replacing placeholders with your actual server address, username and password.
What does ictbroadcast-mcp do?
The server connects an AI agent to the ICTBroadcast platform: the agent can read campaign lists, check status and call results, and — when write mode is on — start and stop campaigns.
Why is ICTBROADCAST_MCP_ALLOW_WRITE required to start campaigns?
It unlocks the start and stop tools. Without it, the server is read-only — a safeguard against accidentally launching real calls that incur costs.