api-patterns
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only Query tool, DIDs, IP and phone blocklists, SIP trunks, call flow apps, and the configuration write/delete actions that
$ npx -y skills add wyre-technology/msp-claude-plugins --skill pbx-admin --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pbx-adminContext preview
The summary Claude sees to decide when to auto-load this skill.
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only Query tool, DIDs, IP and phone blocklists, SIP trunks, call flow apps, and the configuration write/delete actions that
name: "3CX PBX Admin & Diagnostics" description: > 3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only Query tool, DIDs, IP and phone blocklists, SIP trunks, call flow apps, and the configuration write/delete actions that change what calls the PBX accepts or how they route. when_to_use: >- When diagnosing a PBX-level issue, auditing PBX configuration, running a read-only query against PBX data, or changing blocklist, blacklist, or DID assignment. Use when: 3cx diagnostics, 3cx event log, 3cx services, 3cx query, 3cx blocklist, 3cx blacklist, 3cx did, 3cx sip trunk, or 3cx call flow.
This is the plugin's system-level surface: diagnostics, the PBX's own configuration inventory, a restricted database query tool, call flow app details, and the smaller set of write/delete actions that change what calls the PBX will accept or how they route.
Exact tool names are not published by 3CX — see the `api-patterns` skill and call `tools/list` for the authoritative names on a connected PBX.
**System and diagnostics**
**PBX inventory and database**
**Call flow tools**
The `Query` tool is hard-restricted server-side to read-only SQL `SELECT` statements, regardless of the connecting account's 3CX role — this holds even for an account that could otherwise change configuration. That restriction is enforced inside the PBX itself.
It is *not* automatically safe from a Conduit-permission standpoint, though, if this PBX is reached through Conduit's BYO connector rather than a direct connection: Conduit's tiering heuristic reads the tool's *name*, not the PBX's server-side enforcement. See the `api-patterns` skill's section on BYO tool tiering — if the tool's real name doesn't start with a recognized read verb, Conduit will still gate it as `write`. Check the tool's actual granted tier rather than assuming `SELECT`-only implies `read`.
These directly change what calls and traffic the PBX accepts. An incorrect IP blocklist entry can cut off a legitimate SIP trunk or a remote worker's softphone. An incorrect DID assignment can silently misroute inbound calls for an entire department, and nobody notices until a customer calls in complaining the call never arrived. Treat these exactly like any other production network-ACL or routing change: confirm the exact value — the IP, the number, the DID — with the requester before calling, and don't let a scheduled or unattended agent apply them.
1. Get current PBX server time (confirms basic connectivity/liveness). 2. List PBX services and their state. 3. Search the structured event log for the recent window, looking for a pattern rather than a single isolated entry.
1. List DIDs. 2. List call flow apps and get the details of any that own a DID under review. 3. Cross-reference against the queues/departments the DID should reach (see the `calls-queues` skill).
1. List phone blacklist entries and IP blocklist entries. 2. If the number or IP is present and shouldn't be, remove it — confirm the exact value with the requester first; this is a write action.
1. List accessible database tables, then describe the relevant table's schema before writing a query. 2. Run the query through the `Query` tool. It can only `SELECT` — there is no path from this tool to a data change.
assume that guarantees a `read` tier if this PBX is reached through Conduit's BYO connector (see above).
UI.** Treat it like any other admin-console link — something a human reviews and clicks, not something to feed into further automation unreviewed.
behavior in particular is worth re-verifying against a real PBX rather than trusting this description months after it was written.
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and remediation actions, and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context, and SPF/DKIM/DMARC…
Abnormal Security threat detection: threat types (BEC, phishing, malware, socially-engineered attacks, spam, graymail, credential theft), attack vectors,…