Yeastar MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_MODE | No | `env` (default, reads the vars above) or `gateway` (credentials arrive per-request via `X-Yeastar-Pbx-Domain`/`X-Yeastar-Client-Id`/`X-Yeastar-Client-Secret` headers, injected by the Conduit gateway). | env |
| LOG_LEVEL | No | `debug` | `info` (default) | `warn` | `error`. | info |
| MCP_TRANSPORT | No | `stdio` (default) or `http`. | stdio |
| YEASTAR_CLIENT_ID | No | OAuth-style Client ID, generated in the PBX web portal under Integrations -> API. | |
| CONDUIT_S2S_SECRET | No | When set, the HTTP transport requires a valid `X-Gateway-S2S` header (Conduit sidecar auth) on every `/mcp` request. | |
| YEASTAR_PBX_DOMAIN | No | This appliance's own domain/IP and port, e.g. `https://pbx.example.com:8088` (default OpenAPI port is 8088). A bare host with no scheme is treated as `https`. | |
| YEASTAR_CLIENT_SECRET | No | OAuth-style Client Secret, generated in the same place. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| yeastar_get_system_informationA | Get this PBX appliance's own identity: model, firmware version, hostname. Useful to confirm which appliance a set of credentials points at. |
| yeastar_get_system_capacityA | Get current extension/trunk/concurrent-call usage against this appliance's licensed capacity limits. |
| yeastar_list_extensionsA | List extensions with basic info: number, caller ID name, email, mobile number, presence status, and per-device online status (FXS, SIP, Linkus desktop/mobile/web). For full per-extension detail (call forwarding rules, voicemail settings, permissions), use yeastar_get_extension. Does NOT include the extension's SIP/portal password - that field is never exposed by this connector. |
| yeastar_get_extensionA | Get full detail for a single extension (call forwarding, voicemail, permissions, device bindings). Requires an extension ID from yeastar_list_extensions. |
| yeastar_list_extension_groupsC | List extension groups. |
| yeastar_get_extension_groupA | Get full detail (member extensions) for a single extension group. Requires an ID from yeastar_list_extension_groups. |
| yeastar_list_trunksB | List trunks (VoIP/ITSP/FXO) configured on this appliance. |
| yeastar_get_trunkA | Get full detail for a single trunk. Requires an ID from yeastar_list_trunks. Any field that looks like a SIP registration secret or password is stripped from the response before it reaches you - this connector never returns trunk auth credentials. |
| yeastar_list_itsp_trunksA | List ITSP (VoIP provider) templates available on this appliance for trunk creation - not this appliance's own configured trunks (use yeastar_list_trunks for those). |
| yeastar_list_inbound_routesA | List inbound call routes (which DID/pattern sends calls to which destination - extension, ring group, IVR, queue, etc). |
| yeastar_get_inbound_routeA | Get full detail for a single inbound route. Requires an ID from yeastar_list_inbound_routes. |
| yeastar_list_outbound_routesA | List outbound call routes (which trunk handles calls matching which dial pattern). |
| yeastar_get_outbound_routeA | Get full detail for a single outbound route. Requires an ID from yeastar_list_outbound_routes. |
| yeastar_list_ivrsC | List IVR (auto-attendant) menus. |
| yeastar_get_ivrA | Get full detail (key press mapping, prompts, timeout destination) for a single IVR. Requires an ID from yeastar_list_ivrs. |
| yeastar_list_ring_groupsB | List ring groups (a set of extensions that ring together on an incoming call). |
| yeastar_get_ring_groupA | Get full detail (member extensions, ring strategy, timeout destination) for a single ring group. Requires an ID from yeastar_list_ring_groups. |
| yeastar_list_queuesB | List call queues. |
| yeastar_get_queueA | Get full configuration (strategy, timeout, member agents) for a single queue. Requires an ID from yeastar_list_queues. |
| yeastar_get_queue_call_statusA | Get the current live call state of a queue: calls waiting, calls in progress, wait times. A read of current state - does not join, transfer, or otherwise touch any call. Requires an ID from yeastar_list_queues. |
| yeastar_get_queue_agent_statusA | Get the current login/pause/busy state of each agent in a queue. A read of current state - does not log an agent in, out, or change their pause state. Requires an ID from yeastar_list_queues. |
| yeastar_list_company_contactsA | List the company-wide contact directory (shared contacts visible to all extensions - distinct from any individual extension's personal phonebook, which this connector does not expose). |
| yeastar_list_cdrA | List call detail records (CDR): who called whom, when, duration, disposition. Optionally bound by start_time/end_time. Uses the openapi/v1.0 CDR surface - this connector does not target the separate v2.0 CDR API. Does not include recording audio (recording endpoints are not implemented by this connector). |
| yeastar_list_call_reportsA | List aggregated call reports (summary call statistics), optionally bound by start_time/end_time. Distinct from yeastar_list_cdr, which returns individual call records rather than aggregates. |
| yeastar_list_backupsA | List configuration backup metadata for this appliance (name, created time, size) - for monitoring backup health (e.g. "when did the last backup run"). Does not return the backup file contents; backup/download is never implemented by this connector, since a backup file can embed configuration secrets. |
| yeastar_list_certificatesA | List TLS certificate metadata for this appliance (name, domain, expiry date) - for monitoring certificate expiry. Does not return private key material; certificate/get is never implemented by this connector. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Every tool targets a distinct PBX resource or status view, and list/get pairs are clearly separated. Potentially confusable pairs such as trunks vs ITSP trunks, CDR vs call reports, and queue call status vs queue agent status are explicitly distinguished in their descriptions.
All tools share the yeastar_ prefix and consistently use list_<resource> for collections and get_<resource> for single-item details. Extended names like get_queue_call_status and get_queue_agent_status follow the same predictable resource-plus-modifier pattern.
26 tools is high, but the set is a systematic list/get pair for each major PBX resource plus a few dedicated monitoring reads. It sits just above the comfortable range, yet each tool earns its place and the count is not bloated or redundant.
As a deliberately read-only inspection and monitoring surface, it covers the major PBX objects: extensions, groups, trunks, routes, IVRs, ring groups, queues, contacts, CDR, reports, backups, and certificates. Minor gaps remain around recordings, voicemail message details, and write/provisioning operations, but those appear intentionally excluded.