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…
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 integrated CRM, and listing PBX users/extensions.
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill directory --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill directory -a windsurf -y
name: "3CX Directory & Contacts" description: > 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 integrated CRM, and listing PBX users/extensions. when_to_use: >- When looking up who a phone number, extension, or email address belongs to inside 3CX, or when listing the PBX's users and extensions. Use when: 3cx contact, 3cx extension, 3cx phonebook, 3cx directory, find caller 3cx, who is this extension, or 3cx user list.
3CX exposes read-only lookups across three sources: the PBX's own phonebooks (company and personal entries), the PBX's user/extension list, and — where the PBX has a CRM connector configured — contacts synced in from that CRM. All of it is read-only; nothing in this skill creates or edits a contact or extension.
or is querying live from a connected CRM. To create or edit the actual CRM contact, use `hubspot-contacts` or `salesbuildr-companies-contacts`.
that belong in runbooks live in `hudu-companies`, not here.
Exact tool names are not published by 3CX — see the `api-patterns` skill for why, and call `tools/list` for the authoritative names on a connected PBX. The read-only capabilities this skill covers:
1. If you have an email address or an exact extension number, use the matching exact-match lookup first — it's the most reliable signal. 2. If that comes back empty, fall back to a phonebook search or a CRM-integrated contact search for a partial or fuzzy match. 3. If you only have a name, search the phonebook and the CRM-integrated contacts in parallel — one may have an entry the other doesn't.
A miss on CRM-integrated contact search means "not synced to this PBX," not "doesn't exist in the CRM." The sync is whatever CRM connector is configured on that specific PBX — confirm the connector is active before concluding a contact genuinely doesn't exist anywhere.
slightly-wrong extension number won't resolve — fall back to the user list or a phonebook search instead of retrying the same lookup.
query.** Staleness depends entirely on how that PBX's CRM connector is configured — this skill has no visibility into that connector's refresh interval.
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership,…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context,…
Abnormal Security threat detection: threat types (BEC, phishing, malware, socially-engineered attacks, spam, graymail, credential…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.