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),…
ConnectWise PSA product catalog: catalog items (SKUs), categories, subcategories, manufacturers, and their use on quotes, opportunities, agreements, and tickets. Covers the full catalog item field reference, common MSP workflows (hardware SKU, software license, managed service,
$ npx -y skills add wyre-technology/msp-claude-plugins --skill product-catalog --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/product-catalogContext preview
The summary Claude sees to decide when to auto-load this skill.
ConnectWise PSA product catalog: catalog items (SKUs), categories, subcategories, manufacturers, and their use on quotes, opportunities, agreements, and tickets. Covers the full catalog item field reference, common MSP workflows (hardware SKU, software license, managed service,
name: "ConnectWise Manage Product Catalog" description: > ConnectWise PSA product catalog: catalog items (SKUs), categories, subcategories, manufacturers, and their use on quotes, opportunities, agreements, and tickets. Covers the full catalog item field reference, common MSP workflows (hardware SKU, software license, managed service, agreement add-on), and the passthrough pattern for fields not surfaced on the MCP tool directly. when_to_use: >- When searching, creating, or updating ConnectWise PSA product catalog items (SKUs), categories, subcategories, or manufacturers. Use when: connectwise product, connectwise catalog, connectwise sku, product catalog connectwise, catalog item connectwise, cw manage product, add product connectwise, create sku, product category connectwise, manufacturer connectwise, procurement catalog, connectwise pricing, bundle product, or managed service sku.
The ConnectWise Manage product catalog is the master list of everything an MSP sells — hardware SKUs, software licenses, managed service subscriptions, bundles, and service offerings. Catalog items are the building blocks that flow into quotes, opportunities, sales orders, agreement additions, and ticket charges. Getting the catalog right drives accurate quoting, consistent billing, and clean COGS/margin reporting.
This skill covers the full catalog item schema, the supporting lookup entities (categories, subcategories, manufacturers, product types, unit of measure), and the workflows for the most common MSP scenarios.
list; the priced, versioned document a customer actually receives is a ConnectWise CPQ quote. Use `connectwise-cpq-quotes`.
line happens on the quote, not the catalog; use `connectwise-cpq-quote-items`.
Manager SKUs share this vocabulary; use `autotask-product-catalog` or `kaseya-quote-manager-quotes`.
Base: /procurement/catalog Categories: /procurement/categories Subcategories: /procurement/subCategories Manufacturers: /procurement/manufacturers Product types: /procurement/productTypes Unit of measure: /procurement/unitOfMeasures Product class: /procurement/productClasses
Available MCP tools (connectwise-manage-mcp):
| Tool | Purpose | |------|---------| | `cw_search_catalog_items` | Search catalog items with CW conditions syntax | | `cw_get_catalog_item` | Fetch one catalog item by ID | | `cw_create_catalog_item` | Create a new catalog item (common fields + `extraFields` passthrough) | | `cw_update_catalog_item` | JSON Patch update against an existing item | | `cw_list_catalog_categories` | List categories | | `cw_list_catalog_subcategories` | List subcategories (filter by `category/id=N`) | | `cw_list_manufacturers` | List manufacturers |
`productClass` is the single most important field because it drives downstream billing, inventory, and agreement behavior.
| Class | Use For | Behavior | |-------|---------|----------| | `NonInventory` | Software licenses, pass-through charges, most SaaS | No stock tracking, cost = last-purchased or fixed | | `Inventory` | Physical hardware you stock | Tracks on-hand, reorder points, cost layers | | `Bundle` | Parent SKU composed of child SKUs | Expands into components at quote time | | `Service` | Labor-based services, project service items | Maps to work roles, billable on tickets | | `Agreement` | Recurring managed-services line items | Drives MRR additions on agreements |
**Rule of thumb for MSPs:**
| Field | Type | Required | Description | |-------|------|----------|-------------| | `id` | int | System | Auto-generated ID | | `identifier` | string(60) | Yes | Unique SKU / part number (your internal code) | | `description` | string(50) | Yes | Internal-facing short description | | `customerDescription` | string | No | Customer-facing description (shows on quotes/invoices) | | `notes` | string | No | Internal notes (not customer-visible) |
| Field | Type | Required | Description | |-------|------|----------|-------------| | `category` | object | No | `{id: categoryId}` | | `subcategory` | object | Yes | `{id: subcategoryId}` — CW requires this | | `type` | object | Yes | `{id: typeId}` — product type | | `productClass` | enum | No | `NonInventory` / `Inventory` / `Bundle` / `Service` / `Agreement` | | `serializedFlag` | boolean | No | Track by serial number (hardware) | | `serializedCostFlag` | boolean | No | Per-unit cost tracking | | `phaseProductFlag` | boolean | No | Eligible as a project phase product |
| Field | Type | Required | Description | |-------|------|----------|-------------| | `cost` | decimal | No | Your cost | | `price` | decimal | No | Sell price | | `priceMethodFlag` | string | No | `Markup_Flat`, `Markup_Percent`, `Gross_Margin`, `Price_Flat` | | `costFlag` | string | No | `Billable`, `DoNotBill`, `NoCharge` | | `taxableFlag` | boolean | No | Subject to sales tax |
| Field | Type | Required | Description | |-------|------|----------|-------------| | `manufacturer` | object | No | `{id: manufacturerId}` | | `manufacturerPartNumber` | string | No | MPN (not your SKU — the mfr's part number) | | `vendor` | object | No | `{id: vendorCompanyId}` — a company flagged as a vendor | | `vendorSku`
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…