Zum Inhalt

Daktela MCP Server

Der Daktela MCP Server verbindet KI-Assistenten (Claude Code, Claude Desktop, Cursor und andere) über das Model Context Protocol (MCP) mit Ihrem Daktela Contact Centre. Er bietet Zugriff auf Ihre Contact-Centre-Daten und ermöglicht Aufgaben wie Qualitätsaudits von E-Mails, Überprüfungen der Verkaufspipeline und Anrufanalysen — ganz ohne Programmierung.

Info

Standardmäßig bietet der MCP Server schreibgeschützten Zugriff auf Ihre Daktela-Daten. Schreibzugriff kann für bestimmte Rollen aktiviert werden, aber nur der Daktela-Support kann ihn für Ihre Instanz einschalten — siehe Schreibzugriff unten.

Es gibt zwei Möglichkeiten, den Daktela MCP Server zu nutzen:

  • Gehostet (integriert) — der MCP Server läuft als Teil Ihrer Daktela-Instanz. Keine Installation erforderlich.
  • Selbst gehostet — betreiben Sie den Open-Source-PHP-Server selbst fĂĽr individuelle Deployments oder Cloud-Setups.

Was ist MCP?

Das Model Context Protocol ist ein offener Standard, der es KI-Anwendungen ermöglicht, sich mit externen Datenquellen und Werkzeugen zu verbinden. Durch die Verbindung mit dem Daktela MCP Server erhält Ihr KI-Assistent strukturierten Zugriff auf Ihre Daktela-Instanz — und ermöglicht so Analyse- und Berichtsaufgaben ohne individuellen Code.


Schreibzugriff

Standardmäßig stellt der MCP Server nur schreibgeschützte Werkzeuge bereit — er kann keine Datensätze erstellen oder aktualisieren. Schreibgeschützte Vorgänge sind immer verfügbar und werden vom Schreibzugriff nie beeinträchtigt.

Info

Schreibzugriff ist kein Self-Service. Um ihn zu aktivieren, wenden Sie sich an den Daktela-Support und bitten Sie darum, ihn fĂĽr Ihre Instanz einzuschalten.

Sobald der Daktela-Support den Schreibzugriff aktiviert hat, muss Ihr Daktela-Administrator noch die Berechtigung MCP Write Access für die betreffende(n) Rolle(n) unter Verwalten → Benutzer → Zugriffe erteilen — siehe Zugriffe. Für jede Rolle standardmäßig deaktiviert — bis sie erteilt wird, werden Schreibvorgänge mit einem Fehler wegen unzureichender Berechtigungen abgelehnt.

Dies gilt fĂĽr alle MCP-Clients (Claude, Cursor und alle anderen).


Gehostet (integriert)

Der gehostete MCP Server ist in Ihre Daktela-Instanz integriert. Es werden weder PHP, Docker noch Composer benötigt. Die Authentifizierung erfolgt ausschließlich per OAuth-Anmeldung: Sie melden sich über den normalen Daktela-Anmeldebildschirm an; es wird kein Token generiert, kopiert oder in einer Konfigurationsdatei gespeichert.

Info

Nur normale Benutzerkonten (Agenten) können sich verbinden. Reine Administratorkonten, Kundenportal-Benutzer (extern) und API-Benutzer werden vom Autorisierungsablauf abgelehnt.

KI-Client verbinden

Ihr KI-Client muss entfernte MCP-Server ĂĽber HTTP mit OAuth-Anmeldung unterstĂĽtzen. Claude, Cursor, VS Code und die meisten aktuellen Clients tun dies.

  1. FĂĽgen Sie in Ihrem KI-Client den Daktela MCP Server ĂĽber seine URL hinzu: https://YOUR_DOMAIN/mcp-server/mcp. Ersetzen Sie YOUR_DOMAIN durch den Hostnamen Ihrer Daktela-Instanz (z. B. ihrefirma.daktela.com).
  2. Der Client erkennt, dass eine Anmeldung erforderlich ist, und öffnet Daktela in Ihrem Browser.
  3. Wenn Sie in diesem Browser bereits bei Daktela angemeldet sind, wird die Verbindung sofort hergestellt. Andernfalls melden Sie sich mit Ihren üblichen Daktela-Zugangsdaten an — Passwort, MFA und SSO funktionieren — und werden zu Ihrem Client zurückgeleitet.
  4. Ihr KI-Client ist jetzt verbunden. Sie sehen oder verwenden nie einen rohen Zugriffstoken.

Info

Im Hintergrund wird der standardmäßige OAuth-2.0-+-PKCE-Autorisierungsablauf der MCP-Spezifikation verwendet, einschließlich dynamischer Client-Registrierung. Der Zugriffstoken ist auf Ihren Daktela-Benutzer beschränkt und kurzlebig; Ihr Client erneuert ihn stillschweigend über einen Refresh-Token, sodass Sie sich nicht erneut anmelden müssen, solange Ihre Daktela-Sitzung gültig ist.

Tip

Wenn Ihr MCP-Client keine OAuth-basierten Remote-Verbindungen unterstĂĽtzt, verwenden Sie stattdessen den selbst gehosteten Server mit einem API-Zugriffstoken. Der gehostete Server akzeptiert keine statischen Token und keine Header-basierte Authentifizierung.

Claude Code

FĂĽgen Sie den Server ĂĽber das Terminal hinzu:

claude mcp add --transport http daktela https://YOUR_DOMAIN/mcp-server/mcp

oder tragen Sie ihn in die .mcp.json Ihres Projekts ein:

{
  "mcpServers": {
    "daktela": {
      "type": "http",
      "url": "https://YOUR_DOMAIN/mcp-server/mcp"
    }
  }
}

Bei der ersten Verwendung öffnet Claude Code die Daktela-Anmeldung in Ihrem Browser. Die Anmeldung können Sie auch manuell mit dem Befehl /mcp starten.

Claude Desktop und claude.ai

Gehen Sie zu Settings → Connectors → Add custom connector, geben Sie einen Namen (z. B. Daktela) und die Server-URL ein und klicken Sie auf Connect. Daktela öffnet sich zur Anmeldung.

Cursor

Öffnen Sie Cursor Settings → MCP → Add new MCP server oder ergänzen Sie .cursor/mcp.json:

{
  "mcpServers": {
    "daktela": {
      "url": "https://YOUR_DOMAIN/mcp-server/mcp"
    }
  }
}

Cursor zeigt neben dem Server den Status Needs login an; klicken Sie darauf, um sich bei Daktela anzumelden.

Andere MCP-Clients

Jeder Client, der den MCP-Transport Streamable HTTP mit OAuth unterstĂĽtzt, kann sich mit Folgendem verbinden:

  • URL: https://YOUR_DOMAIN/mcp-server/mcp
  • Authentifizierung: OAuth 2.0 — der Client ermittelt die Anmelde-Endpunkte automatisch aus den Metadaten des Servers.

Selbst gehostet (fortgeschritten)

Für individuelle oder Cloud-Deployments können Sie den MCP Server mithilfe des Open-Source-PHP-Pakets selbst betreiben.

Anforderungen

  • PHP 8.2 oder höher
  • Composer (PHP-Paketmanager)
  • Eine Daktela-Instanz mit API-Lesezugriff
  • Ein API-Zugriffstoken aus Ihrem Daktela-Konto

Installation

  1. Klonen Sie das Repository:

    git clone https://github.com/Daktela/daktela-v6-php-mcp-server.git
    cd daktela-v6-php-mcp-server
    
  2. Installieren Sie die Abhängigkeiten:

    composer install
    

Konfiguration

Der Server wird ĂĽber Umgebungsvariablen konfiguriert. Erstellen Sie eine .env-Datei auf Basis des bereitgestellten Beispiels oder ĂĽbergeben Sie die Variablen direkt beim Start des Servers.

Variable Erforderlich Standard Beschreibung
DAKTELA_URL Ja — Die URL Ihrer Daktela-Instanz, z. B. https://your-instance.daktela.com
DAKTELA_ACCESS_TOKEN Ja — API-Zugriffstoken aus Ihrem Daktela-Konto
CACHE_ENABLED Nein true Caching von Referenzdaten aktivieren (Warteschlangen, Benutzer, Status usw.)
CACHE_TTL_SECONDS Nein 3600 Cache-Dauer in Sekunden

Tip

Sie können in Ihrer Daktela-Instanz unter Verwalten → Benutzer → Benutzer bearbeiten → Access Tokens einen API-Zugriffstoken generieren.

Deployment-Optionen

Der selbst gehostete Server unterstĂĽtzt zwei Transportmodi: stdio (fĂĽr lokale KI-Desktop-Apps) und HTTP (fĂĽr Remote-/Cloud-Deployments).

Claude Desktop — Docker

Dies ist der empfohlene Ansatz fĂĽr den Selbstbetrieb. Erstellen Sie das Docker-Image und konfigurieren Sie Claude Desktop so, dass es verwendet wird.

  1. Erstellen Sie das Image:

    docker build -f Dockerfile.prod -t daktela-v6-php-mcp-server .
    
  2. FĂĽgen Sie Folgendes zu Ihrer claude_desktop_config.json hinzu:

    {
      "mcpServers": {
        "daktela": {
          "command": "docker",
          "args": [
            "run", "-i", "--rm",
            "-e", "DAKTELA_URL=https://your-instance.daktela.com",
            "-e", "DAKTELA_ACCESS_TOKEN=your-api-token",
            "daktela-v6-php-mcp-server"
          ]
        }
      }
    }
    

Claude Desktop — direktes PHP

Wenn Sie PHP lieber direkt ohne Docker ausführen möchten:

{
  "mcpServers": {
    "daktela": {
      "command": "php",
      "args": ["/path/to/daktela-v6-php-mcp-server/bin/server.php"],
      "env": {
        "DAKTELA_URL": "https://your-instance.daktela.com",
        "DAKTELA_ACCESS_TOKEN": "your-api-token"
      }
    }
  }
}

Docker — eigenständig

Betreiben Sie den Server als eigenständigen Docker-Container:

docker run -i --rm \
  -e DAKTELA_URL=https://your-instance.daktela.com \
  -e DAKTELA_ACCESS_TOKEN=your-api-token \
  daktela-v6-php-mcp-server

HTTP-Servermodus (Cloud-Deployment)

Für Remote-Deployments wie Google Cloud Run läuft der Server im HTTP-Modus, in dem Clients ihre Anmeldedaten über Header übergeben:

docker run --rm -p 8080:8080 \
  -e DAKTELA_URL=https://your-instance.daktela.com \
  -e DAKTELA_ACCESS_TOKEN=your-api-token \
  daktela-v6-php-mcp-server php bin/http-server.php

Beispiel fĂĽr ein Cloud-Deployment mit Google Cloud Run:

gcloud run deploy daktela-v6-php-mcp-server \
  --source . \
  --dockerfile Dockerfile.prod \
  --region europe-west1 \
  --allow-unauthenticated \
  --memory 1Gi

Warning

Wenn Sie mit --allow-unauthenticated in die Cloud deployen, stellen Sie sicher, dass Sie geeignete Zugriffskontrollen implementieren, um Ihre Daktela-Daten zu schĂĽtzen.


VerfĂĽgbare Werkzeuge

Der MCP Server stellt 81 Werkzeuge bereit, die in die folgenden Kategorien unterteilt sind: 43 schreibgeschützte und 38 schreibende. Als „Write" gekennzeichnete Werkzeuge funktionieren erst, wenn der Schreibzugriff aktiviert ist — sowohl die globale Einstellung als auch die rollenspezifische Berechtigung müssen aktiviert sein. Alle Listenwerkzeuge unterstützen Paginierung, Sortierung und kontextbezogene Filterung.

Info

Es gibt keine Lösch-Werkzeuge — der MCP Server kann keine Datensätze entfernen, auch nicht mit aktiviertem Schreibzugriff.

Tickets

Werkzeug Zugriff Beschreibung
count_tickets Read Tickets zählen, die den Filterkriterien entsprechen
get_ticket Read Ein bestimmtes Ticket anhand der ID abrufen
get_ticket_detail Read Detaillierte Ticketinformationen abrufen
list_account_tickets Read Tickets fĂĽr ein bestimmtes Konto auflisten
list_ticket_categories Read VerfĂĽgbare Ticketkategorien auflisten
list_tickets Read Tickets mit Filterung und Paginierung auflisten
create_ticket Write Ein neues Ticket erstellen
update_ticket Write Ein bestehendes Ticket aktualisieren
create_ticket_category Write Eine neue Ticketkategorie erstellen
update_ticket_category Write Eine bestehende Ticketkategorie aktualisieren

Aktivitäten

Werkzeug Zugriff Beschreibung
count_activities Read Aktivitäten zählen, die den Filterkriterien entsprechen
get_activity Read Eine bestimmte Aktivität anhand der ID abrufen
list_activities Read Aktivitäten mit Filterung und Paginierung auflisten
create_activity Write Eine neue Aktivität erstellen
update_activity Write Eine bestehende Aktivität aktualisieren

Anrufe

Werkzeug Zugriff Beschreibung
count_calls Read Anrufe zählen, die den Filterkriterien entsprechen
get_call Read Einen bestimmten Anruf anhand der ID abrufen
get_call_transcript Read Das Transkript eines bestimmten Anrufs abrufen
list_call_transcripts Read VerfĂĽgbare Anruftranskripte auflisten
list_calls Read Anrufe mit Filterung und Paginierung auflisten
create_call Write Einen neuen Anrufdatensatz erstellen
update_call Write Einen bestehenden Anrufdatensatz aktualisieren

E-Mails

Werkzeug Zugriff Beschreibung
count_emails Read E-Mails zählen, die den Filterkriterien entsprechen
get_email Read Eine bestimmte E-Mail anhand der ID abrufen
list_emails Read E-Mails mit Filterung und Paginierung auflisten
create_email Write Eine neue E-Mail erstellen
update_email Write Eine bestehende E-Mail aktualisieren

Messaging

Umfasst Webchat, SMS, Facebook Messenger, Instagram, WhatsApp und Viber.

Werkzeug Zugriff Beschreibung
count_chats Read Chatnachrichten zählen, die den Filterkriterien entsprechen
get_chat Read Eine bestimmte Chatnachricht anhand der ID abrufen
list_chats Read Chatnachrichten mit Filterung und Paginierung auflisten
create_message Write Eine neue Chat-/Messaging-Nachricht erstellen
update_message Write Eine bestehende Chat-/Messaging-Nachricht aktualisieren

Kontakte und CRM

Werkzeug Zugriff Beschreibung
count_accounts Read Konten zählen, die den Filterkriterien entsprechen
count_contacts Read Kontakte zählen, die den Filterkriterien entsprechen
count_crm_records Read CRM-Datensätze zählen, die den Filterkriterien entsprechen
get_account Read Ein bestimmtes Konto anhand der ID abrufen
get_contact Read Einen bestimmten Kontakt anhand der ID abrufen
get_crm_record Read Einen bestimmten CRM-Datensatz anhand der ID abrufen
list_accounts Read Konten mit Filterung und Paginierung auflisten
list_contacts Read Kontakte mit Filterung und Paginierung auflisten
list_crm_records Read CRM-Datensätze mit Filterung und Paginierung auflisten
create_account Write Ein neues Konto erstellen
update_account Write Ein bestehendes Konto aktualisieren
create_contact Write Einen neuen Kontakt erstellen
update_contact Write Einen bestehenden Kontakt aktualisieren
create_crm_record Write Einen neuen CRM-Datensatz erstellen
update_crm_record Write Einen bestehenden CRM-Datensatz aktualisieren

Kampagnen

Werkzeug Zugriff Beschreibung
count_campaign_records Read Kampagnendatensätze zählen, die den Filterkriterien entsprechen
get_campaign_record Read Einen bestimmten Kampagnendatensatz anhand der ID abrufen
list_campaign_records Read Kampagnendatensätze mit Filterung und Paginierung auflisten
list_campaign_types Read VerfĂĽgbare Kampagnentypen auflisten
create_campaign_record Write Einen neuen Kampagnendatensatz erstellen
update_campaign_record Write Einen bestehenden Kampagnendatensatz aktualisieren
create_campaign_type Write Einen neuen Kampagnentyp erstellen
update_campaign_type Write Einen bestehenden Kampagnentyp aktualisieren

Referenzdaten

Werkzeug Zugriff Beschreibung
list_groups Read Agentengruppen auflisten
list_pauses Read VerfĂĽgbare Pausentypen auflisten
list_queues Read Warteschlangen auflisten
list_statuses Read Ticket-/Aktivitätsstatus auflisten
list_templates Read Nachrichtenvorlagen auflisten
list_users Read Benutzer auflisten
create_group Write Eine neue Agentengruppe erstellen
update_group Write Eine bestehende Agentengruppe aktualisieren
create_pause Write Einen neuen Pausentyp erstellen
update_pause Write Einen bestehenden Pausentyp aktualisieren
create_queue Write Eine neue Warteschlange erstellen
update_queue Write Eine bestehende Warteschlange aktualisieren
create_status Write Einen neuen Ticket-/Aktivitätsstatus erstellen
update_status Write Einen bestehenden Ticket-/Aktivitätsstatus aktualisieren
create_template Write Eine neue Nachrichtenvorlage erstellen
update_template Write Eine bestehende Nachrichtenvorlage aktualisieren
create_user Write Einen neuen Benutzer erstellen
update_user Write Einen bestehenden Benutzer aktualisieren

Echtzeit

Werkzeug Zugriff Beschreibung
list_realtime_sessions Read Aktuelle Echtzeit-Agentensitzungen auflisten

Wissensbasis

Werkzeug Zugriff Beschreibung
list_article_folders Read Ordner der Wissensbasis auflisten
list_articles Read Artikel der Wissensbasis auflisten
get_article Read Einen bestimmten Artikel der Wissensbasis abrufen
create_article Write Einen neuen Artikel in der Wissensbasis erstellen
update_article Write Einen bestehenden Artikel der Wissensbasis aktualisieren
create_article_folder Write Einen neuen Ordner in der Wissensbasis erstellen
update_article_folder Write Einen bestehenden Ordner der Wissensbasis aktualisieren

Integrierte Prompts

Der Server enthält vier vorgefertigte Prompt-Vorlagen für gängige Analyse-Workflows. Diese Prompts sind direkt in Ihrem KI-Client verfügbar, wenn der MCP Server verbunden ist.

Prompt Beschreibung
email_quality_audit Aktuelle E-Mails auf negative Stimmung, unprofessionellen Ton und verlorene Geschäfte prüfen
sales_pipeline_review Den Zustand der Deals überprüfen und gefährdete Opportunities identifizieren
call_quality_review Anrufe auf Eskalationen, Wissenslücken und Qualitätsprobleme analysieren
daily_call_analysis Tägliche Anrufüberprüfung auf Abwanderungsrisiko und wiederkehrende Probleme

Anwendungsbeispiele

Sobald der MCP Server mit Ihrem KI-Client verbunden ist, können Sie Fragen stellen wie:

  • „Zeige mir alle offenen Tickets der letzten 7 Tage und fasse häufige Probleme zusammen."
  • „PrĂĽfe die letzten 50 E-Mails auf negative Stimmung und unprofessionellen Ton."
  • „Liste alle heutigen verpassten Anrufe auf und identifiziere Muster."
  • „ÜberprĂĽfe die Verkaufspipeline und markiere Deals, die seit mehr als 2 Wochen stagnieren."
  • „Analysiere die Anruftranskripte dieser Woche und hebe etwaige Eskalationen hervor."

Der KI-Assistent verwendet die passenden MCP-Werkzeuge, um Daten aus Ihrer Daktela-Instanz abzurufen und eine strukturierte Analyse bereitzustellen.


Best Practices

  • Gehosteter Server: Der KI-Assistent handelt mit Ihren eigenen Daktela-Berechtigungen — er sieht genau das, was Sie sehen, nicht mehr. Es gibt keinen Token zu schĂĽtzen; den Zugriff widerrufen Sie, indem Sie sich bei Daktela abmelden oder den Server in Ihrem Client trennen.
  • Token-Sicherheit beim Selbsthosting: Geben Sie Ihren API-Zugriffstoken niemals öffentlich weiter. Speichern Sie Anmeldedaten in Umgebungsvariablen oder Secret-Management-Diensten und erstellen Sie statt eines Admin-Tokens einen dedizierten API-Benutzer mit minimalen, schreibgeschĂĽtzten Berechtigungen.
  • Caching: Lassen Sie das Caching aktiviert (Standard), um API-Aufrufe fĂĽr Referenzdaten wie Warteschlangen, Benutzer und Status zu reduzieren.
  • Cloud-Deployments: Implementieren Sie immer eine Authentifizierung, wenn Sie den HTTP-Endpunkt des selbst gehosteten Servers öffentlich zugänglich machen.

Support

Wenn Sie auf Fehler stoĂźen oder FunktionswĂĽnsche haben, verwenden Sie bitte den Bereich Issues im GitHub-Repository.