Přeskočit obsah

MCP Server (PHP)

Daktela MCP Server je read-only Model Context Protocol (MCP) server pro Daktela Contact Centre REST API v6. Umožňuje AI asistentům jako Claude, ChatGPT a dalším LLM klientům přistupovat k datům vašeho kontaktního centra a analyzovat je.

Co je MCP?

Model Context Protocol je otevřený standard, který umožňuje AI aplikacím připojit se k externím zdrojům dat a nástrojům. Spuštěním Daktela MCP Serveru dáte svému AI asistentovi strukturovaný přístup pouze pro čtení k vaší Daktela instanci -- to umožňuje úlohy jako audit kvality emailů, kontrolu obchodního pipeline nebo analýzu hovorů bez nutnosti psát jakýkoli kód.

Info

MCP server poskytuje přístup k datům vaší Daktely pouze pro čtení. Nemůže vytvářet, upravovat ani mazat žádné záznamy ve vaší instanci.


Požadavky

  • PHP 8.2 nebo vyšší
  • Composer (správce PHP balíčků)
  • Daktela instance s přístupem k API pro čtení
  • API Access Token z vašeho Daktela účtu

Instalace

  1. Naklonujte repozitář:

    git clone https://github.com/Daktela/daktela-v6-php-mcp-server.git
    cd daktela-v6-php-mcp-server
    
  2. Nainstalujte závislosti:

    composer install
    

Konfigurace

Server se konfiguruje pomocí proměnných prostředí. Vytvořte soubor .env na základě poskytnutého příkladu nebo předejte proměnné přímo při spuštění serveru.

Proměnná Povinná Výchozí Popis
DAKTELA_URL Ano URL vaší Daktela instance, např. https://vase-instance.daktela.com
DAKTELA_ACCESS_TOKEN Ano API Access Token z vašeho Daktela účtu
CACHE_ENABLED Ne true Povolení cachování referenčních dat (fronty, uživatelé, statusy atd.)
CACHE_TTL_SECONDS Ne 3600 Doba platnosti cache v sekundách

Tip

API Access Token můžete vygenerovat ve vaší Daktela instanci v sekci Spravovat > Uživatelé > Upravit uživatele > Přístupové tokeny.


Možnosti nasazení

MCP server podporuje dva transportní režimy: stdio (pro lokální AI desktopové aplikace) a HTTP (pro vzdálená/cloudová nasazení).

Claude Desktop -- Docker

Toto je doporučený přístup. Sestavte Docker image a nakonfigurujte Claude Desktop pro jeho použití.

  1. Sestavte image:

    docker build -f Dockerfile.prod -t daktela-v6-php-mcp-server .
    
  2. Přidejte následující do vašeho claude_desktop_config.json:

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

Claude Desktop -- Přímé spuštění PHP

Pokud preferujete spuštění PHP přímo bez Dockeru:

{
  "mcpServers": {
    "daktela": {
      "command": "php",
      "args": ["/cesta/k/daktela-v6-php-mcp-server/bin/server.php"],
      "env": {
        "DAKTELA_URL": "https://vase-instance.daktela.com",
        "DAKTELA_ACCESS_TOKEN": "vas-api-token"
      }
    }
  }
}

Docker -- Samostatně

Spusťte server jako samostatný Docker kontejner:

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

HTTP Server (Cloudové nasazení)

Pro vzdálená nasazení, jako je Google Cloud Run, server funguje v HTTP režimu, kde klienti předávají přihlašovací údaje přes hlavičky:

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

Příklad nasazení na Google Cloud Run:

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

Warning

Při nasazení do cloudu s --allow-unauthenticated zajistěte implementaci odpovídajících přístupových kontrol pro ochranu vašich dat v Daktele.


Dostupné nástroje

MCP server poskytuje 43 nástrojů pouze pro čtení organizovaných do následujících kategorií. Všechny nástroje pro výpisy podporují stránkování, řazení a kontextové filtrování.

Tickety

Nástroj Popis
count_tickets Počet ticketů odpovídajících filtru
get_ticket Získat konkrétní ticket podle ID
get_ticket_detail Získat detailní informace o ticketu
list_account_tickets Seznam ticketů pro konkrétní účet
list_ticket_categories Seznam dostupných kategorií ticketů
list_tickets Seznam ticketů s filtrováním a stránkováním

Aktivity

Nástroj Popis
count_activities Počet aktivit odpovídajících filtru
get_activity Získat konkrétní aktivitu podle ID
list_activities Seznam aktivit s filtrováním a stránkováním

