Skip to main content
Glama

☎️ five9-mcp

Ihr Five9-Contact-Center – in den Händen Ihrer KI.

Ein Open-Source-MCP-Server, der Claude, ChatGPT oder einen beliebigen MCP-Client mit dem Five9-Cloud-Contact-Center verbindet – betrieben auf Cloudflare Workers mit null Abhängigkeiten.

License: MIT Runtime Dependencies MCP Tools

Schnellstart · Claude verbinden · ChatGPT verbinden · Tools · Architektur


Stellen Sie Ihrer KI Fragen wie:

„Wer ist gerade in einem Anruf, und wie tief ist die Vertriebs-Warteschlange?“ 📊 „Erstellen Sie eine Vorschau-Kampagne für die Win-Back-Liste, hängen Sie den Vertriebsskill an und starten Sie sie.“ 🛠️ „Stoppen Sie die OUTBOUND_AGED-Kampagne und fügen Sie diese 3 Leads zur Rückruf-Liste hinzu.“ 📞 „Bringen Sie den neuen Agenten an Board: Legen Sie den Benutzer an und weisen Sie den Billing-Skill auf Stufe 2 zu.“ 🧑💼 „Steht 555-867-5309 auf unserer DNC-Liste? Prüfen Sie das, bevor die Nummer gewählt wird.“ 🚫 „Rufen Sie den Call-Log-Bericht von gestern ab und fassen Sie die Abandon-Raten zusammen.“ 📈 „Bauen Sie mir eine komplette IVR: Option 1 Terminplanung, Option 2 Abrechnung, außerhalb der Geschäftszeiten geht es zur Voicemail.“ 🧩

Unter der Haube spricht dieser Server Five9 Configuration (Admin) und Statistics (Supervisor) SOAP-Web-Webdienste – dieselben APIs, die bis heute die Five9-Admin-Oberfläche betreiben – und stellt sie als saubere JSON-Tools über MCP Streamable HTTP bereit. Handgebaute Envelopes, ein XML-Parser mit rund 60 Zeilen, keine npm-Pakete. Jedes Tool wurde gegen eine Live-Five9-Umgebung getestet.

✨ Integrierte Web-UI

Stellen Sie den Worker bereit, und er liefert mehr als eine API:

Seite

Was Sie erhalten

/

Eine aufgeräumte Landing Page: Live-Serverstatus, diese Einrichtungsanleitung, Schritt-für-Schritt-Anbindungsläufe für KI und der vollständige Werkzeugkatalog

/setup

Der Setup-Assistent – Five9-Zugangsdaten im Browser eingeben, live verifizieren lassen, Access Key erhalten. Kein Terminal, keine Secret-Befehle

/console

Eine interaktive Konsole – Access Key einfügen, eines der 77 gruppierten Tools wählen, ein aus dem Schema erzeugtes Formular ausfüllen und es direkt im Browser gegen Ihre Live-Five9-Umgebung ausführen

/mcp

Der MCP-Endpunkt selbst (Streamable HTTP, zustandsfrei)

/health

JSON-Healthcheck

Die Konsole ist der schnellste Weg, um Zugangsdaten zu testen, die Ausgaben der Tools zu erkunden oder eine Kampagne zu debuggen – ganz ohne KI.

Related MCP server: five9-mcp

🚀 Schnellstart – kein Terminal nötig

Sie benzert ein kostenloses Cloudflare-Konto und einen Five9-Benutzer mit API-Zugriff –ereigen Sie einen dedizierten Five9-API-Benutzer ein, der genau die Berechtigungen erhält, die die KI haben soll, und auf einen persönlichen Admin-Login verzichtenpäd.hat.

1 – Bereitstellung auf Cloudflare (ein Klick, in Ihrem Browser)

Deploy to Cloudflare

Melden Sie sich bei Cloudflare an und klicken Sie sich durch: Die Bereitstellung erstellt eine eigene Kopie dieses Workers (einschließlich des benötigten KV-Namespace) und gibt Ihnen eine URL wie https://five9-mcp.yourname.workers.dev.

2 – Setup-Assistent ausführen (in Ihrem Browser)

Open /setup auf Ihrem neuen Server. Geben Sie Ihren Five9-Benutzernamen, das Passwort und die Region ein – der Assistent prverifiziert die Daten live gegen Five9, bevor er sie speichert, und übergibt Ihnen anschließend Ihren Zugriffsschlüssel (wird nur einmal anzeigt – hebden Sie ihn in einem Passwort-Manager sicher auf).

