Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Yeastar P-Series PBX

von WYRE-AIVersion 1.0.2i★ –iLäuft auf deinem Computer
Name in der Registryio.github.WYRE-AI/yeastar-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

MCP server for Yeastar P-Series PBX System API (read-only).

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges
  • Das musst du eintragen: YEASTAR_PBX_DOMAIN, YEASTAR_CLIENT_ID, YEASTAR_CLIENT_SECRET

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: YEASTAR_PBX_DOMAIN, YEASTAR_CLIENT_ID, YEASTAR_CLIENT_SECRET, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "yeastar": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YEASTAR_PBX_DOMAIN",
        "-e",
        "YEASTAR_CLIENT_ID",
        "-e",
        "YEASTAR_CLIENT_SECRET",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/yeastar-mcp:v1.0.2"
      ],
      "env": {
        "YEASTAR_PBX_DOMAIN": "your-value",
        "YEASTAR_CLIENT_ID": "your-value",
        "YEASTAR_CLIENT_SECRET": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add yeastar --env YEASTAR_PBX_DOMAIN=your-value --env YEASTAR_CLIENT_ID=your-value --env YEASTAR_CLIENT_SECRET=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e YEASTAR_PBX_DOMAIN -e YEASTAR_CLIENT_ID -e YEASTAR_CLIENT_SECRET -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/yeastar-mcp:v1.0.2

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "yeastar": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YEASTAR_PBX_DOMAIN",
        "-e",
        "YEASTAR_CLIENT_ID",
        "-e",
        "YEASTAR_CLIENT_SECRET",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/yeastar-mcp:v1.0.2"
      ],
      "env": {
        "YEASTAR_PBX_DOMAIN": "your-value",
        "YEASTAR_CLIENT_ID": "your-value",
        "YEASTAR_CLIENT_SECRET": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "yeastar": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YEASTAR_PBX_DOMAIN",
        "-e",
        "YEASTAR_CLIENT_ID",
        "-e",
        "YEASTAR_CLIENT_SECRET",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/yeastar-mcp:v1.0.2"
      ],
      "env": {
        "YEASTAR_PBX_DOMAIN": "your-value",
        "YEASTAR_CLIENT_ID": "your-value",
        "YEASTAR_CLIENT_SECRET": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • YEASTAR_PBX_DOMAIN erforderlich env
    This appliance's own domain/IP and port, e.g. https://pbx.example.com:8088. Each customer's PBX is its own instance - there is no shared hosted endpoint.
  • YEASTAR_CLIENT_ID geheim erforderlich env
    OAuth-style Client ID, generated in the PBX web portal under Integrations -> API.
  • YEASTAR_CLIENT_SECRET geheim erforderlich env
    OAuth-style Client Secret, generated in the PBX web portal under Integrations -> API.
  • MCP_TRANSPORT env
    Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
  • AUTH_MODE env
    Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
  • LOG_LEVEL env
    Log verbosity: debug, info, warn, error

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto WYRE-AI bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 18722 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 71 % der anderen 18722 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 18722 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Yeastar P-Series PBX sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: YEASTAR_PBX_DOMAIN, YEASTAR_CLIENT_ID, YEASTAR_CLIENT_SECRET

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.0.2) kam vor 18 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Docker auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, alalanet — check before you pay

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

von formulahendryAm Anfang↓ 66/Wo.★ 440Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

von desktop-commanderWachsend★ 211Aktualisiert vor 4 Tagen

Läuft in der Cloud✓ desktopcommander.app

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

Yeastar MCP Server

MCP server for the Yeastar P-Series PBX System OpenAPI - read-only visibility into extensions, extension groups, trunks, inbound/outbound routes, IVR menus, ring groups, queues (including live call/agent status), the company contact directory, call detail records (CDR), call reports, backup metadata, and certificate metadata, for AI assistants and the WYRE Conduit gateway.

Appliance/Edition Scope

This connector targets the P-Series Appliance Edition's OpenAPI, base path `openapi/v1.0`. Per Yeastar's own developer docs (help.yeastar.com, "P-Series Appliance Edition Developer Guide"), the API is only supported on:

  • Hardware models P550, P560, and P570 running PBX firmware 37.7.0.16 or later. Other Appliance Edition hardware (e.g. P510) is not documented as supporting the API at all - the docs state functionality "is only supported on P550, P560, and P570" without qualification.
  • The docs do not describe any narrower per-endpoint model restriction beyond that - every endpoint this connector implements is covered by the same P550/P560/P570 + firmware-37.7.0.16+ statement.

