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.
- GitHub Repository: Daktela/daktela-v6-php-mcp-server
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¶
-
Naklonujte repozitář:
-
Nainstalujte závislosti:
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í.
-
Sestavte image:
-
Přidejte následující do vašeho
claude_desktop_config.json:
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.