3 – Ihre KI verbinden (Anbindungsanleitungen unter) und fragen Sie sie z. B.: „Prüfe the Verbindung and listest meine Kampagne auf." 🎉

git clone https://github.com/ryanshatz/five9-mcp
cd five9-mcp
npx wrangler deploy   # provisions the CONFIG KV namespace on first deploy

Nutzen Sie dann entweder den /setup-Assistenten oder überspringen Sie ihn und verwalten Sie die Zugangsbasierte Daten als Wrangler-Secrets (Secrets haben Vorrang vor dem Assistenten):

npx wrangler secret put FIVE9_USERNAME   # e.g. apiuser@yourdomain
npx wrangler secret put FIVE9_PASSWORD
npx wrangler secret put MCP_AUTH_TOKEN   # a long random string — this is the key to your server

Die Standardwerte stehen in wrangler.toml und funkfür US-Regionen:

  • Standard | Hinweise

  • FIVE9_API_HOST | Standard: api.five9.com | EU: api.eu.five9.com · Kanada: api.ca.five9.com

  • FIVE9_ADMIN_VERSION | Standard: v13 | Config-Web-Services-WSDL-Version

  • FIVE9_SUPERVISOR_VERSION | Standard: v13 | Statistics-Web-Services-CCSDL-Version

🔌 Verbinden Sie Ihre KI

Claude verbinden (Web & Desktop)

Benutzerdefinierte Connector gibt es in den Tarifen Free (ein Connector), Pro, Max, Team und Enterprise.

  1. Öffnen Sie in claude.ai oder der Claude-Desktop-App Einstellungen → Connectors.

  2. Klicken Sie auf Custom Connector hinzufügen.

  3. Nennen Sie ihn Five, und fügen Sie die URL Ihres Servers einschließlich des /mcp- Pfads ein: https://<your-worker>.workers.dev/mcp.

  4. Klicken auf Hinzufügen und dann auf Verbinden. Claude erstellt das integrierte OAuth dieses Servers automatisch und pffnet die Autorisierungsseite.

  5. Auf den B griff auf 🔐 fyein9-mcp den MCP_AUTH_TOKEN als Zugriffsschlüssel ein und klicken Sie auf Autorisieren.

  6. In einem Chat geöffnet Menü Suche & Tools (+) und stellen Sie sicher, dass der Five9-Connector aktiviert ist.

Windows-/Enterprise-KKunden: Ein Owner fügt der Connector zunächst unter Organisationseinstellungen → Connector hinzu; Mitglieder klicken dann in ihren eigenen Einstellungen auf Verbinden, um to Authorize.

ChatGPT verbinden

Benutzerdefinierte MCP-Connectors sind im Entwicklermodus, möglich (Plus/Pro; in Business/Enterprise achten Admins populationend erst).

  1. Öffnen Sie [ChatGPT] (https://chatgpt.com) im Browser Einstellungen → Apps & Connectors (manchmal nur Connectors).

  2. Aktivieren Sie unter Erweiterte Einstellungen den Entwicklermodus.

  3. Klicken Sie auf die Connectors-Seite Erstellen.

  4. Nennen Sie den Connector Five9, setzen The MCP-Server-URL auf https://<your-worker>.workers.dev/mcp and select the OAuth authentication.

  5. Bestätigen Sie den Vertrauenshinweis weiden Sie speichern. ChatGPT pffnet die Autorisierungsseite dieses Servers – fügen Sie Ihren MCP_AUTH_TOKEN ein und klicken Sie auf Autorisieren.

  6. In a new chat sie funnel plus /Tools-Menü open and the Five connector activation (connectors of the developer mode are enabled pro conversation). Teaser p passes each tool call from ChatGPT – sensible if you do start a few jobs. 😄

Claude Code verbinden

claude mcp add --transport http five9 https://<your-worker>.workers.dev/mcp \
  --header "Authorization: Bearer <your MCP_AUTH_TOKEN>"

Der rohe Schlüssel funktioniert direkt als Bearer-Token – kein OAuth-Tanz. Führen Sie in Claude Code /mcp aus, um die Verbindung zu prüfen.

Diesiges anderes MCP-Clienten

Jede MCP-Streamable-HTTP-Integration funktioniert – führen Sie den OAuth-Ablauf durch oder send Sie den Zugriffsschlüssel als Bearer-Token:

curl -X POST https://<your-worker>.workers.dev/mcp \
  -H "Authorization: Bearer <MCP_AUTH_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_connection","arguments":{}}}'

