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),…
SentinelOne's unified asset inventory across four surface types — agent-managed endpoints, AWS/Azure/GCP cloud resources, AD/Entra identities, and Ranger-discovered network devices. Covers the read-only inventory tools, the REST (not GraphQL) offset-pagination and filter model,
$ npx -y skills add wyre-technology/msp-claude-plugins --skill inventory --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/inventoryContext preview
The summary Claude sees to decide when to auto-load this skill.
SentinelOne's unified asset inventory across four surface types — agent-managed endpoints, AWS/Azure/GCP cloud resources, AD/Entra identities, and Ranger-discovered network devices. Covers the read-only inventory tools, the REST (not GraphQL) offset-pagination and filter model,
name: "SentinelOne Inventory" description: > SentinelOne's unified asset inventory across four surface types — agent-managed endpoints, AWS/Azure/GCP cloud resources, AD/Entra identities, and Ranger-discovered network devices. Covers the read-only inventory tools, the REST (not GraphQL) offset-pagination and filter model, asset field reference, and agent-coverage audit workflows. when_to_use: >- When auditing asset coverage, agent health, or unmanaged devices in a SentinelOne environment. Use when: sentinelone inventory, sentinelone asset, sentinelone endpoint, sentinelone agent, sentinelone device, sentinelone workstation, sentinelone server, asset inventory, endpoint health, sentinelone cloud resource, sentinelone identity, sentinelone ranger, or network discovery.
The SentinelOne unified asset inventory provides a single view of all assets across an organization's environment. Assets are categorized by surface type -- endpoints with SentinelOne agents, cloud resources in AWS/Azure/GCP, identity accounts from Active Directory and Entra ID, and network-discovered devices found by Ranger. For MSPs, the inventory is the foundation for security coverage -- ensuring every client device has an active agent, tracking cloud resource sprawl, and identifying unmanaged devices on client networks.
The inventory uses the **REST API** (not GraphQL), with offset-based pagination and direct filter parameters. All inventory tools are **read-only**.
Ranger's passive by-product of the agents you already have. A question about scanning a subnet, fingerprinting an unmanaged device, or inventorying OT/IoT gear belongs to `runzero-assets`; live topology and interface state belong to `auvik-devices`.
its agent health; findings on that asset are `sentinelone-alerts`, `sentinelone-vulnerabilities`, or `sentinelone-misconfigurations`.
different fleets with no shared record — use `huntress-agents` or `threatlocker-computers`.
| Tool | Description | Key Parameters | |------|-------------|----------------| | `get_inventory_item` | Get a single inventory item by ID | `itemId` (required) | | `list_inventory_items` | List inventory items with filters | `surface`, `limit`, `offset`, `sortBy`, `sortOrder` | | `search_inventory_items` | Search inventory with REST filters | `filters`, `surface`, `limit`, `offset` |
Call `list_inventory_items` with optional parameters:
**Example: List all endpoints:**
**Example: List cloud resources:**
**Example: List network-discovered devices:**
Call `search_inventory_items` with `filters` for targeted queries:
**Example: Search for a specific endpoint by name:**
**Example: Search for Windows servers:**
Call `get_inventory_item` with the `itemId` to retrieve full details including agent status, OS information, network details, and security posture.
| Surface | Description | Data Sources | |---------|-------------|-------------| | `ENDPOINT` | Managed endpoints with SentinelOne agents | Workstations, servers, laptops, VMs | | `CLOUD` | Cloud infrastructure resources | AWS EC2, Azure VMs, GCP instances, S3 buckets, etc. | | `IDENTITY` | User and service accounts | Active Directory, Entra ID (Azure AD), Okta | | `NETWORK_DISCOVERY` | Network-discovered devices (Ranger) | Switches, printers, IoT, unmanaged devices |
| Type | Description | |------|-------------| | `WORKSTATION` | Desktop or laptop workstation | | `SERVER` | Server (physical or virtual) | | `LAPTOP` | Laptop (may overlap with WORKSTATION) | | `VIRTUAL_MACHINE` | Cloud or on-premises VM | | `CONTAINER` | Container workload |
| Status | Description | |--------|-------------| | `ACTIVE` | Agent is running and communicating | | `INACTIVE` | Agent installed but not communicating | | `DISCONNECTED` | Agent has lost connection to the console | | `DECOMMISSIONED` | Agent has been decommissioned | | `PENDING` | Agent installation in progress |
The inventory uses offset-based pagination (unlike the cursor-based GraphQL tools):
| Parameter | Description | Default | |-----------|-------------|---------| | `limit` | Results per page | 50 | | `offset` | Number of results to skip | 0 |
To iterate through all results:
1. Call with `offset=0`, `limit=100` 2. If 100 results returned, call with `offset=100`, `limit=100` 3. Continue incrementing offset until fewer results than limit are returned
| Filter Type | Syntax | Description | |-------------|--------|-------------| | Exact match | `fieldName=value` | Direct value comparison | | Contains | `fieldName__contains=value` | Substring matching | | Greater than or equal | `fieldName__gte=value` | Minimum value (dates, numbers) | | Less than or equal | `fieldName__lte=value` | Maximum value (dates, numbers) | | Not equal | `fieldName__ne=value` | Exclude matches | | In list | `ids=id1,id2,id3` | Match multi
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…