{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/threecx-mcp","description":"3CX for MSPs: trunk, licence, version and backup health across every client phone system.","title":"3CX MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/threecx"},"version":"0.1.0","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/threecx/threecx-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/threecx-v0.1.0/threecx-mcp.mcpb","version":"0.1.0","fileSha256":"d97dfbbde78015b31cb873de7ac6f08ca389e28947fad04f3d129c0e98c7c2da","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set the THREECX_CLIENT_ID credential for the 3CX MCP server.","isRequired":true,"isSecret":true,"name":"THREECX_CLIENT_ID"},{"description":"Set the THREECX_CLIENT_SECRET credential for the 3CX MCP server.","isRequired":true,"isSecret":true,"name":"THREECX_CLIENT_SECRET"},{"description":"Host name of the 3CX phone system (for example pbx.example.com), the {fqdn} in https://{fqdn}/xapi/v1.","isRequired":true,"name":"THREECX_FQDN"},{"description":"Optional. Full XAPI base URL. Leave blank: the CLI builds https://<THREECX_FQDN>/xapi/v1. Set it only to point at a different host or port.","name":"THREECX_BASE_URL"},{"description":"Optional. Token endpoint the client-credentials exchange posts to. Leave blank: the CLI uses the phone system's own /connect/token. It must be on the same host as the API.","name":"THREECX_TOKEN_URL"},{"description":"Optional. Scope sent with the client-credentials exchange. Leave blank to send none.","name":"THREECX_OAUTH_SCOPE"},{"description":"Optional. Absolute path of the directory holding the registry of client phone systems used by the fleet commands. Leave blank to use the CLI's config directory.","name":"THREECX_FLEET_DIR"},{"description":"Optional. Name of one phone system registered with fleet add; the server then uses that PBX's host, client ID and secret variable (the same as --pbx). Leave blank to use THREECX_FQDN and the credentials above.","name":"THREECX_PBX"},{"description":"Optional. Set to exactly 1 to expose only read-only tools and refuse any state-changing execute call.","name":"THREECX_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API and the response cache is off.","name":"THREECX_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment). Callers must send a matching Authorization: Bearer header. Not needed for the default local stdio transport that Claude Desktop uses.","isSecret":true,"name":"THREECX_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends on 3CX requests. Leave blank to use the CLI's own built-in User-Agent.","name":"THREECX_USER_AGENT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-06T11:04:33.257937Z","publishedAt":"2026-11-06T11:04:33.257937Z","updatedAt":"2026-11-06T11:04:33.257937Z","isLatest":true}}}