src/oauth.js implementiert einen minimalistischen OAuth 2.1-Authorisierungsserver (Bekanntmachungsermittlung, dynamische Client-Registrierung PKCE TE S256, Refresh-Tokens) eing für einzelne Betreiber models:

  • Das „Login“ auf dem Zustimmbildschirm ist der Zugriffsschlüssel des Servers (MCP_AUTH_TOKEN).

  • Alles ist zustandslos – Client-IDs, Auth-Codes und Token sind mit MCP_AUTH_TOKEN signierte HMAC-SHA256-Blobs. Keine KV, keine Durable Objects.

  • Beide Auth-Wege funktionieren gleichzeitig: OAuth-ausgestellte Token und der rohe Key als Betrag.

  • Widerrufe everything auf once, as the secret rotatieren: npx wrangler secret put MCP_AUTH_TOKEN.

🧰 Die Toolbox

77 Werkzeuge. 🟢 = read-only (immer sicher) · ✏️ = schreibend (verändert Ihre Umgebung – die server weist die KI an, dies vorher mit Ihnen abzustreichen)

69 SOAP-Tools (Benutzername/Passwort) + 8 OAuth-New-Platform-REST-Tools (Consumer-Key/-Secret – siehe OAuth New Platform APIs).

Der Clou: Beschreiben Sie einen Anrufablauf in einen Absatz, und die KI entwirft ihn daraus, zeigt ein Mermaid-Diagramm im Chat und implementiert ein lauffähiges IVR-Script. Damit das Modell das gege Überbegriff mit „Five9-IVR-XML“ erfindet: Es füllt eine begrenzte JSON-Flow-Spezifikation (play / menu / ruftym / business hours / skill transfer / voicemail / hangup), ein Tool prüft als Graph jede Verzweigung und Referenz, und deterministischer Code erzeugt das XML in Designer-Form – alle Modulverbindungen, Formatierung eines Hi-Fi-Formats with a15; verwendung und Feldreihenfolge werden aus realen exportierten Skripten abgeleitet.

Werkzeug

Was es tut

🟢

validate_ivr_flow

Ein Flow-Entwurf wird als Graph geprüft und verifiziert, dass referenzierte Skills/Promps in der Umgebung vorhanden sind

🟢

render_ivr_flow

Einen Flow-Entwurf oder ein bestehendes IVR-Skript als Mermaid-Flussdiagramm darstellen

✏️

build_ivr_script

Das komplette Skript-XML zusammenstellen und in der Umgebung itzen (mit dry_run vorab zu prüfen)

✏️

generate_prompt_audio

Eine Ansage mit neuer KI-Stimme vertonen und als Five9-kompatible G.711-u-law-WAV-Datei hochladen. Kein API-Key nötig: betrieben bei Cloudflare Workers AI (Deepgram Aura, und 40 Voices) intern in your Worker

Empfohlener Ablauf: validate → render (erst dem Menschen zeigen!) → prompts generieren → build → in einer Inbound-Kampagne zuordnen. generate_prompt_audio funktioniert out of the box mit Cloudflare Workers AI; kein extern TTS-Programm und kein API-Key, nur Bruchteile eines Cents pro Ansage, die über das bereits eingerichtete Cloudflare-Konto verarbeitet werden. ElevenLabs/OpenAI funktionieren ebenfalls, wenn Sie den passenden Schlüssel-Secret setzen, und {tts}-Prompts (die eingebaute Roboter-Stimmt von Five9) benötigen nichts weiter.

Tool

Was es tut

🟢

about

KI-Operator: Wer betreibt diesen Server, und welche Richtlinien gelten?

🟢

check_connection

Prüft Five9-Zugangsdaten und gibt sichtbare Skillsstärke zurück

🟢

get_api_usage

Aktuelle Five9-API-Auslastungszähler im Vergleich zu den Grenzwerten

Werkzeug

Was es tut

🟢

list_campaigns

Kampagnen auflisten (Name, Typ, Status, Modus)

🟢

inspect_campaign

Status + zugehörige Listen + DNIS in einem Aufruf

