PluginBench
MCP Server
Active
MIT

io.github.ictinnovations/ictpbx-mcp MCP Server

io.github.ictinnovations/ictpbx-mcp

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

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

The ictpbx-mcp server is a Model Context Protocol integration for ICTPBX, the multi-tenant IP-PBX built on ICTCore. It provides read-only access to PBX state including extensions, DID numbers, SIP trunk providers, tenants, and live statistics through the ICTCore REST API.

This server connects Claude or other AI assistants to your ICTPBX installation, allowing them to query and report on PBX configuration and status. It's read-only—it retrieves information about extensions, inbound numbers, upstream carriers, customer tenants, and system statistics, but never places calls or modifies settings.

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

Copy-paste configuration for popular MCP clients.

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

    ICTCore REST base URL of your ICTPBX server, normally ending in /api, e.g. https://your-ictpbx/api.

  • ICTPBX_USERNAME
    required

    API account email (ICTCore logs in by email).

  • ICTPBX_PASSWORD
    required
    secret

    Password for the account.

  • ICTPBX_TIMEOUT_MS

    Per request timeout in milliseconds. Defaults to 30000.

  • ICTPBX_TLS_INSECURE

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

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ictpbx-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ictpbx-mcp"
      ],
      "env": {
        "ICTPBX_BASE_URL": "<YOUR_ICTPBX_BASE_URL>",
        "ICTPBX_USERNAME": "<YOUR_ICTPBX_USERNAME>",
        "ICTPBX_PASSWORD": "<YOUR_ICTPBX_PASSWORD>",
        "ICTPBX_TIMEOUT_MS": "<YOUR_ICTPBX_TIMEOUT_MS>",
        "ICTPBX_TLS_INSECURE": "<YOUR_ICTPBX_TLS_INSECURE>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • ictpbx_pbx_statistics — Retrieve counts of extensions, devices, ring groups, queues, IVRs, voicemails, conferences, and gateways
  • ictpbx_list_extensions — List SIP extensions with username, name, and tenant information
  • ictpbx_list_dids — List DID (inbound) numbers, their active state, and assigned tenant
  • ictpbx_list_providers — List SIP trunk providers (upstream carriers)
  • ictpbx_list_tenants — List all tenants (customer organizations) on the PBX

Use cases

  • Query current PBX capacity and resource usage (extensions, queues, conferences)
  • Look up extension details and tenant assignments for troubleshooting
  • Review active DID numbers and their routing assignments
  • Check SIP trunk provider configuration and availability
  • Generate reports on multi-tenant PBX state and organization structure

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

What is the ictpbx-mcp server?

It's a read-only MCP integration for ICTPBX that lets AI assistants query extensions, DID numbers, SIP trunks, tenants, and live PBX statistics via the ICTCore REST API.

Is it free?

Yes, it's MIT licensed and open source on GitHub.

How do I install it in Claude Desktop?

Add it to your Claude Desktop config.json under mcpServers with the npx command and set ICTPBX_BASE_URL, ICTPBX_USERNAME, and ICTPBX_PASSWORD environment variables.

What authentication is required?

You need an ICTCore API account (email and password) and the base URL of your ICTPBX REST API endpoint.

Can it make calls or change PBX settings?

No, it is read-only. It only retrieves information about your PBX state and never modifies configuration or places calls.

What Node.js version is required?

Node.js 18 or newer.

README (reference)

Source of truth, from the repository.

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.

Related MCP servers

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

3
TypeScript
MIT
View repository →

Monitor and control ICTBroadcast voice, SMS, and fax campaigns from Claude or Cursor.

16
TypeScript
MIT
View repository →

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

16
TypeScript
MIT
View repository →

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

1
TypeScript
MIT
View repository →
TBT-Bank MCP logo

T-Bank mobile banking API for Claude, Cursor, and other MCP agents—accounts, cards, transfers, tickets, travel, grocery.

32
Python
MIT
View repository →
ICIcyn Date logo

Icyn Date

Active

Date context for agents: Chinese lunar calendar, solar terms, holidays for 12 regions. Offline.

0
TypeScript
MIT
View repository →