FyzioDesk

MCP server

Asistentka, ktorá vie, kto má kedy prísť

Pripoj Clauda alebo iného AI klienta k FyzioDesku. Nájde klienta v kartotéke, prečíta rozvrh, ponúkne voľný termín, objedná aj zruší — a povie ti, kto nezaplatil.

Chodí cez to isté verejné API ako každý cudzí systém. Nemá vlastný prístup do databázy a nemôže nič, čo by nemohol človek, ktorý kľúč vytvoril.

Pripojiť asistenta

Prihlásiš sa, vyberieš rozsahy a odnesieš si hotovú konfiguráciu aj s kľúčom.

Zdravotná dokumentácia cez API nechodí

Zápisy z návštev, fotodokumentácia, prílohy, McKenzie vyšetrenia, GDPR súhlasy ani dotazníky nie sú cez kľúč dostupné — a nedá sa to zapnúť zaškrtnutím. Sú to najcitlivejšie údaje v systéme a keď raz budú mať cestu von, dostanú vlastné rozhodnutie, nie odvodené oprávnenie. Asistentka sa k nim teda nedostane ani omylom, ani na vyzvanie.

Rýchly štart

  1. 1

    Vytvor kľúč

    V Nastaveniach → Integrácie vytvor API kľúč a zaškrtni rozsahy, ktoré má asistentka mať. Kľúč sa zobrazí raz — vtedy si ho skopíruj.

  2. 2

    Vlož konfiguráciu

    Do svojho AI klienta pridaj server podľa návodu nižšie a namiesto fd_… vlož svoj kľúč.

  3. 3

    Skús to

    Reštartuj klienta a napíš „ukáž mi dnešný rozvrh". Ak sa vypíše, hotovo.

Pripoj svojho klienta

Server beží lokálne na tvojom počítači a rozpráva sa s API kliniky. Adresa je adresa tvojho FyzioDesku, časová zóna určuje, čo znamená „dnes" a „zajtra".

Claude Desktop

Súbor claude_desktop_config.json — otvoríš ho cez Nastavenia → Developer → Edit Config.

{
  "mcpServers": {
    "fyziodesk": {
      "command": "npx",
      "args": ["-y", "@fyziodesk/mcp"],
      "env": {
        "FYZIODESK_API_URL": "https://api.tvojaklinika.sk",
        "FYZIODESK_API_KEY": "fd_…",
        "FYZIODESK_TIMEZONE": "Europe/Bratislava"
      }
    }
  }
}

Claude Code

Jedným príkazom v termináli. Bez --scope user platí len pre daný projekt.

claude mcp add fyziodesk --scope user \
  --env FYZIODESK_API_URL=https://api.tvojaklinika.sk \
  --env FYZIODESK_API_KEY=fd_… \
  --env FYZIODESK_TIMEZONE=Europe/Bratislava \
  -- npx -y @fyziodesk/mcp

Cursor

Súbor .cursor/mcp.json v projekte alebo ~/.cursor/mcp.json pre všetky.

{
  "mcpServers": {
    "fyziodesk": {
      "command": "npx",
      "args": ["-y", "@fyziodesk/mcp"],
      "env": {
        "FYZIODESK_API_URL": "https://api.tvojaklinika.sk",
        "FYZIODESK_API_KEY": "fd_…",
        "FYZIODESK_TIMEZONE": "Europe/Bratislava"
      }
    }
  }
}

VS Code (Copilot)

Súbor .vscode/mcp.json — kľúč je servers, nie mcpServers.

{
  "servers": {
    "fyziodesk": {
      "command": "npx",
      "args": ["-y", "@fyziodesk/mcp"],
      "env": {
        "FYZIODESK_API_URL": "https://api.tvojaklinika.sk",
        "FYZIODESK_API_KEY": "fd_…",
        "FYZIODESK_TIMEZONE": "Europe/Bratislava"
      }
    }
  }
}

Klienta po zmene konfigurácie treba reštartovať. Časová zóna je pre českú kliniku Europe/Prague.

Kľúč a oprávnenia

Kľúč sa viaže na členstvo toho, kto ho vytvoril, nie na pracovisko. Keď človek z kliniky odíde a jeho členstvo sa pozastaví, kľúč prestane fungovať v tej istej chvíli — nezostane visieť ako otvorené dvere po bývalom zamestnancovi.

Rozsahy určujú, čo kľúč smie. Predvolený stav je zavretý: čo nie je vyslovene povolené, neprejde. Asistentke stačí päť rozsahov — a ak jej nedáš Kalendár — zápis, bude vedieť len radiť, nie objednávať.

RozsahNa čo ho asistentka potrebuje
Kartotéka — čítanieNájsť klienta a jeho identifikátor.
Kalendár — čítanieRozvrh dňa a voľné termíny.
Kalendár — zápisObjednať a zrušiť. Bez neho asistentka len radí.
Kliniky, služby a tím — čítaniePreložiť názov služby na tú správnu.
Doklady — čítanieNeuhradené faktúry. Nepovinné.