🟢

get_campaign_details

Vollständige Kampagnenkonfiguration (Wahlmodus, Verhältnisse, Aufnahme, Nacharbeit)

✏️

create_campaign

Outbound- oder Inbound-Kampagnen erstellen, BASIC oder ADVANCED

✏️

modify_campaign

Beliebige Kampagneneinstellung ändern — Auslesen-Ändern-Schreiben, nur die Änderungen übergeben

✏️

rename_campaign

Kampagne umbenennen

✏️

delete_campaign

Kampagne löschen

✏️

control_campaign

start / stop / force_stop / reset / reset_list_positions

✏️

manage_campaign_lists

Wahllisten mit Priorität anhängen/lösen

✏️

manage_campaign_skills

Routing-Skills auf einer Kampagne hinzufügen/entfernen

✏️

manage_campaign_dnis

Eingehende Nummern anhängen/entfernen

✏️

manage_campaign_dispositions

Agentendispositionen auf einer Kampagne hinzufügen/entfernen

🟢

list_campaign_profiles

Kampagnenprofile auflisten (ANI, Versuche, Timeouts)

✏️

manage_campaign_profile

Kampagnenprofile erstellen / ändern / löschen

✏️

manage_campaign_profile_filter

Auswahlkriterien und Wahlreihenfolge eines Profils lesen / bearbeiten

Werkzeug

Beschreibung

🟢

list_dialing_lists

Wahllisten und Datensatzzahlen auflisten

✏️

create_list / delete_list

Anwahlliste erstellen oder löschen

✏️

add_record_to_list

Einen Lead in eine Liste einfügen (Async-Import)

✏️

add_records_to_list

Viele Leads in einem async-Import hinzufügen (konfigurierbare CRM/List-Modi)

✏️

delete_record_from_list

Passende Datensätze aus einer Liste entfernen

🟢

get_import_result

Ergebnis eines Async-Listen-/CRM-Imports

Werkzeug

Was sie tut

🟢

search_contacts

Kontakte anhand exakter Feldwerte suchen

✏️

update_contact

Kontakt aktualisieren (Standard: Sicherheit durch eindeutige Übereinstimmung)

✏️

bulk_update_contacts

Viele CRM-Kontakte in einem async-Import aktualisieren (Abfrage mit Typ "crm")

✏️

delete_contact

Kontakt löschen (nur bei genau einem Treffer)

🟢

list_contact_fields

Das FeldSchema der Kontakte der Domain

✏️

manage_contact_field

Eigene CRM-Felder erstellen / ändern / löschen

Werkzeug

Was sie tut

✏️

manage_dnc

Nummern in der Domain-DNC-Liste prüfen / hinzufügen / entfernen

🟢

get_dialing_rules

Domain-Wahlregeln (Zeit-/Bundesstaats-Einschränkungen)

Werkzeug

Was sie tut

🟢

list_users

Benutzer mit allgemeinen Informationen auflisten

🟢

get_user_details

Vollständiger Datensatz eines Benutzers: Rollen, Skills, Gruppen

✏️

create_user

Benutzer mit Rollen, Skills und Gruppen erstellen

✏️

modify_user

Benutzerdaten bearbeiten — nur die Änderungen übergeben

✏️

delete_user

Benutzer löschen

🟢

list_user_profiles

Rollen-/Berechtigungsvorlagen

🟢

list_skills / get_skill_details

Skills, mit oder ohne zugewiesene Benutzer

✏️

manage_skill

Skills erstellen / ändern / löschen

✏️

manage_user_skills

Skills Benutzern zuweisen, Stufen setzen

✏️

set_user_roles

Rollen zuweisen / entziehen (agent, admin, supervisor, reporting, crmManager) mit Berechtigungs-Tabs

🟢

list_user_competenzen

Agentengruppen + Mitglieder

✏️

manage_agent_group

Gruppen erstellen / löschen, Agenten hinzufügen / entfernen

✏️

manage_reason_code

Nicht bereit / Logout Reason-Codes

Werkzeug

Was tun

🟢

list_dispositions

Anruf-Dispositionen und deren Einstellungen

✏️

manage_disposition

Dispositionen erstellen / ändern / umbenennen / löschen (inkl. Rückwahltimer)

🟢

list_ivr_scripts / get_ivr_script

IVR-Skripte — Metadaten oder das vollständige XML eines Skripts

