{
  "markdown": "# ictcontact-mcp\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for\n**[ICTContact](https://ictcontact.com)** and its hosted edition\n**[ICTDialer.com](https://ictdialer.com)** — the same contact-center engine from\n[ICT Innovations](https://ictinnovations.com).\n\nIt lets an AI assistant monitor outbound campaigns — list them, check status,\nread summaries and per-call results — and, only when you turn writes on, start\nand stop them.\n\n## Install\n\n```bash\nnpx -y ictcontact-mcp      # no install\nnpm install -g ictcontact-mcp\n```\n\nRequires Node.js 18 or newer.\n\n## Configure\n\n| Variable | Required | Default | |\n|----------|----------|---------|--|\n| `ICTCONTACT_BASE_URL` | yes | | Server base URL, without the `/rest` suffix, e.g. `https://your-ictcontact` |\n| `ICTCONTACT_USERNAME` | yes | | API account username |\n| `ICTCONTACT_PASSWORD` | yes | | Password for that account |\n| `ICTCONTACT_MCP_ALLOW_WRITE` | no | `false` | Unlock start/stop campaign (see Safety) |\n| `ICTCONTACT_TIMEOUT_MS` | no | `30000` | Per-request timeout |\n| `ICTCONTACT_TLS_INSECURE` | no | `false` | Skip TLS verification — self-signed test servers only |\n\n### Claude Desktop example\n\n```json\n{\n  \"mcpServers\": {\n    \"ictcontact\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"ictcontact-mcp\"],\n      \"env\": {\n        \"ICTCONTACT_BASE_URL\": \"https://your-ictcontact\",\n        \"ICTCONTACT_USERNAME\": \"admin\",\n        \"ICTCONTACT_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| `ictcontact_list_campaigns` | List campaigns (id and name) |\n| `ictcontact_campaign_status` | Live status of a campaign (running, stopped) |\n| `ictcontact_campaign_summary` | Totals: answered, failed, human vs machine |\n| `ictcontact_campaign_result` | Per-call results (contact, response, AMD, DNC) |\n\nWrite tools appear only when `ICTCONTACT_MCP_ALLOW_WRITE=true`:\n\n| Tool | What it does |\n|------|--------------|\n| `ictcontact_start_campaign` | Launch a campaign — begins live outbound calling |\n| `ictcontact_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 `ictcontact_start_campaign` and\n`ictcontact_stop_campaign` are not registered at all unless you set\n`ICTCONTACT_MCP_ALLOW_WRITE=true`.\n\n## How it connects\n\nICTContact and ICTDialer expose a form-encoded RPC API at `{base}/rest/<Method>`.\nEach call carries the account username and password; the server sends those for\nyou. There is no separate token to provision.\n\n## About\n\nBuilt by Tahir Almas at [ICT Innovations](https://ictinnovations.com) — the team\nbehind ICTContact, ICTDialer, ICTBroadcast, ICTFax and ICTPBX. Learn more at\n[ictcontact.com](https://ictcontact.com) and [ictdialer.com](https://ictdialer.com).\n\nMIT licensed. Issues and PRs welcome at\n[github.com/ictinnovations/ictcontact-mcp](https://github.com/ictinnovations/ictcontact-mcp).\n",
  "bytes": 3013,
  "sha": "0b0af598087d878ea10aa1ec63a73151eead21aed1555d2f30eb753cd0cf820e",
  "repo_slug": "ictinnovations/ictcontact-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ictinnovations_ictcontact_mcp_ee6754ba/readme"
}