Kľúč môže mať obmedzenú platnosť aj bežať bez obmedzenia. Zrušiť sa dá kedykoľvek a zrušenie platí okamžite. Celý kľúč sa zobrazí raz pri vytvorení — v databáze zostáva len jeho odtlačok, takže ho nevie prečítať ani správca systému.

Šesť nástrojov

Odpovede chodia ako text pre človeka, nie ako JSON. Model ho číta rovnako dobre — ale ak ho prečíta zle, chyba je vidieť v odpovedi a to, čo z toho povie klientovi, sa dá skontrolovať.

najdi_klienta

Nájsť klienta

Hľadá v kartotéke podľa mena, telefónu alebo e-mailu. Diakritika nie je potrebná — „ceresna" nájde Čerešňu. Vracia aj identifikátor, ktorý treba pri objednávaní.

hladany_vyraz
Meno, priezvisko, telefón alebo e-mail
Kartotéka — čítanie

terminy_dna

Termíny v konkrétny deň

Rozvrh na daný deň — kto, kedy, u koho a v akom stave. Zrušené termíny vynecháva, ten čas je predsa voľný.

den
„dnes", „zajtra", „pondelok" alebo 2026-08-20 — nepovinné, predvolene dnes
Kalendár — čítanie

volne_terminy

Voľné termíny

Kedy je voľno na danú službu. Počíta pracovný čas, dovolenky, obsadenosť ambulancií aj súkromný kalendár terapeuta. Nie je to rezervácia — voľný čas môže medzitým zabrať niekto iný.

sluzba
Názov služby, napríklad „Individuálna terapia"
od_dna
Od kedy hľadať — nepovinné, predvolene dnes
pocet_dni
Koľko dní dopredu, 1 až 30 — nepovinné, predvolene 7
Kalendár — čítanieKliniky, služby a tím — čítanie

objednaj_klienta

Objednať klienta

Založí termín. Klienta treba najprv nájsť a použiť jeho identifikátor — objednať podľa mena sa nedá, aby sa netrafil nesprávny človek. Terapeuta si berie z voľného slotu, nehádže ho. Keď je čas medzitým obsadený, objednávka neprejde a asistentka dostane najbližšie voľné časy.

klient_id
Identifikátor z najdi_klienta
sluzba
Názov služby, napríklad „Individuálna terapia"
den
„dnes", „zajtra", „pondelok" alebo 2026-08-20 — nepovinné, predvolene dnes
cas
Napríklad „9:00"
poznamka
Poznámka k termínu — nepovinné
Kalendár — zápisKalendár — čítanieKliniky, služby a tím — čítanie

zrus_termin

Zrušiť termín

Zruší termín podľa identifikátora. Uvoľní čas a pošle klientovi správu — nedá sa vziať späť, tak sa oplatí najprv si nechať termín prečítať nahlas.

termin_id
Identifikátor z terminy_dna
dovod
Dôvod zrušenia, ak ho klient uviedol — nepovinné
Kalendár — zápis

neuhradene_doklady

Neuhradené doklady

Faktúry, ktoré ešte neboli zaplatené — s klientom, zvyšnou sumou a splatnosťou. Po splatnosti sú označené.

Doklady — čítanie

Ako to vyzerá v rozhovore

Presun je zámerne dva kroky — najprv sa objedná nový čas, až potom sa ruší starý. Keby to išlo naopak a nový čas by medzitým niekto zabral, klient by zostal bez termínu.

Limity a chyby

Chyby chodia k modelu ako obyčajná odpoveď, nie ako pád spojenia. „Terapeut má v tom čase iný termín" je pre asistentku pokyn, čo skúsiť ďalej — kým prerušený rozhovor je len klient, ktorý pri telefóne stále čaká.

KódČo sa staloČo s tým
401Kľúč neplatí, vypršal, bol zrušený alebo je pozastavené členstvo jeho majiteľa.Vytvor nový kľúč v Nastaveniach → Integrácie.
403Kľúč nemá potrebný rozsah — alebo ide o časť API, ktorá cez kľúč neprechádza vôbec.Doplň rozsah. Pri zdravotnej dokumentácii sa doplniť nedá, tá je zavretá zámerne.
404Termín alebo klient neexistuje.Identifikátor je z iného pracoviska alebo už bol zmazaný.
409Čas medzitým zabral niekto iný.Asistentka ponúkne najbližšie voľné časy sama.
422Vstupné údaje nie sú platné.Zvyčajne dátum alebo čas v tvare, ktorý sa nedá prečítať.
429Viac než 120 požiadaviek za minútu.Počkaj minútu. Bežná práca recepcie sa do limitu zmestí s rezervou.

Čo asistentka nevie