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),…
Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF), DNS record fields, company linkage, and website validation errors.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill websites --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/websitesContext preview
The summary Claude sees to decide when to auto-load this skill.
Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF), DNS record fields, company linkage, and website validation errors.
name: "Hudu Websites" description: > Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF), DNS record fields, company linkage, and website validation errors. when_to_use: >- When creating, querying, or auditing Hudu website records, or checking SSL and email authentication status for client domains. Use when: hudu website, website monitoring, ssl certificate, email security, dmarc check, dkim check, spf record, website management, hudu dns, or website tracking.
Websites in Hudu represent website records associated with client companies. Beyond basic URL tracking, Hudu provides monitoring for SSL/TLS certificates and email security standards (DMARC, DKIM, SPF). MSPs use website records to track client web properties, monitor certificate expiration, and verify email authentication configuration.
recorded observation, not a lookup performed now. A DMARC record changed this morning will still read as it did at the last scan. If the question is "what is the record right now", this is the wrong source.
documented here; enforcement, quarantine, and phishing telemetry belong to the email-security plugins (Proofpoint, Checkpoint Avanan, Mimecast).
not page anyone when it goes down. Use `betterstack` for monitoring.
Hudu can automatically monitor websites for:
| Monitoring Area | Description | |----------------|-------------| | SSL/TLS | Certificate validity, expiration date, issuer | | DMARC | Domain-based Message Authentication, Reporting & Conformance | | DKIM | DomainKeys Identified Mail | | SPF | Sender Policy Framework | | HTTP Status | Whether the site is reachable |
The three email security standards that Hudu tracks:
| Standard | Purpose | DNS Record Type | |----------|---------|----------------| | **SPF** | Specifies authorized mail servers | TXT record on domain | | **DKIM** | Cryptographic email authentication | TXT record on selector._domainkey | | **DMARC** | Policy for handling failed SPF/DKIM | TXT record on _dmarc subdomain |
Each website record is linked to a company. A company can have multiple website records (e.g., primary domain, marketing site, client portal).
| Field | Type | Required | Description | |-------|------|----------|-------------| | `id` | integer | System | Auto-generated unique identifier | | `company_id` | integer | Yes | Parent company | | `name` | string | Yes | Website display name / URL | | `slug` | string | System | URL-friendly identifier | | `notes` | string | No | Additional notes | | `paused` | boolean | No | Whether monitoring is paused | | `disable_dns` | boolean | No | Disable DNS checks | | `disable_ssl` | boolean | No | Disable SSL checks | | `disable_whois` | boolean | No | Disable WHOIS checks |
| Field | Type | Description | |-------|------|-------------| | `url` | string | The monitored URL | | `monitoring_status` | string | Current monitoring status |
| Field | Type | Description | |-------|------|-------------| | `ssl_status` | string | SSL certificate status | | `ssl_expiration` | datetime | SSL certificate expiration date | | `ssl_issuer` | string | SSL certificate issuer |
| Field | Type | Description | |-------|------|-------------| | `dmarc_status` | string | DMARC record status | | `dmarc_policy` | string | DMARC policy (none, quarantine, reject) | | `dkim_status` | string | DKIM record status | | `spf_status` | string | SPF record status | | `spf_record` | string | SPF record value |
| Field | Type | Description | |-------|------|-------------| | `dns_a_records` | array | A record values | | `dns_mx_records` | array | MX record values | | `dns_ns_records` | array | NS record values |
| Field | Type | Description | |-------|------|-------------| | `created_at` | datetime | Creation timestamp | | `updated_at` | datetime | Last update timestamp | | `object_type` | string | Always "Website" | | `company_name` | string | Parent company name (read-only) |
GET /api/v1/websites x-api-key: YOUR_API_KEY Content-Type: application/json
**By Company:**
GET /api/v1/websites?company_id=123
**By Name:**
GET /api/v1/websites?name=acme.com
**With Pagination:**
GET /api/v1/websites?page=1
GET /api/v1/websites/456 x-api-key: YOUR_API_KEY
**Response:**
{
"website": {
"id": 456,
"company_id": 123,
"company_name": "Acme Corporation",
"name": "acme.com",
"url": "https://www.acme.com",
"notes": "Primary company website",
"paused": false,
"disable_dns": false,
"disable_ssl": false,
"disable_whois": false,
"monitoring_status": "up",
"ssl_status": "valid",
"ssl_expiration": "2026-08-15T00:00:00.000Z",
"ssl_issuer": "Let's Encrypt Authority X3",
"dmarc_status": "pass",
"dmarc_policy": "reject",
"dkim_status": "pass",
"spf_status": "pass",
"spf_record": "v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all",
"dns_a_records": ["203.0.113.10"],
"dns_mx_records": ["aspmx.l.google.com"],
"dns_ns_records": ["ns1.example.com", "ns2.example.com"],
"created_at": "2024-03-15T10:30:00.000Z",
"updated_at": "2026-02-20T08:00:00.000Z"
}
}POST /api/v1/websites Content-Type: applicat
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…