# ictbroadcast-mcp

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.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 16
- Author: ictinnovations
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ictinnovations/ictbroadcast-mcp
- Updated: 2026-09-08
- HTML: https://affpapa.org/en/nevibecode/mcp/ictbroadcast-mcp

## What it 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.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ICTBROADCAST_BASE_URL`, `ICTBROADCAST_USERNAME`, `ICTBROADCAST_PASSWORD`, `ICTBROADCAST_MCP_ALLOW_WRITE`, `ICTBROADCAST_TIMEOUT_MS`, `ICTBROADCAST_TLS_INSECURE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
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-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
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-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "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

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "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

### Gemini CLI

**Platform CLI**
```bash
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-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- 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
- Show all campaigns and their statuses
- Pull summary for campaign 1245: answered and failed counts
- Start campaign 1245

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