Cloud Edition is a separate product with its own developer guide and its own OpenAPI surface (same openapi/v1.0 base path structure, firmware requirement documented as 84.7.0.17+), which this connector's request/response shapes were not independently verified against - Appliance and Cloud Edition guides diverge in places (e.g. Cloud Edition additionally documents a v2.0 CDR surface not covered here). If a customer runs Cloud Edition, treat this connector as unverified, not confirmed-incompatible - most of the base OpenAPI mechanics (token exchange, response envelope, pagination) are described identically in both guides, but no endpoint here has been tested against a live Cloud Edition instance.

Software Edition (self-hosted, non-appliance) and any other P-Series variant are out of scope - not mentioned in the Appliance Edition API-support statement above, and not evaluated for this connector.

If a customer's actual hardware/edition is unknown, verify against the PBX web portal (Settings -> About, or the model shown in yeastar_get_system_information) before assuming this connector will work - a PBX outside P550/P560/P570 (Appliance) or Cloud Edition will very likely reject get_token outright with the API feature toggle unavailable in its portal at all.

Authentication

Each Yeastar P-Series PBX is its own appliance, with its own domain/IP and its own credentials - there is no shared hosted API endpoint. A customer enables the API themselves in their PBX's web portal (Integrations -> API, toggle "API" on) and generates a Client ID and Client Secret there. This is not a browser-based OAuth consent flow - the customer pastes the resulting Client ID/Secret directly into the connect form, the same shape as this fleet's other self-hosted/BYO-instance connectors (e.g. Hudu, IT Glue), not the shared-app Authorization Code flow used for SaaS vendors like Cork.

This connector exchanges the Client ID/Secret for a short-lived access token itself - it never proxies them directly into a PBX request. Per Yeastar's docs (POST /openapi/v1.0/get_token), the wire format is genuinely {"username": " ", "password": " "} - Yeastar's own docs are explicit that these fields *are* the Client ID/Secret ("obtain the username from the Client ID on PBX web portal"), not a separate credential; this connector preserves that field naming rather than renaming it, since it's what the vendor's API actually expects on the wire.

Token lifetime and caching. Access tokens expire after 30 minutes; refresh tokens after 24 hours. Yeastar also caps each application to 8 simultaneous valid tokens. Because of that cap, this connector does not mint a fresh token on every tool call - src/client.ts caches the access token in memory, keyed by appliance + Client ID + Client Secret, and reuses it across calls until it's within 60 seconds of expiring. On a TOKEN EXPIRED response (errcode 10004), it transparently mints a fresh token and retries the failed call exactly once. This is a deliberate deviation from the pattern in this fleet's other connectors (which mint per-request or hold a single static key) - it exists because Yeastar's token model genuinely requires it, not as an optimization for its own sake: without caching, any session making more than 8 tool calls within a 30-minute window would start failing with MAX LIMITATION EXCEEDED (errcode 60002) from Yeastar itself.

In gateway mode, the three credential fields arrive per-request via X-Yeastar-Pbx-Domain / X-Yeastar-Client-Id / X-Yeastar-Client-Secret headers, injected by the Conduit gateway. A /mcp request missing any of those headers is rejected with 401 and does not fall back to YEASTAR_* in the process environment. In local/stdio mode, and in HTTP AUTH_MODE=env, they're read from YEASTAR_PBX_DOMAIN / YEASTAR_CLIENT_ID / YEASTAR_CLIENT_SECRET.

HTTP also requires service-to-service auth. With CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The header value is t= ,v1= . The MAC is HMAC-SHA256 over the ASCII message t= (the same t= prefix that appears in the header), keyed by CONDUIT_S2S_SECRET, and encoded as lowercase hex. The timestamp must be within 300 seconds of the server clock. A missing or invalid header returns 401 before vendor credentials are read. The secret is never written to logs. /health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.

Request limits
  • HTTP request bodies are capped at 256 KiB (262144 bytes). After the X-Gateway-S2S check passes (and, in gateway mode, the X-Yeastar-* credential headers are present), a Content-Length above the cap returns 413 with a JSON-RPC error; bodies without Content-Length are capped by the MCP SDK transport. Unauthenticated requests still get 401 first.
  • tools/call arguments are capped at 10,000 elements (every array item and object key at any depth). Larger inputs return a fixed isError tool result ("Tool input exceeds the maximum of 10000 elements") that does not echo the tool name, and are never dispatched.

These limits address CVE-2026-111768 / GHSA-46jr-4wx8-v453 (memory exhaustion during validation) and GHSA-f897-62hf-6gxq (no request body / batch cap).

