io.github.ictinnovations/ictpbx-mcp
Read ICTPBX state: extensions, DID numbers, SIP trunks, tenants and live PBX statistics.
Open source Open in the app JSON README (API)
About
Read ICTPBX state: extensions, DID numbers, SIP trunks, tenants and live PBX statistics.
Details
- Kind
- MCP servers
- Topic
- Government & public data
- Publisher
- ictinnovations
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.0
- Stars
- 16
- Forks
- 15
- Last push
- 2026-09-07T19:34:16Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-09-01 09:00:06
- Updated
- 2026-09-01 09:00:06
- Origin id
io.github.ictinnovations/ictpbx-mcp
README
# ictpbx-mcp
A [Model Context Protocol](https://modelcontextprotocol.io) server for
**[ICTPBX](https://ictpbx.com)**, the multi-tenant, white-label IP-PBX built on the
ICTCore framework by [ICT Innovations](https://ictinnovations.com).
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
| Variable | Required | Default | |
|----------|----------|---------|--|
| `ICTPBX_BASE_URL` | yes | | ICTCore REST base, normally ending in `/api`, e.g. `https://your-ictpbx/api` |
| `ICTPBX_USERNAME` | yes | | API account email (ICTCore logs in by email) |
| `ICTPBX_PASSWORD` | yes | | Password for that account |
| `ICTPBX_TIMEOUT_MS` | no | `30000` | Per-request timeout |
| `ICTPBX_TLS_INSECURE` | no | `false` | Skip 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
| Tool | What it does |
|------|--------------|
| `ictpbx_pbx_statistics` | Counts of extensions, devices, ring groups, queues, IVRs, voicemails, conferences, gateways |
| `ictpbx_list_extensions` | SIP extensions with username, name, tenant |
| `ictpbx_list_dids` | DID (inbound) numbers, active state and tenant |
| `ictpbx_list_providers` | SIP trunk providers (upstream carriers) |
| `ictpbx_list_tenants` | Tenants (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](https://ictinnovations.com) — the team
behind ICTPBX, ICTContact, ICTDialer, ICTFax and the ICTCore framework these
products share. Learn more at [ictpbx.com](https://ictpbx.com).
MIT licensed. Issues and PRs welcome at
[github.com/ictinnovations/ictpbx-mcp](https://github.com/ictinnovations/ictpbx-mcp).