Borrowing it
Nothing to install: this file belongs to SSIG-IT/3cx-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/SSIG-IT/3cx-mcp-server/main/CLAUDE.mdgit clone --depth 1 https://github.com/SSIG-IT/3cx-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/ssig-it/3cx-mcp-server/claude-md)<a href="https://agentmods.dev/instructions/ssig-it/3cx-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/ssig-it/3cx-mcp-server/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/ssig-it/3cx-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/ssig-it/3cx-mcp-server/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01170 | $0.01170 |
| Opus 5.5 | $0.00468 | $0.00468 |
| Sonnet 5.5 | $0.00234 | $0.00234 |
| Haiku 4.5 | $0.00117 | $0.00117 |
Grade A, and why
3cx-mcp-server CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
3CX MCP Server
Was ist das?
Ein MCP-Server (Model Context Protocol) in TypeScript, der Claude mit einer 3CX Telefonanlage (V20+) verbindet.
Tech Stack
- TypeScript, Node.js (ESM)
- @modelcontextprotocol/sdk (MCP TypeScript SDK)
- zod (Schema-Validierung)
- Transport: stdio
3CX APIs
- XAPI (Configuration API): https://{FQDN}/xapi/v1/ — OAuth2, OData
- Call Control API: https://{FQDN}/callcontrol/ — REST + WebSocket, Enterprise only
- Legacy WebAPI: https://{FQDN}/webapi/{AccessKey}/ — Statischer Key
Auth
OAuth2 Client Credentials: POST /connect/token mit client_id + client_secret → Bearer Token (60 Min)
- Token wird gecacht, parallele Refreshes dedupliziert, bei 401 invalidiert + 1x Retry (token-manager.ts / xapi-client.ts)
- HTTP-Transport hat KEIN Eigen-Auth: läuft hinter mcphub (OAuth). Bindet default auf 127.0.0.1 + DNS-Rebinding-Schutz (allowedHosts). Niemals ohne Auth-Proxy auf 0.0.0.0 binden.
Wichtig: Rollen & Berechtigungen
- Dienstprinzipal braucht Rolle Systemeigentümer (System Owner), nicht nur Systemadministrator
- Systemadministrator reicht für: Users, Groups, Trunks, ActiveCalls, SystemStatus, EventLogs, Queues, RingGroups, Contacts
- Systemeigentümer nötig für: ReportCallLogData (Anrufhistorie), ChatHistoryView, Recordings, ScheduledReports (sonst 403)
Ports
- Gehostete Instanzen (*.my3cx.de): Port 443 (Standard-HTTPS)
- Selbst-gehostete Instanzen: typischerweise Port 5001
Verifizierte XAPI Endpoints (V20.0.8.1109)
- GET /SystemStatus — Systemstatus
- GET /Users, GET /Users({Id}), GET /Users(Number='{ext}'), POST /Users, PATCH /Users({Id}), POST /Users/Pbx.BatchDelete
- GET /Users({Id})/ForwardingProfiles — Weiterleitungsprofile
- PATCH /Users({Id}) mit CurrentProfileName — Profil setzen
- GET /Groups, POST /Groups, PATCH /Groups({Id}) — Abteilungen
- GET /Trunks, GET /Trunks({Id}) — SIP-Trunks
- GET /ActiveCalls — Aktive Anrufe
- GET /ReportCallLogData/Pbx.GetCallLogData(...) — Anrufhistorie V20 U6+ (braucht System Owner, liest aus cdr_output)
- CDR StartTime ist UTC → periodFrom/periodTo müssen UTC sein (calls.ts localDayRangeToUtc rechnet lokale Tagesgrenzen korrekt um)
- Report-Cap REPORT_ROW_LIMIT = 20000 Rows (Settings → Parameters, bis 80000). Bei busy Systemen Zeitfenster verengen
- Default-Order ist newest-first; $orderby ist unzuverlässig (lässt neueste Rows weg) → NICHT verwenden, client-seitig sortieren
- Ein logischer Call = mehrere Segment-Rows (gleiche MainCallHistoryId). calls.ts gruppiert zu 1 Row/Call. missedOnly = kein Segment beantwortet (Segment-Status "Unanswered" ≠ verpasster Call)
- GET /CallHistoryView — Nur Alt-Daten vor V20 U6 (cl_*-Tabellen, nicht mehr befüllt nach U6-Upgrade)
- GET /Queues — Warteschlangen
- GET /RingGroups — Ringgruppen
- GET /Contacts — Telefonbuch (supports OData contains() filter)
- GET /EventLogs — System-Ereignisse
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +13 lines · +433 tokens per session 1dad4e2792bf
- 2mo ago First seen · 58 lines · 737 tokens per session scan A 3855e610e858
3cx-mcp-server CLAUDE.md is an instructions file published in the GitHub repository SSIG-IT/3cx-mcp-server (1 stars, last pushed 1mo ago), licensed MIT. It adds 1,170 tokens to every session, about $0.0047 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
3cx-mcp-server CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| 3cx-mcp-server CLAUDE.mdSSIG-IT/3cx-mcp-server | Instructions file | 1 | 1mo ago | MIT | A | 1,170 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |