Skip to main content
Glama

☎️ five9-mcp

Dein Five9-Contact-Center in den Händen deiner KI.

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

License: MIT Runtime Dependencies MCP Tools

Schnellstart · Claude verbinden · ChatGPT verbinden · Tools · Architektur


Frag deine KI zum Beispiel:

„Wer ist gerade in einem Anruf und wie tief ist die Verkaufs-Warteschlange?“ 📊 „Erstelle eine Preview-Kampagne für die Win-back-Liste, weise den Verkaufs-Skill zu und starte sie.“ 🛠️ „Stoppe die OUTBOUND_AGED-Kampagne und füge diese 3 Leads zur Rückrufliste hinzu.“ 📞 „Binde den neuen Agenten ein: Erstelle den Benutzer, weise den Abrechnungs-Skill auf Stufe 2 zu.“ 🧑💼 „Ist 555-867-5309 auf unserer DNC-Liste? Prüfe das, bevor jemand die Nummer wählt.“ 🚫 „Hole den gestrigen Call-Log-Bericht und fasse die Abandon-Raten zusammen.“ 📈 „Baue mir eine komplette IVR: Option 1 Terminplanung, Option 2 Abrechnung, außerhalb der Geschäftszeiten geht es an die Voicemail.“ 🧩

Unter der Haube spricht dieser Server mit den SOAP-Web-Services von Five9s Configuration (admin) und Statistics (supervisor) – den APIs, die noch immer Five9s Admin-Oberfläche betreiben – und stellt sie als saubere JSON-Tools über MCP streamable HTTP bereit. Handgebaute Envelopes, ein ~60-zeiliger XML-Parser, keine npm-Pakete. Jedes Tool wurde gegen eine Live-Five9-Domain getestet.

✨ Integrierte Web-UI

Stell es bereit und dein Worker liefert mehr als eine API:

Seite

Was du bekommst

/

Eine polierte Landingpage: Live-Serverstatus, dieser Einrichtungsleitfaden, KI-Verbindungsanleitungen Schritt für Schritt und der vollständige Tool-Katalog

/setup

Der Setup-Assistent – gib deine Five9-Zugangsdaten im Browser ein, lass sie live verifizieren und erhalte deinen Zugriffsschlüssel. Kein Terminal, keine Secret-Befehle

/console

Eine interaktive Konsole – füge deinen Zugriffsschlüssel ein, wähle eines der 77 gruppierten Tools, fülle ein aus seinem Schema generiertes Formular aus und führe es direkt im Browser gegen deine Live-Five9-Domain aus

/mcp

Der MCP-Endpunkt selbst (streamable HTTP, zustandslos)

/health

JSON-Healthcheck

Die Konsole ist der schnellste Weg, um Zugangsdaten zu prüfen, zu erkunden, was jedes Tool zurückgibt, oder eine Kampagne zu debuggen – ganz ohne KI.

Related MCP server: five9-mcp

🚀 Schnellstart – kein Terminal nötig

Du brauchst ein kostenloses Cloudflare-Konto und einen Five9-Benutzer mit API-Zugriff – erstelle einen dedizierten Five9-API-Benutzer, der genau auf das beschränkt ist, was eine KI tun soll, und verwende nicht erneut einen persönlichen Admin-Login.

1 – Bei Cloudflare bereitstellen (ein Klick, im Browser)

Deploy to Cloudflare

Melde dich bei Cloudflare an und klicke durch – es erstellt deine eigene Kopie dieses Workers (plus den benötigten KV-Namespace) und gibt dir eine URL wie https://five9-mcp.you.workers.dev.

2 – Den Setup-Assistenten ausführen (im Browser)

Öffne /setup auf deinem neuen Server. Gib deinen Five9-Benutzernamen, dein Passwort und deine Region ein – der Assistent verifiziert sie live gegen Five9, bevor er speichert, und übergibt dir dann deinen Zugriffsschlüssel (wird nur einmal angezeigt – bewahre ihn in einem Passwort-Manager auf).

3 – Verbinde deine KI (Anleitungen unten) und bitte sie dann, „die Verbindung zu prüfen und meine Kampagnen aufzulisten“. 🎉

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

