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),…
RocketCyber's provider/customer account hierarchy: sub-account navigation, account CRUD operations, account settings, security policy configuration, and multi-tenant MSP patterns.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill accounts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/accountsContext preview
The summary Claude sees to decide when to auto-load this skill.
RocketCyber's provider/customer account hierarchy: sub-account navigation, account CRUD operations, account settings, security policy configuration, and multi-tenant MSP patterns.
name: "RocketCyber Accounts" description: > RocketCyber's provider/customer account hierarchy: sub-account navigation, account CRUD operations, account settings, security policy configuration, and multi-tenant MSP patterns. when_to_use: >- When working with RocketCyber accounts. Use when: rocketcyber account, rocketcyber customer, rocketcyber provider, rocketcyber tenant, rocketcyber organization, account hierarchy rocketcyber, rocketcyber sub-account, or rocketcyber client.
RocketCyber uses a hierarchical account model designed for MSPs. The provider account (your MSP) contains multiple customer sub-accounts, each representing a managed client. All API operations can be scoped to a specific customer account using the `accountId` parameter.
Understanding the account hierarchy is essential for:
documentation entity, `itglue-organizations`; as an RMM grouping, `datto-rmm-sites`. RocketCyber account IDs are shared with none of them.
┌─────────────────────────────────────┐ │ Provider Account (MSP) │ │ - API key is scoped here │ │ - Provider-level reporting │ │ - Global security policies │ │ │ │ ┌───────────────────────────────┐ │ │ │ Customer Account: Acme Corp │ │ │ │ - accountId: 12345 │ │ │ │ - Agents, Incidents, Apps │ │ │ └───────────────────────────────┘ │ │ │ │ ┌───────────────────────────────┐ │ │ │ Customer Account: Beta LLC │ │ │ │ - accountId: 12346 │ │ │ │ - Agents, Incidents, Apps │ │ │ └───────────────────────────────┘ │ │ │ │ ┌───────────────────────────────┐ │ │ │ Customer Account: Gamma Inc │ │ │ │ - accountId: 12347 │ │ │ │ - Agents, Incidents, Apps │ │ │ └───────────────────────────────┘ │ └─────────────────────────────────────┘
| Type | Description | |------|-------------| | **Provider** | The MSP's top-level account; owns the API key | | **Customer** | A managed client account under the provider |
| Status | Description | |--------|-------------| | **Active** | Account is fully operational | | **Inactive** | Account is disabled or suspended (verify against API docs) |
| Field | Type | Description | |-------|------|-------------| | `id` | integer | Unique account identifier | | `name` | string | Account display name | | `type` | string | Account type: provider, customer | | `status` | string | Account status: active, inactive (verify against API docs) | | `parentId` | integer | Provider account ID (for customer accounts, verify against API docs) | | `createdAt` | datetime | When the account was created (verify against API docs) | | `agentCount` | integer | Number of deployed agents (verify against API docs) | | `settings` | object | Account-level configuration (verify against API docs) |
> **Note:** Field names are inferred from the Celerium PowerShell wrapper. Verify exact field names against RocketCyber API responses.
# All customer accounts under the provider
curl -s "https://api-${ROCKETCYBER_REGION:-us}.rocketcyber.com/v3/accounts" \
-H "Authorization: Bearer ${ROCKETCYBER_API_KEY}"**Response (verify against API docs):**
{
"data": [
{
"id": 12345,
"name": "Acme Corporation",
"type": "customer",
"status": "active"
},
{
"id": 12346,
"name": "Beta LLC",
"type": "customer",
"status": "active"
}
],
"totalCount": 45,
"page": 1,
"limit": 50
}# Single account details
curl -s "https://api-us.rocketcyber.com/v3/accounts/12345" \
-H "Authorization: Bearer ${ROCKETCYBER_API_KEY}"**Response (verify against API docs):**
{
"id": 12345,
"name": "Acme Corporation",
"type": "customer",
"status": "active",
"createdAt": "2024-03-15T10:00:00Z",
"agentCount": 47
}The API may not support direct name search. To find an account by name:
# List all accounts and filter client-side
curl -s "https://api-us.rocketcyber.com/v3/accounts?limit=500" \
-H "Authorization: Bearer ${ROCKETCYBER_API_KEY}" \
| jq '.data[] | select(.name | test("acme"; "i"))'1. **List all accounts** to get the full customer roster 2. **For each account**, query agent count and incident count 3. **Identify accounts** with no agents (coverage gaps) 4. **Flag accounts** with high incident counts for review
1. **Create the customer account** in the RocketCyber web console (verify if API supports account creation) 2. **Note the account ID** from the response or web UI 3. **Deploy agents** to all customer endpoints using the account-specific installer 4. **Verify agent check-in** by querying `/agents?accountId={id}` 5. **Configure security policies** as needed for the customer
For a given customer account:
1. Query `/accounts/{id}` for account details 2. Query `/agents?accountId={id}` for agent deployment status 3. Query `/incidents?accountId={id}&status=open` for active threats 4. Query `/apps?accountId={id}` for application inventory 5. Aggregate into a security posture score or report
1. List all accounts 2. For each account, collect:
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…