✏️

manage_ivr_script

IVR-Skripte erstellen / ändern / löschen (eine vollständige xmlDefinition übertragen)

🟢

list_prompts

Sprachansagen auf der Domain

✏️

manage_tts_prompt

Text-to-Speech-Ansagen erstellen / ändern / löschen

✏️

manage_wav_prompt

Vorgefertigte WAV-Ansagen erstellen / ändern / löschen (Base64; G.711 µ-law 8 kHz mono)

🟢

list_dnis

Bereitgestellte eingehende Nummern (optional nur nicht zugeordnete)

🟢

list_call_variables

Anrufvariablen und Variablengruppen

✏️

manage_call_variable

Eigene Anrufvariablen erstellen / löschen

🟢

list_web_connectors

Web-Connector-Integrationen

✏️

manage_web_connector

Web-Connector erstellen / löschen (URL-Pop-ups, die von Agenten ausgelöst werden)

✏️

manage_speed_dial

Speed-Dial-Codes auflisten / erstellen / löschen

🟢

get_vcc_configuration

VCC-Einstellungen auf Domain-Ebene

Werkzeug

Was tun

🟢

run_report

Bericht nach Ordner + Name starten, optionaler Zeitraum

🟢

get_report_result

CSV-Ausgabe des Berichts abfragen

🟢

get_realtime_stats

AgentState, ACDStatus, CampaignState, Kampagnenstatistiken (inkl. Dialer-Manager- und Autodial-Ansichten)

Diese Tools verwenden die modernen OAuth-2.0-"New-Platform"-REST-APIs von Five9, nicht die SOAP-APIs. Sie erfordern eine API-Access-Control-Zugangsdaten (Consumer Key/Secret), nicht das SOAP-Benutzerkonto/Passwort — siehe OAuth New Platform APIs.

Werkzeug

Was tun

🟢

rest_check_connection

OAuth-Zugangsdaten verifizieren — erwirbt ein Bearer-Token (keine Domain-Daten)

🟢✏️

rest_call

Allgemeiner authentifizierter Aufruf an einen beliebigen New-Platform-Endpunkt (Methode + Pfad + Body), mit Rate-Limit/Backoff und ETag-Unterstützung

🟢✏️

manage_circles

Circles — listen / abrufen / erstellen / löschen (kein SOAP-Pendant)

🟢

list_np_prompts

Sprachansagen über die New-Platform-Prompts-API (paginiert)

🟢

list_interaction_dispositions

Dispositionen über die Interactions-API (detaillierter als die SOAP-Liste; schreibgeschützt)

🟢

get_domain_info

Domain-Metadaten (ID, Name, Mandant, Service-Endpunkte)

🟢

list_data_tables

Data Tables (strukturierte Nachschlagetabellen; kein SOAP-Pendant) — verwendet eine separate data-tables-Zugangsdaten

🟢

get_data_table_rows

Zeilen einer Data Table anhand der ID (paginiert)

🟢 OAuth New-Platform-APIs

Neben den SOAP-Werkzeugen kann der Server die neueren OAuth-2.0-New-Platform-REST-APIs von Five9 aufrufen (z. B. Circles, Interactions, Prompts, Domain-Metadaten). Diese verwenden eine andere Zugangsdaten als den SOAP-Benutzernamen/das Passwort:

  • Ein API Access Control Consumer Key und Consumer Secret, generiert in der Five9 Admin Console → API Access Control (ein Controlled-Availability-Feature). Zum Erzeugen wird die Berechtigung security → applications → Create applications benötigt, und das Konto muss zum Five9 Identity Service migriert worden sein (Benutzer mit Legacy-API/Agent/Supervisor-Rollen sind von der Migration ausgeschlossen, bis diese Rollen entfernt wurden).

  • Konfigurieren Sie sie als Env-/Secret-Variablen (alle getrennt von den SOAP-Zugangsdaten):

FIVE9_CONSUMER_KEY=...           # "All APIs access" family credential (default)
FIVE9_CONSUMER_SECRET=...
FIVE9_DOMAIN_ID=131109           # your Admin Console domain id
FIVE9_REST_REGION=US             # US | US-ALPHA | CA | EU | IN | UK
# or pin the base URL directly: FIVE9_REST_BASE_URL=https://api.prod.us.five9.net

