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),…
Better Stack log management (Logtail): log sources, structured log search and query syntax, log-based alerting, and log analysis workflows.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill logging --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/loggingContext preview
The summary Claude sees to decide when to auto-load this skill.
Better Stack log management (Logtail): log sources, structured log search and query syntax, log-based alerting, and log analysis workflows.
name: "Better Stack Logging" description: > Better Stack log management (Logtail): log sources, structured log search and query syntax, log-based alerting, and log analysis workflows. when_to_use: >- When querying logs or managing log sources in Better Stack / Logtail. Use when: betterstack logs, logtail, log search, log query, log source, search logs, log management, better stack logging, or log analysis.
Better Stack Logs (formerly Logtail) provides centralized log management with structured log ingestion, real-time search, and log-based alerting. MSPs use it to aggregate logs from client infrastructure, investigate incidents, and set up proactive alerting on error patterns.
language; use `azure-mcp-observability`.
application logs, not a SIEM; use `huntress-signals` or `blumira`.
use `betterstack-monitors`.
Sources define where logs come from and how they're ingested:
Logs in Better Stack are structured JSON documents:
Better Stack supports SQL-like queries for log searching:
Create alerts that trigger when log patterns match:
betterstack_query_logs
Parameters:
**Example response:**
{
"data": [
{
"dt": "2026-03-27T10:15:30.123Z",
"level": "error",
"message": "Connection refused to database at 10.0.1.5:5432",
"service": "api-gateway",
"host": "prod-api-01",
"request_id": "req-abc-123"
},
{
"dt": "2026-03-27T10:15:29.456Z",
"level": "error",
"message": "Health check failed for postgres pool",
"service": "api-gateway",
"host": "prod-api-01"
}
]
}betterstack_list_sources
Parameters:
**Example response:**
{
"data": [
{
"id": "src-789",
"type": "source",
"attributes": {
"name": "Production API",
"platform": "node",
"token": "xxxx...xxxx",
"ingesting_paused": false,
"records_count": 1500000
}
}
]
}betterstack_create_source
Parameters:
1. Get the incident details and identify the affected monitor/service 2. Call `betterstack_query_logs` with the service name and time range around the incident 3. Filter for error and fatal level logs 4. Look for patterns: connection errors, timeout spikes, OOM events 5. Trace request IDs across services for distributed issues 6. Summarize findings with root cause analysis
1. Query logs for `level:error` over the last hour 2. Group by service to identify which services have elevated errors 3. Compare error counts against baseline 4. Drill into the highest-error services for specific error messages 5. Correlate with uptime monitor incidents
1. Create log sources for each client service (API, web, workers) 2. Distribute source tokens for log ingestion configuration 3. Verify logs are flowing with a test query 4. Set up log-based alerts for critical error patterns 5. Create saved queries for common investigation patterns
1. Search for authentication failures: `"authentication failed" OR "invalid token" OR "unauthorized"` 2. Look for unusual access patterns: `level:warn AND "rate limit"` 3. Check for privilege escalation attempts 4. Review admin action logs 5. Document findings for compliance reporting
**Cause:** Invalid source ID or source was deleted **Solution:** List sources to verify the correct ID
**Cause:** Invalid query syntax **Solution:** Verify query follows the supported syntax (field:value, boolean operators, quotes for phrases)
**Cause:** No logs match the query for the given time range **Solution:** Broaden the time range, check source ID, verify logs are being ingested
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…