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),…
Cisco Meraki MX security appliance: the L3 outbound firewall rule model and the full-ruleset replacement semantics of meraki_appliance_firewall_l3_update, plus Auto VPN site-to-site peer status via meraki_appliance_vpn_status_get.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill security-appliance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/security-applianceContext preview
The summary Claude sees to decide when to auto-load this skill.
Cisco Meraki MX security appliance: the L3 outbound firewall rule model and the full-ruleset replacement semantics of meraki_appliance_firewall_l3_update, plus Auto VPN site-to-site peer status via meraki_appliance_vpn_status_get.
name: "Meraki Security Appliance" description: > Cisco Meraki MX security appliance: the L3 outbound firewall rule model and the full-ruleset replacement semantics of meraki_appliance_firewall_l3_update, plus Auto VPN site-to-site peer status via meraki_appliance_vpn_status_get. when_to_use: >- When working with the Meraki MX appliance -- reviewing/updating L3 firewall rules and checking site-to-site VPN status. Use when: meraki firewall, meraki mx, l3 firewall, firewall rules, meraki vpn, site-to-site vpn, autovpn, security appliance, firewall review, or vpn status.
The Meraki **MX** is a cloud-managed security appliance combining routing, stateful firewall, SD-WAN, and Auto VPN. This skill covers the two curated MX capabilities: reviewing and updating the **Layer 3 outbound firewall** ruleset, and checking **site-to-site VPN** status. Firewall changes are high-impact -- the update tool replaces the entire ruleset, so read before you write.
outbound only. A Fortinet, SonicWall, or Palo Alto ruleset is not reachable from this plugin at all; `auvik-devices` can tell you what the firewall is, not change it.
curated tools cover the L3 outbound list alone; everything else on the MX goes through `meraki_raw_request`, documented in `meraki-api-patterns`.
`meraki_appliance_vpn_status_get` reports site-to-site Auto VPN peers only.
its uplinks before diagnosing VPN config; use `meraki-troubleshooting`.
MX L3 outbound rules are an **ordered list** evaluated top-to-bottom; the first match wins. Each rule has:
| Field | Values | Notes | |-------|--------|-------| | `policy` | `allow` / `deny` | Action on match | | `protocol` | `tcp` / `udp` / `icmp` / `icmp6` / `any` | Layer 4 protocol | | `srcCidr` | CIDR / `any` / VLAN object | Source network | | `srcPort` | port / range / `any` | Source port(s) | | `destCidr` | CIDR / `any` / FQDN | Destination network | | `destPort` | port / range / `any` | Destination port(s) | | `comment` | free text | Human label -- always populate | | `syslogEnabled` | bool | Log matches to syslog |
There is always an implicit **default allow** rule at the bottom of the outbound list. Rules you configure sit above it.
meraki_appliance_firewall_l3_get
Parameters:
**Example response:**
{
"rules": [
{
"comment": "Block outbound SMB to internet",
"policy": "deny",
"protocol": "tcp",
"srcCidr": "any",
"srcPort": "any",
"destCidr": "any",
"destPort": "445",
"syslogEnabled": true
},
{
"comment": "Default rule",
"policy": "allow",
"protocol": "any",
"srcCidr": "any",
"srcPort": "any",
"destCidr": "any",
"destPort": "any"
}
]
}meraki_appliance_firewall_l3_update
Parameters:
> **CRITICAL:** The update **replaces the entire ruleset**. It is not additive. Any existing rule you omit is deleted. Always: > 1. `meraki_appliance_firewall_l3_get` to fetch the current rules > 2. Modify the list in place (add/remove/reorder) > 3. Send the full modified list back > 4. Do not include the implicit default rule unless the Dashboard shows it as editable > > A mistake here can cut off a site's internet or open it up. Present a clear before/after diff and require explicit user confirmation before writing.
Flag rules that weaken the security posture:
Meraki **Auto VPN** builds IPsec tunnels between MX appliances in the same org automatically. An MX participates as a `hub` or `spoke` (or is `disabled`). The status endpoint reports peer connectivity and export/import of subnets.
meraki_appliance_vpn_status_get
Parameters:
**Example response:**
{
"networkId": "L_123456789012345678",
"networkName": "HQ",
"deviceStatus": "online",
"vpnMode": "hub",
"exportedSubnets": [
{ "subnet": "192.168.1.0/24", "name": "HQ LAN" }
],
"merakiVpnPeers": [
{ "networkId": "L_222", "networkName": "Branch-A", "reachability": "reachable" },
{ "networkId": "L_333", "networkName": "Branch-B", "reachability": "unreachable" }
],
"thirdPartyVpnPeers": []
}1. Call `meraki_appliance_firewall_l3_get` for the network 2. Walk the ordered
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…