Hovory

Nástroj Popis
count_calls Počet hovorů odpovídajících filtru
get_call Získat konkrétní hovor podle ID
get_call_transcript Získat přepis konkrétního hovoru
list_call_transcripts Seznam dostupných přepisů hovorů
list_calls Seznam hovorů s filtrováním a stránkováním

Emaily

Nástroj Popis
count_emails Počet emailů odpovídajících filtru
get_email Získat konkrétní email podle ID
list_emails Seznam emailů s filtrováním a stránkováním

Zprávy

Zahrnuje webchat, SMS, Facebook Messenger, Instagram, WhatsApp a Viber.

Nástroj Popis
count_chats Počet chatových zpráv odpovídajících filtru
get_chat Získat konkrétní chatovou zprávu podle ID
list_chats Seznam chatových zpráv s filtrováním a stránkováním

Kontakty a CRM

Nástroj Popis
count_accounts Počet účtů odpovídajících filtru
count_contacts Počet kontaktů odpovídajících filtru
count_crm_records Počet CRM záznamů odpovídajících filtru
get_account Získat konkrétní účet podle ID
get_contact Získat konkrétní kontakt podle ID
get_crm_record Získat konkrétní CRM záznam podle ID
list_accounts Seznam účtů s filtrováním a stránkováním
list_contacts Seznam kontaktů s filtrováním a stránkováním
list_crm_records Seznam CRM záznamů s filtrováním a stránkováním

Kampaně

Nástroj Popis
count_campaign_records Počet záznamů kampaní odpovídajících filtru
get_campaign_record Získat konkrétní záznam kampaně podle ID
list_campaign_records Seznam záznamů kampaní s filtrováním a stránkováním
list_campaign_types Seznam dostupných typů kampaní

Referenční data

Nástroj Popis
list_groups Seznam skupin agentů
list_pauses Seznam dostupných typů pauz
list_queues Seznam front
list_statuses Seznam statusů ticketů/aktivit
list_templates Seznam šablon zpráv
list_users Seznam uživatelů

Realtime

Nástroj Popis
list_realtime_sessions Seznam aktuálních realtime relací agentů

Znalostní báze

Nástroj Popis
list_article_folders Seznam složek znalostní báze
list_articles Seznam článků znalostní báze
get_article Získat konkrétní článek znalostní báze

Vestavěné prompty

Server obsahuje čtyři předpřipravené šablony promptů pro běžné analytické úlohy. Tyto prompty jsou dostupné přímo ve vašem AI klientovi po připojení MCP serveru.

Prompt Popis
email_quality_audit Audit emailů na negativní sentiment, neprofesionální tón a ztracené obchody
sales_pipeline_review Kontrola zdraví obchodů a identifikace ohrožených příležitostí
call_quality_review Analýza hovorů na eskalace, mezery ve znalostech a problémy s kvalitou
daily_call_analysis Denní analýza hovorů na riziko odchodu zákazníků a opakující se problémy

Příklady použití

Jakmile je MCP server připojen k vašemu AI klientovi, můžete klást otázky jako:

  • "Ukaž mi všechny otevřené tickety za posledních 7 dní a shrň časté problémy."
  • "Proveď audit posledních 50 emailů na negativní sentiment a neprofesionální tón."
  • "Vypiš všechny zmeškané hovory z dnešního dne a identifikuj vzorce."
  • "Zkontroluj obchodní pipeline a označ obchody, které stojí déle než 2 týdny."
  • "Analyzuj přepisy hovorů z tohoto týdne a zvýrazni eskalace."

AI asistent použije příslušné MCP nástroje k získání dat z vaší Daktela instance a poskytne strukturovanou analýzu.


Doporučené postupy

  • Bezpečnost tokenu: Nikdy nesdílejte svůj API Access Token veřejně. Používejte proměnné prostředí nebo služby pro správu tajemství k ukládání přihlašovacích údajů.
  • Cachování: Ponechte cachování povolené (výchozí nastavení) pro snížení počtu API volání pro referenční data jako fronty, uživatelé a statusy.
  • Řízení přístupu: Vytvořte vyhrazeného API uživatele s minimálními oprávněními pouze pro čtení pro MCP server místo použití admin tokenu.
  • Cloudová nasazení: Při veřejném vystavení HTTP server endpointu vždy implementujte autentizaci.

Podpora

Pokud narazíte na chyby nebo máte požadavky na nové funkce, prosím použijte sekci Issues na GitHub repository.