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 live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence profiles, plus the write actions that change live call routing — dropping a call, switching a profile, and logging a queue agent
$ npx -y skills add wyre-technology/msp-claude-plugins --skill calls-queues --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/calls-queuesContext preview
The summary Claude sees to decide when to auto-load this skill.
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence profiles, plus the write actions that change live call routing — dropping a call, switching a profile, and logging a queue agent
name: "3CX Calls, Queues & Profiles" description: > 3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence profiles, plus the write actions that change live call routing — dropping a call, switching a profile, and logging a queue agent in or out. when_to_use: >- When checking who is on a call right now, queue staffing, recordings or voicemail, or when changing a user's or queue's live call-routing state. Use when: 3cx active calls, 3cx queue, 3cx voicemail, 3cx recording, 3cx profile, 3cx forwarding, drop call 3cx, or log agent 3cx.
This is the plugin's live-operations surface. Most of it is read-only visibility into what's happening on the PBX right now; a smaller set of tools actually change it — ending a call, switching who a person's calls route to, or moving a queue agent in or out of rotation.
— that's PSA ticket handling (`halopsa-tickets`, `connectwise-psa-tickets`, `autotask-tickets`), not this skill. Use this skill to gather the PBX-side facts (was the queue staffed, was the call actually dropped), then work the ticket in the PSA.
compromised extension) — that's `huntress-incidents` or `sentinelone-alerts` territory for the response workflow; this skill only reports current call/queue state, it doesn't investigate or remediate.
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.
These change what a real person on a real call experiences immediately, and none of them have a built-in undo. Dropping a call ends it for the caller too, not just the technician's view of it. Switching someone's forwarding/presence profile mid-shift redirects their calls right away — if you get the wrong extension, someone's calls start ringing somewhere else with no obvious warning to either party. Logging the wrong agent out of a queue during business hours quietly reduces staffing for everyone still waiting in it. 3CX's own MCP Tools and Permissions Reference groups these separately from the read tools for exactly this reason; this plugin's `GOVERNANCE.md` covers how Conduit's BYO connector tiers them.
**Confirm the target call, extension, or queue ID with the requester before calling any of these**, and don't let a scheduled or unattended agent invoke them — a mistake here is visible to the customer immediately and cannot be quietly corrected after the fact.
List currently active calls alongside a queue's agents — a queue with active calls but no logged-in agents is the signal, not call count alone.
1. List forwarding/presence profiles available to the user to see what options exist. 2. Confirm with the requester exactly which profile and which extension. 3. Select/activate the profile — this is a write action; get explicit confirmation first.
1. List queues the user can access/manage, then list each queue's agents. 2. If staffing needs to change, log the specific agent in or out — again, confirm the agent and queue before calling it.
authenticated user."** That's the 3CX account that approved the OAuth connection, not the technician driving Claude — what shows up depends on whose connection this is, not who's asking.
exact ID before switching anything; there's no confirmation step inside the tool itself.
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 read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an…
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…
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,…