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),…
The four Exchange Online mailbox operations CIPP exposes — mailbox inventory, delegate/full-access permission audit, out-of-office, and email forwarding — plus the BEC-remediation, offboarding, and leave-coverage sequences built from them.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill mailboxes --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/mailboxesContext preview
The summary Claude sees to decide when to auto-load this skill.
The four Exchange Online mailbox operations CIPP exposes — mailbox inventory, delegate/full-access permission audit, out-of-office, and email forwarding — plus the BEC-remediation, offboarding, and leave-coverage sequences built from them.
name: "cipp-mailboxes" description: "The four Exchange Online mailbox operations CIPP exposes — mailbox inventory, delegate/full-access permission audit, out-of-office, and email forwarding — plus the BEC-remediation, offboarding, and leave-coverage sequences built from them." when_to_use: >- When listing mailboxes, checking mailbox delegate/full-access permissions, configuring out-of-office, or setting email forwarding for a tenant. Use when: cipp mailbox, mailbox permissions, out of office, auto reply, email forwarding, mail forwarding, shared mailbox, mailbox delegate, or full access mailbox.
Exchange Online mailbox operations through CIPP. The four supported tools cover the highest-frequency MSP mailbox tasks: listing mailboxes for inventory, auditing permissions during BEC investigations, setting OOO for leave/offboarding, and configuring forwarding for transition periods.
`cipp-users`. This skill covers the mailbox layer of the remediation that follows it.
forwarding, and shared-mailbox conversion in one call; reach for the individual tools here only when you need step-by-step control.
in CIPP's MCP surface. Use the `m365` plugin (`Microsoft 365 Mailboxes`) or Exchange Online PowerShell.
log territory; use `cipp-alerts`.
cipp_list_mailboxes(tenantFilter='contoso.onmicrosoft.com')
Returns all mailboxes (User, Shared, Resource, Equipment, Room) with `userPrincipalName`, `recipientTypeDetails`, `archiveStatus`, `litigationHoldEnabled`, and storage usage. Use as the entry point for any mailbox audit.
cipp_list_mailbox_permissions(tenantFilter, userPrincipalName='user@contoso.com')
Lists all delegates and full-access trustees on a mailbox. **Critical during BEC investigations** — attackers commonly grant themselves Full Access or add a forwarding rule. Always run this on a compromised mailbox before remediation.
cipp_set_out_of_office(tenantFilter, userPrincipalName,
enabled=true|false,
internalMessage?, externalMessage?,
startTime?, endTime?)Use during offboarding (permanent), planned leave (scheduled), or as a tactical control after disabling an account so external senders get a clear bounce-equivalent.
cipp_set_email_forwarding(tenantFilter, userPrincipalName,
forwardingAddress?,
deliverToBoth=true|false,
disable=true|false)Set `disable=true` to remove existing forwarding — this is the **first action** during BEC remediation. Set `forwardingAddress` to redirect a leaver's mail to their manager during transition.
1. `cipp_list_mailbox_permissions` — capture current delegates before changes 2. Check the BEC report from `cipp_bec_check` for forwarding rules and inbox rules 3. `cipp_set_email_forwarding(disable=true)` — remove any forwarding the attacker added 4. (Outside CIPP scope: review and remove malicious inbox rules via Graph or PowerShell) 5. Document the original delegate list — restore legitimate ones after cleanup
If `cipp_offboard_user` is run with `convertToShared=true`, CIPP handles the mailbox conversion internally. For manual control:
1. `cipp_set_out_of_office(enabled=true)` with a clear "no longer with the company" message 2. `cipp_set_email_forwarding(forwardingAddress=manager@contoso.com, deliverToBoth=true)` to keep a paper trail while routing to the manager
cipp_set_out_of_office(tenantFilter, userPrincipalName, enabled=true,
internalMessage='Out until 2026-05-15. Contact teamlead@.',
externalMessage='I am out of office. Please contact our team at...',
startTime='2026-05-01T00:00:00Z',
endTime='2026-05-15T00:00:00Z')Scheduled OOO with start/end times is preferred over `enabled=true` without dates — it auto-disables on return.
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…
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…