# Optional second credential for the "Data Tables access" family (its own key):
FIVE9_DT_CONSUMER_KEY=...
FIVE9_DT_CONSUMER_SECRET=...

Führen Sie dann rest_check_connection aus, um den Token-Fluss zu bestätigen. Welche Dienste eine Anmeldeinformation erreichen kann, wird durch ihre API-Familie + Scopes bestimmt — all-apis-access gewährt nicht wörtlich Zugriff auf jeden Dienst, und Schreibzugriff gilt pro Dienst.

Mehrere Anmeldeinformationen / Familien. Jede API-Access-Control-Anmeldeinformation gehört zu einer Familie (zugeordnet zu einem Apigee-API-Produkt), und diese Familie bestimmt, welche Dienste der Schlüssel aufrufen darf. Der Server unterstützt benannte Anmeldeinformationen: default (aus FIVE9_CONSUMER_KEY/SECRET) sowie data-tables (aus FIVE9_DT_CONSUMER_KEY/SECRET). Die Data-Tables-Tools verwenden automatisch die data-tables-Anmeldeinformation; rest_call und rest_check_connection akzeptieren ein credential-Argument zur Auswahl.

Hinweis: Five9s Einstiegsdokumentation listet den Token-Endpunkt als /v1/auth/token, aber der tatsächlich aktive Endpunkt ist /oauth2/v1/token (den dieser Client verwendet).

🎨 Betreiberkontext anpassen

src/about.js enthält den Text, der verbundenen KIs über das MCP-instructions-Feld und das about-Tool bereitgestellt wird: Wer den Server betreibt, warum er existiert und wie sich die KI verhalten soll (z. B. „Vor Schreibvorgängen bestätigen“). Bearbeiten Sie die Datei, um Ihre eigene Bereitstellung zu beschreiben — sie wird mit dem Kontext des ursprünglichen Betreibers als Beispiel ausgeliefert.

🏗️ Architektur

Kein Build-Schritt, keine Abhängigkeiten — einfache JS-Module in src/:

src/
├── index.js   # router, CORS, MCP JSON-RPC handler, /setup endpoint
├── five9.js   # SOAP client: envelope builder, ~60-line XML parser, one method per Five9 op
├── tools.js   # MCP tool definitions (JSON Schema) + dispatch
├── oauth.js   # stateless OAuth 2.1 server (single-operator model)
├── config.js  # config resolution: Wrangler secrets > KV (setup wizard)
├── ui.js      # landing page, setup wizard, interactive console
└── about.js   # operator context — edit this for your deployment