Nutze dann entweder den /setup-Assistenten oder überspringe ihn und verwalte die Zugangsdaten als Wrangler-Secrets (Secrets überschreiben den 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 funktionieren für US-Domains:

Var

Standard

Hinweise

FIVE9_API_HOST

api.five9.com

EU: api.eu.five9.com · Kanada: api.ca.five9.com

FIVE9_ADMIN_VERSION

v13

Config Web Services WSDL-Version

FIVE9_SUPERVISOR_VERSION

v13

Statistics Web Services WSDL-Version

🔌 Verbinde deine KI

Claude verbinden (Web & Desktop)

Benutzerdefinierte Connectors sind in den Plänen Free (ein Connector), Pro, Max, Team und Enterprise verfügbar.

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

  2. Klicke auf Benutzerdefinierten Connector hinzufügen.

  3. Nenne ihn Five9 und füge deine Server-URL einschließlich des /mcp-Pfads ein: https://<your-worker>.workers.dev/mcp

  4. Klicke auf Hinzufügen, dann auf Verbinden. Claude erkennt das integrierte OAuth dieses Servers automatisch und öffnet seine Autorisierungsseite.

  5. Füge auf dem Bildschirm 🔐 five9-mcp deinen MCP_AUTH_TOKEN als Zugriffsschlüssel ein und klicke auf Autorisieren.

  6. Öffne in einem beliebigen Chat das Menü Suchen & Tools (+) und stelle sicher, dass der Five9-Connector aktiviert ist.

Team/Enterprise: Ein Owner fügt den Connector zuerst unter Organisationseinstellungen → Connectors hinzu; Mitglieder klicken dann in ihren eigenen Einstellungen auf Verbinden, um zu autorisieren.

ChatGPT verbinden

Benutzerdefinierte MCP-Connectors erfordern den Entwicklermodus (Plus/Pro; bei Business/Enterprise muss ein Admin benutzerdefinierte Connectors erlauben).

  1. Öffne in ChatGPT im Web Einstellungen → Apps & Connectors (manchmal auch nur als Connectors bezeichnet).

  2. Aktiviere unter Erweiterte Einstellungen den Entwicklermodus.

  3. Klicke zurück auf der Connectors-Seite auf Erstellen.

  4. Nenne ihn Five9, setze die MCP-Server-URL auf https://<your-worker>.workers.dev/mcp und wähle die OAuth-Authentifizierung.

  5. Bestätige den Vertrauenshinweis und speichere. ChatGPT öffnet die Autorisierungsseite dieses Servers – füge deinen MCP_AUTH_TOKEN ein und klicke auf Autorisieren.

  6. Öffne in einem neuen Chat das Menü + / Tools und aktiviere den Five9-Connector (Connectors im Entwicklermodus werden pro Konversation aktiviert). ChatGPT fragt dich bei jedem Tool-Aufruf um Bestätigung – sinnvoll bei allem, was einen Dialer starten kann. 😄

Claude Code verbinden

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

Der rohe Zugriffsschlüssel funktioniert direkt als Bearer-Token – kein OAuth-Tanz. Führe /mcp in Claude Code aus, um es zu überprüfen.

Jeder andere MCP-Client

Alles, was MCP streamable HTTP spricht, funktioniert – schließe den OAuth-Flow ab oder sende 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 minimalen OAuth-2.1-Autorisierungsserver (Metadata-Discovery, dynamische Client-Registrierung, PKCE S256, Refresh-Tokens), der für eine Einzelbetreiber-Bereitstellung ausgelegt ist:

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

  • Alles ist zustandslos – Client-IDs, Auth-Codes und Tokens sind mit MCP_AUTH_TOKEN als Schlüssel HMAC-SHA256-signierte Blobs. Kein KV, keine Durable Objects.

  • Beide Auth-Pfade funktionieren gleichzeitig: per OAuth ausgestellte Tokens und der rohe Schlüssel als Bearer-Anmeldedaten.

  • Widerrufe alles auf einmal durch Rotieren des Secrets: npx wrangler secret put MCP_AUTH_TOKEN.

🧰 Die Toolbox

77 Tools. 🟢 = Lesen (immer sicher) · ✏️ = Schreiben (ändert deine Domain – der Server weist die KIs an, zuerst deine Bestätigung einzuholen)

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

Der Clou: Beschreibe einen Anrufablauf in einem Absatz und die KI entwirft ihn, zeigt dir ein Mermaid-Diagramm im Chat und stellt ein funktionierendes IVR-Skript bereit. Das Modell erfindet Five9s IVR-XML nie frei: Es füllt eine eingeschränkte JSON-Flow-Spezifikation (play / menu / business-hours / skill transfer / voicemail / hangup), ein Graph-Validator prüft jeden Zweig und jede Referenz, und deterministischer Code erzeugt Designer-konformes XML (Modulverdrahtung, Prompt-Kodierung und Feldreihenfolge stammen alle aus echten exportierten Skripten).

Tool

Was es tut

🟢

validate_ivr_flow

Flow-Spezifikation als Graph prüfen und verifizieren, dass referenzierte Skills/Prompts auf der Domain existieren

🟢

render_ivr_flow

Eine Flow-Spezifikation oder ein vorhandenes IVR-Skript als Mermaid-Flussdiagramm rendern

✏️

build_ivr_script

Das vollständige Skript-XML erstellen und auf der Domain anlegen (dry_run, um es zuerst zu prüfen)

✏️

generate_prompt_audio

Einen Prompt mit einer modernen KI-Stimme vertonen und als Five9-taugliche G.711-u-law-WAV hochladen. Kein API-Key nötig: betrieben mit Workers AI (Deepgram Aura, ~40 Stimmen), direkt in deinen Worker integriert

Empfohlener Ablauf: validieren → rendern (dem Menschen zeigen!) → Prompts erzeugen → bauen → an eine Inbound-Kampagne anhängen. generate_prompt_audio läuft sofort auf Cloudflare Workers AI: kein externes TTS-Konto, kein API-Key, Bruchteile eines Cents pro Prompt, abgerechnet über das Cloudflare-Konto, auf dem du bereits deployed hast. ElevenLabs/OpenAI funktionieren ebenfalls, wenn du ihre Key-Secrets setzt, und {tts}-Prompts (Five9s eingebaute Roboterstimme) brauchen gar nichts.

Tool

Was es tut

🟢

about

Operator-Kontext für die KI – wer diesen Server betreibt und die Grundregeln

🟢

check_connection

Prüft, ob die Five9-Zugangsdaten funktionieren; gibt die Anzahl sichtbarer Skills zurück

🟢

get_api_usage

Aktuelle Five9-API-Nutzungszähler im Vergleich zu den Ratenlimits

Tool

Was es tut

🟢

list_campaigns

Kampagnen auflisten (Name, Typ, Status, Modus)

🟢

inspect_campaign

Status + zugeordnete Listen + DNIS in einem Aufruf

🟢

get_campaign_details

VOLLSTÄNDIGE Kampagnenkonfiguration (Wahlmodus, Verhältnisse, Aufzeichnung, Wrap-up…)

✏️

create_campaign

Outbound- oder Inbound-Kampagnen erstellen, BASIC oder ADVANCED

✏️

modify_campaign

Beliebige Kampagneneinstellung bearbeiten – Lesen-Ä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 zuordnen/entfernen

✏️

manage_campaign_skills

Routing-Fähigkeiten auf einer Kampagne hinzufügen/entfernen

✏️

manage_campaign_dnis

Inbound-Nummern zuordnen/entfernen

✏️

manage_campaign_dispositions

Agenten-Dispositionen 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

CRM-Datensatzauswahlkriterien und Wahlreihenfolge eines Profils lesen / bearbeiten

Tool

Was es tut

🟢

list_dialing_lists

Wahllisten + Datensatzzahlen auflisten

✏️

create_list / delete_list

Wahlliste erstellen oder löschen

✏️

add_record_to_list

Lead in eine Liste einfügen (asynchroner Import)

✏️

add_records_to_list

Viele Leads in einem asynchronen Import hinzufügen (konfigurierbare CRM/Listen-Modi)

✏️

delete_record_from_list

Passende Datensätze aus einer Liste entfernen

🟢

get_import_result

Ergebnis eines asynchronen Listen-/CRM-Imports

Tool

Was es tut

🟢

search_contacts

Kontakte anhand exakter Feldwerte suchen

✏️

update_contact

Kontakt aktualisieren (standardmäßig Sicherheit bei eindeutigem Treffer)

✏️

bulk_update_contacts

Viele CRM-Kontakte in einem asynchronen Import aktualisieren (mit Typ "crm" abfragen)

✏️

delete_contact

Kontakt löschen (nur wenn genau einer übereinstimmt)

🟢

list_contact_fields

Das Kontaktfeldschema der Domain

✏️

manage_contact_field

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

Tool

Was es tut

✏️

manage_dnc

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

🟢

get_dialing_rules

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

Tool

Was es tut

🟢

list_users

Benutzer mit allgemeinen Informationen auflisten

🟢

get_user_details

Vollständiger Datensatz eines Benutzers: Rollen, Fähigkeiten, Gruppen

✏️

create_user

Benutzer mit Rollen, Fähigkeiten und Gruppen erstellen

✏️

modify_user

Benutzerinformationen bearbeiten – nur die Änderungen übergeben

✏️

delete_user

Benutzer löschen

🟢

list_user_profiles

Rollen-/Berechtigungsvorlagen

🟢

list_skills / get_skill_details

Fähigkeiten, mit oder ohne zugewiesene Benutzer

✏️

manage_skill

Fähigkeiten erstellen / ändern / löschen

✏️

manage_user_skills

Fähigkeiten Benutzern zuweisen, Stufen festlegen

✏️

set_user_roles

Rollen zuweisen / entziehen (agent, admin, supervisor, reporting, crmManager) mit Berechtigungsregisterkarten

🟢

list_agent_groups

Agentengruppen + Mitglieder

✏️

manage_agent_group

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

✏️

manage_reason_code

Nicht bereit / Abmelden-Grundcodes

Tool

Was es tut

🟢

list_dispositions

Anruf-Dispositionen und ihre Einstellungen

✏️

manage_disposition

Dispositionen erstellen / ändern / umbenennen / löschen (inkl. Rückwahl-Timer)

🟢

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 (vollständige xmlDefinition übergeben)

🟢

list_prompts

Sprachansagen auf der Domain

✏️

manage_tts_prompt

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

✏️

manage_wav_prompt

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

🟢

list_dnis

Bereitgestellte Inbound-Nummern (optional nur nicht zugewiesene)

🟢

list_call_variables

Anrufvariablen und Variablengruppen

✏️

manage_call_variable

Benutzerdefinierte Anrufvariablen erstellen / löschen

🟢

list_web_connectors

Web-Connector-Integrationen

✏️

manage_web_connector

Web-Connectors erstellen / löschen (URL-Pops, die Agenten auslösen)

✏️

manage_speed_dial

Kurzwahlcodes auflisten / erstellen / löschen

🟢

get_vcc_configuration

VCC-Einstellungen auf Domain-Ebene

Tool

Was es tut

🟢

run_report

Beliebigen 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 Five9s moderne OAuth 2.0 "New Platform" REST-APIs, nicht die SOAP-APIs, die die obigen Tools verwenden. Sie erfordern eine API Access Control-Anmeldeinformation (Consumer Key/Secret), nicht den SOAP-Benutzernamen/das SOAP-Passwort – siehe OAuth New Platform APIs.

Tool

Was es tut

🟢

rest_check_connection

OAuth-Anmeldeinformation verifizieren – erwirbt ein Bearer-Token (keine Domain-Daten)

🟢✏️

rest_call

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

🟢✏️

manage_circle

Circles – auflisten / abrufen / erstellen / löschen (kein SOAP-Äquivalent)

🟢

list_np_prompts

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

🟢

list_interaction_dispositions

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

🟢

get_domain_info

Domain-Metadaten (id, name, tenant, service endpoints)

🟢

list_data_tables

Data Tables (strukturierte Nachschlagetabellen; kein SOAP-Äquivalent) – verwendet eine separate data-tables-Anmeldeinformation

🟢

get_data_table_rows

Zeilen einer Data Table nach id (paginiert)

🔐 OAuth New Platform APIs

Neben den SOAP-Tools kann der Server Five9s neuere OAuth 2.0 New Platform REST-APIs aufrufen (z. B. Circles, Interactions, Prompts, Domain-Metadaten). Diese verwenden eine andere Anmeldeinformation als der SOAP-Benutzername/das SOAP-Passwort:

  • Ein API Access Control-Consumer Key und Consumer Secret, erzeugt 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 werden (Benutzer mit veralteten API-/Agent-/Supervisor-Rollen werden von der Migration ausgeschlossen, bis diese Rollen entfernt wurden).

  • Konfiguriere sie als Umgebungs-/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ühre dann rest_check_connection aus, um den Token-Fluss zu bestätigen. Was jedes Credential erreichen kann, bestimmen seine API-Familie + Scopesall-apis-access gewährt nicht buchstäblich jeden Dienst, und der Schreibzugriff ist pro Dienst festgelegt.

Mehrere Credentials / Familien. Jedes API-Access-Control-Credential gehört zu einer Familie (abgebildet auf ein Apigee-API-Produkt), und diese Familie entscheidet, welche Dienste der Schlüssel aufrufen darf. Der Server unterstützt benannte Credentials: default (aus FIVE9_CONSUMER_KEY/SECRET) plus data-tables (aus FIVE9_DT_CONSUMER_KEY/SECRET). Die Data-Tables-Tools verwenden automatisch das data-tables-Credential; rest_call und rest_check_connection akzeptieren ein credential-Argument, um eines auszuwählen.

Hinweis: Five9s Einstiegsdokument nennt den Token-Endpunkt /v1/auth/token, aber der tatsächliche Endpunkt ist /oauth2/v1/token (und diesen verwendet dieser Client).

🎨 Den Betreiber-Kontext anpassen

src/about.js enthält den Text, der verbundenen AIs über das MCP-instructions-Feld und das about-Tool bereitgestellt wird: wer den Server betreibt, warum es ihn gibt und wie sich die AI verhalten soll (z. B. „vor Schreibaktionen bestätigen“). Bearbeite ihn, um dein eigenes Deployment zu beschreiben – er 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

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

  • Five9s Endpunkte werden von JAXB generiert und validieren die Reihenfolge der Kind-Elemente gegen die WSDL-Sequenz. Wenn du diesen Server erweiterst, ziehe dir das WSDL (https://api.five9.com/wsadmin/v13/AdminWebService?wsdl, HTTP-BasisAuth) und gleiche die <xs:sequence>-Reihenfolge exakt ab – einschließlich Basistypen wie basicImportSettings, deren Elemente vor denen der Erweiterung kommen.

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

  • Listen-/CRM-Importe sind asynchron: Der Aufruf gibt sofort eine Import-ID zurück; frage get_import_result ab, um das Ergebnis zu erfahren.

  • Kontaktwerte werden verpackt zurückgegeben (<values><data>…</data></values>); einige Antworten liefern ein einzelnes Objekt, wo man ein Ein-Element-Array erwarten würde. toArray() in five9.js normalisiert das.

  • Bei Zeitkriterien von Reportings kommt <end> vor <start> (alphabetische JAXB-Reihenfolge).

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

  • getPrompts gibt keine Prompt-IDs zurück (nur Name + Typ). Datei-Prompt-Referenzen in IVR-XML werden mit id 0 + dem Prompt-Namen akzeptiert und serverseitig normalisiert; das übertragene Skript läuft mit der serverseitig vergebenen domainId im Roundtrip.

🛡️ Sicherheit

  • Five9-Zugangsdaten liegen ausschließlich in deinem Cloudflare-Konto – als Worker-Secrets oder (im Wizardverlauf) in einem Workers-KV-Namespace, verschlüsselt im Ruhezustand. Kein Tool gibt sie jemals zurück, und Wrangler-Secrets haben immer Vorrang vor KV.

  • Der Setup-Assistent ist nur auf einem frischen, unkonfigurierten Server geöffnet – führe ihn direkt nach dem Deployment aus. Ist er erst konfiguriert, erfordert jede Änderung den aktuellen Zugriffsschlüssel, und per Envvnie verwaltete Server lehnen Änderungen über den Assistenten vollständig ab.

  • Schließe das Setup immer ab (oder setze MCP_AUTH_TOKEN). Ein unkonfigurierter Server ohne Zugriffsschlüssel bleibt offen – jeder, der die URL findet, kann dein Contact-Center steuern.

  • Schreib-Tools (✏️ oben) verändern deine Domain. Drossle die Rolle des Five-9-API-Benutzers auf das, was du von einer AI erwartest – die Five9-Berechtigungen bilden die eigentliche Sicherheitsgrenze.

  • manage_dnc remove und delete_list erfordern besondere Vorsicht; die about-Anweisungen weisen AIs an, vor der Verwendung eine Bestätigung einzuholen.

  • Die Konsole speichert deinen Zugriffsschlüssel nur im localStorage des Browsers, und die Aufrufe werden gleich-originig zu deinem eigenen Worker ausgeführt.

💻 Entwicklung

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

Lege lokale Secrets in .dev.vars an (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=...

Öffne dann http://localhost:8787/console, füge dev-local-token ein und führe Tools gegen deine Domain aus – oder teste von der CLI mit dem curl-Snippet oben.

🤝 Mitwirken

PRs sind willkommen! Die Five9-Config-API kann ~180-Operationen und dieser Server kapselt 69 der nützlichsten – das Muster in five9.js + tools.js ist leicht anpassend (lies zuerst die SOAP-Anmerkungen und spar dir den Kampf mit. WSDL). Bitte halte am der Null-Abhängigkeits-Einschränkung fest.

📄 Lizenz

MIT · erstellt von [Ryan

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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.
    6
    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

View all related MCP servers

Related MCP Connectors

  • Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.

  • Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.

  • Connect e-commerce and marketing data to AI assistants via MCP.

View all MCP Connectors

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/ALP-Dev1710/five9-mcp'

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