PluginBench
MCP Server
Active
MIT

io.github.ictinnovations/ictcontact-mcp MCP Server

io.github.ictinnovations/ictcontact-mcp

Monitor and control ICTContact/ICTDialer outbound campaigns via AI assistant.

What is the io.github.ictinnovations/ictcontact-mcp MCP server?

The ictcontact-mcp server is a Model Context Protocol integration for ICTContact and ICTDialer contact-center platforms. It enables AI assistants to monitor outbound campaigns, check their status and results, and optionally start or stop campaigns when write access is enabled.

This server connects Claude or other AI assistants to ICTContact/ICTDialer, allowing you to list campaigns, check live status, review call summaries and per-call results, and control campaign execution. It's designed for contact-center teams who want AI-assisted campaign monitoring and management, with safety controls that keep write operations disabled by default.

How to install io.github.ictinnovations/ictcontact-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • ICTCONTACT_BASE_URL
    required

    Base URL of your ICTContact / ICTDialer server, without the /rest suffix, e.g. https://your-ictcontact.

  • ICTCONTACT_USERNAME
    required

    API account username.

  • ICTCONTACT_PASSWORD
    required
    secret

    Password for the account.

  • ICTCONTACT_MCP_ALLOW_WRITE

    Unlocks starting and stopping campaigns, which begins live outbound calling and can cost money. When false those tools are not registered at all. Leave off unless you mean it.

  • ICTCONTACT_TIMEOUT_MS

    Per request timeout in milliseconds. Defaults to 30000.

  • ICTCONTACT_TLS_INSECURE

    Skip TLS certificate verification. Only for a self-signed test server.

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ictcontact-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ictcontact-mcp"
      ],
      "env": {
        "ICTCONTACT_BASE_URL": "<YOUR_ICTCONTACT_BASE_URL>",
        "ICTCONTACT_USERNAME": "<YOUR_ICTCONTACT_USERNAME>",
        "ICTCONTACT_PASSWORD": "<YOUR_ICTCONTACT_PASSWORD>",
        "ICTCONTACT_MCP_ALLOW_WRITE": "<YOUR_ICTCONTACT_MCP_ALLOW_WRITE>",
        "ICTCONTACT_TIMEOUT_MS": "<YOUR_ICTCONTACT_TIMEOUT_MS>",
        "ICTCONTACT_TLS_INSECURE": "<YOUR_ICTCONTACT_TLS_INSECURE>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • ictcontact_list_campaigns — List all campaigns with their IDs and names
  • ictcontact_campaign_status — Check the live status of a campaign (running or stopped)
  • ictcontact_campaign_summary — Get campaign totals including answered calls, failed calls, and human vs machine detection results
  • ictcontact_campaign_result — Retrieve per-call results including contact information, response, AMD detection, and DNC status
  • ictcontact_start_campaign — Launch a campaign to begin live outbound calling (write-enabled only)
  • ictcontact_stop_campaign — Stop a running campaign (write-enabled only)

Use cases

  • Monitor active outbound calling campaigns and check real-time status
  • Review campaign performance metrics including answer rates and call outcomes
  • Retrieve detailed per-call results for analysis and compliance
  • Start a new campaign when conditions are met (write mode enabled)
  • Stop a campaign in progress to manage costs or handle issues (write mode enabled)

io.github.ictinnovations/ictcontact-mcp MCP server FAQ

What is the ictcontact-mcp server?

It's an MCP integration for ICTContact and ICTDialer contact-center platforms that lets AI assistants monitor campaigns, check status and results, and optionally control campaign execution.

Is it free to use?

The server itself is MIT licensed and free. You need an active ICTContact or ICTDialer account with API credentials to connect.

How do I install it in Claude Desktop?

Add the server to your Claude Desktop config with the npx command and set ICTCONTACT_BASE_URL, ICTCONTACT_USERNAME, and ICTCONTACT_PASSWORD environment variables.

What authentication is required?

You need ICTContact/ICTDialer API credentials (username and password) and the base URL of your server. Credentials are sent with each API request.

Are write operations (start/stop campaigns) enabled by default?

No. Write tools are disabled by default for safety. Set ICTCONTACT_MCP_ALLOW_WRITE=true to enable campaign control, since starting campaigns initiates live calling and incurs costs.

What versions of Node.js are supported?

Node.js 18 or newer is required.

README (reference)

Source of truth, from the repository.

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.

Related MCP servers

Read CRM contact groups and manage contacts on ICTCRM (ICTContact backend).

1
TypeScript
MIT
View repository →

Monitor and control ICTDialer outbound auto-dialer campaigns from Claude or Cursor.

16
TypeScript
MIT
View repository →

Read exams, gradebooks and item analysis; parse papers with AI and publish exams on ICTExam.

16
TypeScript
MIT
View repository →

List, track, and send faxes via ICTFax and ICTCore REST API.

18
TypeScript
MIT
View repository →

Read ICTPBX PBX state—extensions, DIDs, SIP trunks, tenants, and live statistics via MCP.

16
TypeScript
MIT
View repository →

Inspect and control Asterisk (AMI) and FreeSWITCH (ESL) PBX servers from your AI assistant.

3
TypeScript
MIT
View repository →