Every request also passes a mandatory `User-Agent: OpenAPI` header - Yeastar's API rejects requests missing it (errcode 40002, "PARAMETER ERROR").

Defensive field-stripping. Trunk configuration commonly carries SIP registration secrets (auth/register passwords) inline in the same object a read returns, and Yeastar's schema for these objects isn't machine-verifiable from the docs alone. Every response from every tool in this connector - not just trunk tools - passes through stripSecretFields() before it ever reaches the model: any object key matching /secret|password|pwd/i, at any depth, is dropped. This is a blanket safety net on top of, not instead of, the endpoint-level exclusions below (extension/getpassword and conference/viewpassword are never called at all).

Credential-scope finding

Structurally verified (this codebase): this connector's src/client.ts implements exactly one HTTP verb function, doGet - there is no doPost/doPut/doDelete anywhere in this codebase, so it is *incapable* of issuing a write/control/delete request to the PBX regardless of what the credential itself is permitted to do. src/__tests__/tool-scope.test.ts pins the exact 26-tool set and asserts no tool name matches a write/control/credential-exposing token list.

Vendor-documented, not independently verified: whether the PBX's own admin portal offers any way to scope a Client ID/Secret pair to read-only access is not documented. Per help.yeastar.com's "Enable Yeastar P-Series PBX API" page, enabling the API surfaces exactly one toggle ("API" on/off) plus an optional IP-restriction allowlist and status-monitor configuration - no permission-group, role, or scope selection is described anywhere in that flow. This differs from e.g. Cisco Duo (cisco-duo-mcp), where the vendor's own admin panel offers explicit Grant Read Resource / Grant Write Resource toggles per integration. The practical implication: a Client ID/Secret pair generated for this connector is, as far as Yeastar's own documentation shows, capable of the PBX's full write/control API even though this connector's code never exercises that capability. The only vendor-side compensating control documented is the optional IP-restriction allowlist (scope the credential to only be usable from Conduit's egress IP(s)) - recommend enabling it. If a narrower credential-scoping mechanism does exist and simply isn't documented publicly, it wasn't found during this connector's build and should be treated as unconfirmed.

Configuration

Env varDescription
YEASTAR_PBX_DOMAINThis 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_IDOAuth-style Client ID, generated in the PBX web portal under Integrations -> API.
YEASTAR_CLIENT_SECRETOAuth-style Client Secret, generated in the same place.
MCP_TRANSPORTstdio (default) or http.
AUTH_MODEenv (default, reads the vars above) or gateway (credentials arrive per-request via X-Yeastar-Pbx-Domain/X-Yeastar-Client-Id/X-Yeastar-Client-Secret). Gateway mode returns 401 when any of those headers is missing and never falls back to YEASTAR_*. The container image and Compose default to gateway.
CONDUIT_S2S_SECRETRequired to start the HTTP transport. The process logs an error and exits non-zero when this is empty or a known placeholder (changeme, secret, replace-me, your-s2s-secret, and the other public example values). Compose will not start when it is unset. Never commit a real value.
MCP_ALLOW_INSECURE_DEVSet to exactly 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, does not enforce X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST (including 0.0.0.0) refuses to start. A known placeholder secret still refuses to start when this flag is set.
MCP_HTTP_HOSTBind address when a real CONDUIT_S2S_SECRET is set. Unset keeps the historical 0.0.0.0 bind. The container image and Compose set 0.0.0.0 inside the container and publish the host port on 127.0.0.1. Without a secret, the insecure-dev bypass listens on 127.0.0.1 only and refuses a non-loopback value.
MCP_HTTP_PORTHTTP port. Defaults to 8080.
LOG_LEVELdebug \info (default) \warn \error.

Tools

All 26 tools are read-only. yeastar_get_trunk is additionally classified sensitive in Conduit's VENDOR_TOOL_CONFIG given trunk config's proximity to telephony secrets, even after field-stripping.

System
  • yeastar_get_system_information - this appliance's model, firmware version, hostname.
  • yeastar_get_system_capacity - current usage against licensed extension/trunk/concurrent-call capacity.
Extensions
  • yeastar_list_extensions - list extensions with basic info and per-device online/presence status.
  • yeastar_get_extension - full detail for a single extension (never includes its password).
Extension Groups
  • yeastar_list_extension_groups - list extension groups.
  • yeastar_get_extension_group - full detail (member extensions) for one group.
Trunks
  • yeastar_list_trunks - list configured trunks.
  • yeastar_get_trunk - full detail for a single trunk, with secret-shaped f

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen