Back to Directory/Developer Tools

io.github.ictinnovations/ictpbx-mcp

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

Developer ToolsTypeScriptv0.1.0

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

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

{
  "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.

Installation

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

bash
npx -y ictpbx-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-ictpbx-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ictpbx-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

ictpbx-mcpnpm

Compatible MCP Clients

io.github.ictinnovations/ictpbx-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