Back to Directory/Developer Tools

io.github.ictinnovations/ictcontact-mcp

Monitor ICTContact / ICTDialer outbound campaigns, and start and stop them when writes are on.

Developer ToolsTypeScriptv0.1.0

ictcontact-mcp

A Model Context Protocol server for ICTContact and its hosted edition ICTDialer.com — the same contact-center engine from ICT Innovations.

It lets an AI assistant monitor outbound campaigns — list them, check status, read summaries and per-call results — and, only when you turn writes on, start and stop them.

Install

npx -y ictcontact-mcp      # no install
npm install -g ictcontact-mcp

Requires Node.js 18 or newer.

Configure

VariableRequiredDefault
ICTCONTACT_BASE_URLyesServer base URL, without the /rest suffix, e.g. https://your-ictcontact
ICTCONTACT_USERNAMEyesAPI account username
ICTCONTACT_PASSWORDyesPassword for that account
ICTCONTACT_MCP_ALLOW_WRITEnofalseUnlock start/stop campaign (see Safety)
ICTCONTACT_TIMEOUT_MSno30000Per-request timeout
ICTCONTACT_TLS_INSECUREnofalseSkip TLS verification — self-signed test servers only

Claude Desktop example

{
  "mcpServers": {
    "ictcontact": {
      "command": "npx",
      "args": ["-y", "ictcontact-mcp"],
      "env": {
        "ICTCONTACT_BASE_URL": "https://your-ictcontact",
        "ICTCONTACT_USERNAME": "admin",
        "ICTCONTACT_PASSWORD": "your-password"
      }
    }
  }
}

Tools

Read tools are always available:

ToolWhat it does
ictcontact_list_campaignsList campaigns (id and name)
ictcontact_campaign_statusLive status of a campaign (running, stopped)
ictcontact_campaign_summaryTotals: answered, failed, human vs machine
ictcontact_campaign_resultPer-call results (contact, response, AMD, DNC)

Write tools appear only when ICTCONTACT_MCP_ALLOW_WRITE=true:

ToolWhat it does
ictcontact_start_campaignLaunch a campaign — begins live outbound calling
ictcontact_stop_campaignStop a running campaign

Safety

The server is read-only by default. Starting a campaign begins live outbound calling and can cost real money, so ictcontact_start_campaign and ictcontact_stop_campaign are not registered at all unless you set ICTCONTACT_MCP_ALLOW_WRITE=true.

How it connects

ICTContact and ICTDialer expose a form-encoded RPC API at {base}/rest/<Method>. Each call carries the account username and password; the server sends those for you. There is no separate token to provision.

About

Built by Tahir Almas at ICT Innovations — the team behind ICTContact, ICTDialer, ICTBroadcast, ICTFax and ICTPBX. Learn more at ictcontact.com and ictdialer.com.

MIT licensed. Issues and PRs welcome at github.com/ictinnovations/ictcontact-mcp.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y ictcontact-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-ictinnovations-ictcontact-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ictcontact-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

ictcontact-mcpnpm

Compatible MCP Clients

io.github.ictinnovations/ictcontact-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More