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 ScalePad Core API — the read-only, US-only unified data layer over clients, contacts, members, sites, opportunities, hardware and SaaS assets, the product catalog, service contracts, tickets, and integration configurations.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill core --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/coreContext preview
The summary Claude sees to decide when to auto-load this skill.
The ScalePad Core API — the read-only, US-only unified data layer over clients, contacts, members, sites, opportunities, hardware and SaaS assets, the product catalog, service contracts, tickets, and integration configurations.
name: "ScalePad Core" description: > The ScalePad Core API — the read-only, US-only unified data layer over clients, contacts, members, sites, opportunities, hardware and SaaS assets, the product catalog, service contracts, tickets, and integration configurations. when_to_use: >- When reading unified ScalePad platform data — clients, contacts, members, sites, opportunities, hardware/SaaS assets, product catalog, contracts, or tickets. Use when: scalepad clients, scalepad core, scalepad assets, scalepad contacts, scalepad tickets, scalepad contracts.
Core is ScalePad's read-only unified data surface (US-only). It is the best starting point for cross-product work: resolve client IDs, asset IDs, and serial numbers here before touching Lifecycle Manager, ControlMap, or Quoter. Discover this domain's tools with `scalepad_navigate` (domain `core`).
Core holds *lifecycle records* about assets — what was bought, when the warranty ends, which contract covers it. It is not a live view of the machine:
right now? Core's asset rows are synced snapshots. Use the RMM: `kaseya/datto-rmm` (`datto-rmm-devices`), `ncentral`, `ninjaone`, `atera`, or `connectwise/automate`.
client or asset ID, the write surface is `scalepad-lifecycle-manager`, `scalepad-controlmap`, or `scalepad-quoter`.
opaque `hardware_key` values that are *not* the Core asset IDs; do not carry one across. Use `scalepad-lifecycle-manager`.
`kaseya/it-glue` or `hudu`.
| Tool | Purpose | |------|---------| | `scalepad_core_clients_list` / `scalepad_core_clients_get` | List/get clients (filter by name, lifecycle, contact/asset counts, record lineage) | | `scalepad_core_contacts_list` / `scalepad_core_contacts_get` | List/get contacts (upstream is a POST search — the tool behaves like a normal list) | | `scalepad_core_members_list` / `scalepad_core_members_get` | List/get MSP team members (also a POST search upstream) | | `scalepad_core_sites_list` / `scalepad_core_sites_get` | List/get client sites | | `scalepad_core_opportunities_list` / `scalepad_core_opportunities_get` | List/get sales opportunities |
| Tool | Purpose | |------|---------| | `scalepad_core_hardware_assets_list` / `scalepad_core_hardware_assets_get` | Hardware assets (filter by client, manufacturer, model, serial_number, type, CPU/RAM/disk configuration) | | `scalepad_core_saas_assets_list` / `scalepad_core_saas_assets_get` | SaaS subscriptions (filter by product, status, tenant_domain, term dates) | | `scalepad_core_saas_users_list` / `scalepad_core_saas_users_get` | SaaS seat assignments per user | | `scalepad_core_product_catalog_list` / `scalepad_core_product_catalog_get` | Product catalog records |
| Tool | Purpose | |------|---------| | `scalepad_core_contracts_list` / `scalepad_core_contracts_get` | Service contracts (filter by client, type, term, status, recurring) | | `scalepad_core_tickets_list` / `scalepad_core_tickets_get` | PSA tickets synced into ScalePad | | `scalepad_core_integration_configurations_list` | Configured integrations | | `scalepad_core_integration_vendors_list` | Available integration vendors |
1. **Resolve a client** — `scalepad_core_clients_list` with a `filter` on `name`; note the client `id` for downstream calls. 2. **Asset inventory for a client** — `scalepad_core_hardware_assets_list` filtered by `client.id`, paginating with `cursor` until exhausted. 3. **Contract expiry review** — `scalepad_core_contracts_list` filtered by `client.id` and `term.ends_at`.
Core returns 402 if the account has no active Core subscription; it is US-only, so `X-ScalePad-Region` does not affect it. All other error semantics follow [api-patterns](../api-patterns/SKILL.md).
shared 50-req/5-s rate limit.
tool's `filter` object.
from.
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…