Anfragen sind zustandslos: Jeder MCP-Aufruf öffnet einen neuen Five9-SOAP-Austausch mit HTTP-Basic-Authentifizierung. Die Statistics API erfordert zusätzlich einen setSessionParameters-Aufruf, den get_realtime_stats pro Aufruf ausführt.

  • Die Endpunkte von Five9 werden von JAXB generiert und validieren die Reihenfolge der Kindelemente anhand der WSDL. Wenn Sie diesen Server erweitern, ziehen Sie sich die WSDL (https://api.five9.com/wsadmin/v13/AdminWebService?wsdl, HTTP-Basic-Authentifizierung) und gleichen Sie die <xs:sequence>-Reihenfolge exakt ab — einschließlich Basistypen wie basicImportSettings, deren Elemente vor denen der Erweiterung stehen.

  • addToListCsv erfordert cleanListBeforeUpdate, crmAddMode, crmUpdateMode und listAddMode, obwohl die WSDL die meisten davon als minOccurs="0" markiert.

  • Listen-/CRM-Importe sind asynchron: Der Aufruf gibt sofort eine Import-Kennung zurück; fragen Sie das Ergebnis über get_import_result ab.

  • Werte von Kontaktdatensätzen kommen umschlossen zurück (<values><data>…</values>); mehrere Antworten liefern ein einzelnes Objekt, wo man ein Ein-Element-Array erwartet. toArray() in five9.js normalisiert das.

  • Die Reihenfolge der Zeitkriterien für Reports lautet <end> vor <start> (alphabetische JAXB-Sortierung).

  • Die IVR-xmlDefinition ist das persistierte Format des visuellen Designers: Module werden über GUIDs verdrahtet (ascendants / singleDescendant / branches); Inline-TTS-Text wird als gzip+base64-speakElement-Dokumente gespeichert, und Geschäftszeiten-Checks vergleichen die Systemvariablen __DAY__ (SUN=1..SAT=7) und __TIME__ (Minuten seit Mitternacht). ivr.js kapselt all das.

  • getPrompts gibt keine Prompt-IDs zurück (nur Name + Typ). Datei-Prompt-Referenzen innerhalb von IVR-XML werden mit id 0 und dem Prompt-Namen akzeptiert und serverseitig normalisiert; das übertragene Skript wird ausgeliefert, enthält aber die serverseitig vergebene domainId.

🛡️ Sicherheit

  • Five9-Zugangsdaten liegen nur in Ihrem Cloudflare-Konto — als Worker-Secrets oder (Wizard-Pfad) in einem Workers-KV-Namespace, im Ruhezustand verschlüsselt. Kein Tool gibt sie jemals zurück, und Wrangler-Secrets haben stets Vorrang gegenüber KV.

  • Der Einrichtungsassistent ist nur auf einem frischen, noch nicht konfigurierten Server verfügbar — führen Sie ihn direkt nach dem Deployment aus. Nach der Konfiguration erfordert jede Änderung den aktuellen Access-Key, und per Env-Variablen verwalteten Server lehnen Assistenten-Änderungen vollständig ab.

  • Schließen Sie die Einrichtung immer ab (oder setzen Sie MCP_AUTH_TOKEN). Ein nicht konfigurierter Server ohne Access-Key läuft offen — jeder, der die URL findet, kann Ihr Contact Center steuern.

  • Schreibwerkzeuge (✏️ oben) verändern Ihre Domain. Begrenzen Sie die Rolle des Five9-API-Benutzers auf das, was eine KI tatsächlich tun soll — die Five9-Berechtigungen sind die eigentliche Sicherheitsgrenze.

  • manage_dnc remove und delete_list erfordern besondere Vorsicht; die about-Anweisungen sagen den KIs, vor der Verwendung eine Bestätigung einzuholen.

  • Die Konsole speichert Ihren Access-Key nur im localStorage des Browsers; die Aufrufe erfolgen same-origin an Ihren eigenen Worker.

💻 Entwicklung

npm run dev      # wrangler dev on http://localhost:8787
npm run deploy   # wrangler deploy

Legen Sie lokale Secrets in .dev.vars ab (gitignored):

FIVE9_USERNAME=apiuser@yourdomain
FIVE9_PASSWORD=...
MCP_AUTH_TOKEN=dev-local-token

# Optional — external AI voice providers for generate_prompt_audio.
# The default (Workers AI / Deepgram Aura) needs no key at all.
ELEVENLABS_API_KEY=...
OPENAI_API_KEY=...

# Optional — OAuth New Platform REST tools (separate credential; see below)
FIVE9_CONSUMER_KEY=...
FIVE9_CONSUMER_SECRET=...
FIVE9_DOMAIN_ID=131109
FIVE9_REST_REGION=US
FIVE9_DT_CONSUMER_KEY=...        # optional: "Data Tables access" family
FIVE9_DT_CONSUMER_SECRET=...

Dann öffnen Sie http://localhost:8787/console, fügen Sie dev-local-token ein und führen Sie die Tools gegen Ihre Domain aus — oder rauchen Sie von der CLI aus einen Smoke-Test mit dem curl-Ausschnitt oben.

🤝 Mitwirken

PRs willkommen! Die Five9-Config-API-Operationen umfassen etwa 180, und dieser Server kapselt 69 der nützlichsten — das Muster in five9.js + tools.js lässt sich leicht erweitern (lesen Sie zuerst die SOAP-Hinweise und ersparen sich einen Kampf mit der WSDL). Bitte behalten Sie die Zero-Dependency-Einschränkung bei.

📄 Lizenz

MIT · entwickelt von Ryan Shatzkamer

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that connects AI assistants to Five9 contact center, allowing management of campaigns, agents, lists, and statistics via natural language commands.
    12
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server connecting AI assistants to the Five9 contact center, enabling management of campaigns, agents, IVR flows, and reports via natural language.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that connects AI assistants to Five9 cloud contact center, enabling management of campaigns, agents, IVR flows, and reports through natural language.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that connects AI assistants to Five9 cloud contact center, exposing 77 tools for configuration, statistics, IVR building, and campaign management via Cloudflare Workers with zero dependencies.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/declanboiston-cloud/babble-five9-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server