find-contact
Resolve a 3CX contact or extension by email, extension, or name
Conversational Microsoft Entra directory reporting via the Graph Enterprise MCP — license usage, user and group counts, application inventory, and directory composition, formatted for client check-ins and QBRs
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/entra-reportContext preview
What this command does when you run it.
Conversational Microsoft Entra directory reporting via the Graph Enterprise MCP — license usage, user and group counts, application inventory, and directory composition, formatted for client check-ins and QBRs
description: Conversational Microsoft Entra directory reporting via the Graph Enterprise MCP — license usage, user and group counts, application inventory, and directory composition, formatted for client check-ins and QBRs argument-hint: "[topic] [audience]" arguments: [topic, audience]
Produces a conversational, **read-only** snapshot of a client's Microsoft Entra directory through the Microsoft Graph MCP Server for Enterprise. Built for client check-ins, Quarterly Business Reviews, onboarding handoffs, and "give me the state of this tenant" requests.
Unlike `/microsoft-graph:entra-audit` (which hunts for problems), this command describes what's *there* — composition and consumption, not findings. All data is gathered through the RAG loop: `microsoft_graph_suggest_queries` → pick the candidate → `microsoft_graph_get`. Never invent Graph endpoints.
Run the sections relevant to `topic` (default `overview` runs all):
1. **License usage** (`topic=licenses`) — `suggest_queries("subscribed SKUs and license consumption")` → `get`. Per-SKU: purchased seats, assigned, available. Highlights near-exhausted SKUs and large pools of unused seats. 2. **User counts** (`topic=users`) — `suggest_queries("count of all users in the tenant")` and `suggest_queries("count of guest users")` → `get`. Member vs guest split, enabled vs disabled, and recently created accounts. 3. **Group counts** (`topic=groups`) — `suggest_queries("groups in the directory by type")` → `get`. Security groups, Microsoft 365 groups, distribution lists, and dynamic vs assigned membership. 4. **Application inventory** (`topic=apps`) — `suggest_queries("registered applications and enterprise applications")` → `get`. App registrations and service principals — useful for spotting unfamiliar third-party apps with directory access.
Use `microsoft_graph_list_properties` when you need an entity's schema to pick the right properties.
A directory snapshot organized by section, each with the headline number and a one-line interpretation. For QBR use, close with one or two observations the account team can act on (e.g. "50 unassigned E3 seats — candidate for a true-down at renewal"). Keep it descriptive; this is a status report, not an audit.
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
Resolve a 3CX contact or extension by email, extension, or name
Search for specific threat patterns in Abnormal Security by sender, recipient, attack type, or keywords
Triage recent email threats detected by Abnormal Security by severity and attack type