MCP server: One MCP server.

ICTPBX

@ictinnovationsRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Read ICTPBX state: extensions, DID numbers, SIP trunks, tenants and live PBX statistics.

v0.1.0MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmictpbx-mcpv0.1.0

Run

npx -y ictpbx-mcp

MCP client config

{
  "mcpServers": {
    "ictpbx": {
      "command": "npx",
      "args": [
        "-y",
        "ictpbx-mcp"
      ]
    }
  }
}
README2 min read

ictpbx-mcp

A Model Context Protocol server for ICTPBX, the multi-tenant, white-label IP-PBX built on the ICTCore framework by ICT Innovations.

It lets an AI assistant read your PBX state — extensions, DID numbers, SIP trunk providers, tenants and live statistics — over the ICTCore REST API. It is read-only: it never places a call or changes configuration.

Install

bash
npx -y ictpbx-mcp      # no install
npm install -g ictpbx-mcp

Requires Node.js 18 or newer.

Configure

VariableRequiredDefault
ICTPBX_BASE_URLyesICTCore REST base, normally ending in /api, e.g. https://your-ictpbx/api
ICTPBX_USERNAMEyesAPI account email (ICTCore logs in by email)
ICTPBX_PASSWORDyesPassword for that account
ICTPBX_TIMEOUT_MSno30000Per-request timeout
ICTPBX_TLS_INSECUREnofalseSkip TLS verification — self-signed test servers only

Claude Desktop example

json
{
  "mcpServers": {
    "ictpbx": {
      "command": "npx",
      "args": ["-y", "ictpbx-mcp"],
      "env": {
        "ICTPBX_BASE_URL": "https://your-ictpbx/api",
        "ICTPBX_USERNAME": "admin@example.com",
        "ICTPBX_PASSWORD": "your-password"
      }
    }
  }
}

Tools

ToolWhat it does
ictpbx_pbx_statisticsCounts of extensions, devices, ring groups, queues, IVRs, voicemails, conferences, gateways
ictpbx_list_extensionsSIP extensions with username, name, tenant
ictpbx_list_didsDID (inbound) numbers, active state and tenant
ictpbx_list_providersSIP trunk providers (upstream carriers)
ictpbx_list_tenantsTenants (customer organizations) on the PBX

How it connects

ICTPBX runs on ICTCore, which authenticates with a JWT from POST /authenticate (login by email) and reads it back from the Authorization: Bearer header. The server fetches the token on first use and refreshes it automatically.

About

Built by Tahir Almas at ICT Innovations — the team behind ICTPBX, ICTContact, ICTDialer, ICTFax and the ICTCore framework these products share. Learn more at ictpbx.com.

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

Similar modules