{
  "markdown": "# ictdialer-mcp\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for\n**[ICTDialer](https://ictdialer.com)** — the cloud auto-dialer and predictive-dialer\nplatform from [ICT Innovations](https://ictinnovations.com). ICTDialer.com is the\nhosted edition of ICTContact and runs the same engine, so this server speaks that API.\n\nIt lets an AI assistant monitor outbound campaigns — list them, check status, read\nsummaries and per-call results — and, only when you turn writes on, start and stop\nthem.\n\n## Install\n\n```bash\nnpx -y ictdialer-mcp      # no install\nnpm install -g ictdialer-mcp\n```\n\nRequires Node.js 18 or newer.\n\n## Configure\n\n| Variable | Required | Default | |\n|----------|----------|---------|--|\n| `ICTDIALER_BASE_URL` | yes | | Server base URL, without the `/rest` suffix, e.g. `https://your-ictdialer` |\n| `ICTDIALER_USERNAME` | yes | | API account username |\n| `ICTDIALER_PASSWORD` | yes | | Password for that account |\n| `ICTDIALER_MCP_ALLOW_WRITE` | no | `false` | Unlock start/stop campaign (see Safety) |\n| `ICTDIALER_TIMEOUT_MS` | no | `30000` | Per-request timeout |\n| `ICTDIALER_TLS_INSECURE` | no | `false` | Skip TLS verification — self-signed test servers only |\n\n### Claude Desktop example\n\n```json\n{\n  \"mcpServers\": {\n    \"ictdialer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"ictdialer-mcp\"],\n      \"env\": {\n        \"ICTDIALER_BASE_URL\": \"https://your-ictdialer\",\n        \"ICTDIALER_USERNAME\": \"admin\",\n        \"ICTDIALER_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\nRead tools are always available:\n\n| Tool | What it does |\n|------|--------------|\n| `ictdialer_list_campaigns` | List campaigns (id and name) |\n| `ictdialer_campaign_status` | Live status of a campaign (running, stopped) |\n| `ictdialer_campaign_summary` | Totals: answered, failed, human vs machine |\n| `ictdialer_campaign_result` | Per-call results (contact, response, AMD, DNC) |\n\nWrite tools appear only when `ICTDIALER_MCP_ALLOW_WRITE=true`:\n\n| Tool | What it does |\n|------|--------------|\n| `ictdialer_start_campaign` | Launch a campaign — begins live outbound calling |\n| `ictdialer_stop_campaign` | Stop a running campaign |\n\n## Safety\n\nThe server is **read-only by default**. Starting a campaign begins live outbound\ncalling and can cost real money, so `ictdialer_start_campaign` and\n`ictdialer_stop_campaign` are not registered at all unless you set\n`ICTDIALER_MCP_ALLOW_WRITE=true`.\n\n## How it connects\n\nICTDialer exposes a form-encoded RPC API at `{base}/rest/<Method>`. Each call carries\nthe account username and password; the server sends those for you. There is no separate\ntoken to provision.\n\n## About\n\nBuilt by Tahir Almas at [ICT Innovations](https://ictinnovations.com) — the team behind\nICTDialer, ICTContact, ICTBroadcast, ICTFax and ICTPBX. Learn more at\n[ictdialer.com](https://ictdialer.com).\n\nMIT licensed. Issues and PRs welcome at\n[github.com/ictinnovations/ictdialer-mcp](https://github.com/ictinnovations/ictdialer-mcp).\n",
  "bytes": 2988,
  "sha": "bf99d6ab6fbd30bd954982b91582652698e1c1f1c5155f79a317fd59a5eb45be",
  "repo_slug": "ictinnovations/ictdialer-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ictinnovations_ictdialer_mcp_6c7efff9/readme"
}