io.github.ictinnovations/ictcrm-mcp

Official registry Marketing and sales

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package ictcrm-mcp
Claude Code
claude mcp add ictcrm-mcp -e 'ICTCRM_BASE_URL=<ICTCRM_BASE_URL>' -e 'ICTCRM_USERNAME=<ICTCRM_USERNAME>' -e 'ICTCRM_PASSWORD=<your ictcrm_password>' -e 'ICTCRM_MCP_ALLOW_WRITE=false' -e 'ICTCRM_TIMEOUT_MS=30000' -e 'ICTCRM_TLS_INSECURE=false' -- npx -y ictcrm-mcp@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "ictcrm-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "ictcrm-mcp@0.1.1"
            ],
            "env": {
                "ICTCRM_BASE_URL": "<ICTCRM_BASE_URL>",
                "ICTCRM_USERNAME": "<ICTCRM_USERNAME>",
                "ICTCRM_PASSWORD": "<your ictcrm_password>",
                "ICTCRM_MCP_ALLOW_WRITE": "false",
                "ICTCRM_TIMEOUT_MS": "30000",
                "ICTCRM_TLS_INSECURE": "false"
            }
        }
    }
}

Environment variables

  • ICTCRM_BASE_URL required Base URL of your ICTCRM server, without the /rest suffix, e.g. https://your-ictcontact.
  • ICTCRM_USERNAME required API account username.
  • ICTCRM_PASSWORD required secret Password for the account.
  • ICTCRM_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.
  • ICTCRM_TIMEOUT_MS Per request timeout in milliseconds. Defaults to 30000.
  • ICTCRM_TLS_INSECURE Skip TLS certificate verification. Only for a self-signed test server.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. ictcrm-mcp
  2. Install
  3. Configure
  4. Tools
  5. Safety
  6. A note on listing contacts
  7. How it connects
  8. About

ictcrm-mcp

A Model Context Protocol server for ICTCRM from ICT Innovations.

ictcrm.com runs on the ICTContact backend, so this server speaks that RPC surface. It lets an AI assistant read contact groups and — only when you turn writes on — create and delete contacts and add a contact to a campaign.

Install

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

Requires Node.js 18 or newer.

Configure

VariableRequiredDefault
ICTCRM_BASE_URLyesServer base URL, without the /rest suffix, e.g. https://your-ictcrm
ICTCRM_USERNAMEyesAPI account username
ICTCRM_PASSWORDyesPassword for that account
ICTCRM_MCP_ALLOW_WRITEnofalseUnlock the contact write tools (see Safety)
ICTCRM_TIMEOUT_MSno30000Per-request timeout
ICTCRM_TLS_INSECUREnofalseSkip TLS verification — self-signed test servers only
Claude Desktop example
{
  "mcpServers": {
    "ictcrm": {
      "command": "npx",
      "args": ["-y", "ictcrm-mcp"],
      "env": {
        "ICTCRM_BASE_URL": "https://your-ictcrm",
        "ICTCRM_USERNAME": "admin",
        "ICTCRM_PASSWORD": "your-password"
      }
    }
  }
}

Tools

Read tools are always available:

ToolWhat it does
ictcrm_list_contact_groupsList contact groups (id, name, description)

Write tools appear only when ICTCRM_MCP_ALLOW_WRITE=true:

ToolWhat it does
ictcrm_create_contactCreate a contact in a group; returns the contact id
ictcrm_delete_contactDelete a contact by id
ictcrm_add_contact_to_campaignCreate a contact and attach it to a campaign

Safety

The server is read-only by default. Creating and deleting contacts only becomes possible when you set ICTCRM_MCP_ALLOW_WRITE=true.

A note on listing contacts

The ICTContact backend that ICTCRM runs on exposes contact groups and contact creation/deletion, but its "list contacts" method errors server-side, so this server does not offer a contact-listing tool. It manages contacts and reads contact groups; listing individual contacts is not available over the API today.

How it connects

Calls go to a form-encoded RPC API at {base}/rest/<Method>, each carrying the account username and password. There is no separate token to provision.

About

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

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

Frequently asked questions

What is io.github.ictinnovations/ictcrm-mcp?

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

How do I install io.github.ictinnovations/ictcrm-mcp?

It runs on your machine. In Claude Code: claude mcp add ictcrm-mcp -e 'ICTCRM_BASE_URL=<ICTCRM_BASE_URL>' -e 'ICTCRM_USERNAME=<ICTCRM_USERNAME>' -e 'ICTCRM_PASSWORD=<your ictcrm_password>' -e 'ICTCRM_MCP_ALLOW_WRITE=false' -e 'ICTCRM_TIMEOUT_MS=30000' -e 'ICTCRM_TLS_INSECURE=false' -- npx -y ictcrm-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.ictinnovations/ictcrm-mcp need an API key?

Yes. It expects ICTCRM_BASE_URL, ICTCRM_USERNAME, ICTCRM_PASSWORD, which you set in its configuration.

Is io.github.ictinnovations/ictcrm-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.ictinnovations/ictcrm-mcp?

It is published by ictinnovations. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.