Přeskočit na obsah

Co je MCP server a jak souvisí s telefonováním

2. 9. 2026 · 7 minut čtení

MCP server je rozhraní, které dovolí AI editoru nebo asistentovi (Claude Code, Cursor, Windsurf a další) za běhu sáhnout na nástroj cizí služby a rovnou ho použít - ne si o něm jen povídat. Model Context Protocol (MCP) je otevřený standard, přes který si editor vyžádá seznam dostupných nástrojů, vybere ten pravý podle promptu a zavolá ho se skutečnými parametry; server na druhé straně nástroj provede a vrátí výsledek zpátky do konverzace. U volai je jedním z těch nástrojů make_call - proto zvládne AI editor doslova zvednout telefon a někomu zavolat, aniž bys napsal jediný řádek kódu.

Co je MCP server?

Model Context Protocol představil v listopadu 2024 Anthropic jako otevřený standard pro připojení AI modelů k cizím nástrojům a datům - místo aby si každý editor a každá služba domlouvaly vlastní propojení zvlášť, mluví jedním společným protokolem. MCP rozlišuje dvě strany: MCP klient je aplikace, kterou máš spuštěnou (Claude Code, Cursor, Claude Desktop), a MCP server je rozhraní, které nějaká služba (třeba volai) vystaví ven - se seznamem nástrojů, které umí zavolat.

MCP server volai běží na adrese https://volai.cz/mcp (jde o vzdálený server, spojený takzvaným streamable HTTP transportem, ne o proces na tvém disku) a vystavuje 31 nástrojů (stav k 2. 9. 2026, aktuální seznam je vždy na /docs/mcp) - od zjištění zůstatku kreditu přes nákup čísla až po odeslání SMS a právě zavolání na číslo.

Jak MCP klient volá nástroj?

Od instalace po skutečný hovor uběhne pár kroků, které editor dělá sám - ty napíšeš jen prompt:

  1. Editor se ke serveru připojí a ověří API klíčem (Authorization: Bearer vk_...) - stejným klíčem jako REST API a se stejným rate limitem, 60 požadavků za minutu.
  2. Server mu pošle seznam nástrojů - jméno, lidský popis a přesný tvar parametrů (JSON schéma) u každého.
  3. Model si podle popisu vybere ten, který se hodí k promptu - třeba make_call, když v promptu je „zavolej“.
  4. Editor zavolá nástroj se skutečnými parametry - telefonním číslem a instrukcemi pro agenta, ne obecným textem.
  5. Server na naší straně nástroj provede - založí hovor, strhne kredit - a vrátí výsledek dvakrát: jako čitelnou větu a zároveň jako strukturovaná data (structuredContent), aby si je klient, který to umí, vzal rovnou.
  6. Model dostane výsledek zpátky do konverzace a řekne ti, co se stalo - nebo pokračuje dalším nástrojem, třeba get_call, aby počkal na konec hovoru a přinesl ti přepis.

Příklad: make_call v praxi

Řekneš editoru obyčejnou větou, co chceš - třeba: „Zavolej na +420777123456, představ se jako recepce kavárny Kavka a zjisti, jestli chce host zarezervovat stůl.“ Editor z toho sestaví volání nástroje make_call - tohle přesně neuvidíš, ale takhle to vypadá pod kapotou:

json
{
  "to": "+420777123456",
  "systemPrompt": "Jsi recepce kavarny Kavka. Zvedni hovor, predstav se a zjisti, jestli chce volajici zarezervovat stul - pokud ano, zeptej se na jmeno a cas."
}

Nástroj vyžaduje cíl (to) a přesně JEDEN ze tří způsobů, jak hovor vést - agentId (povede ho tvůj založený agent), from (obyčejné propojení dvou čísel bez agenta) nebo systemPrompt (zkušební hovor bez vlastního čísla - jeden požadavek, nic se předem nekupuje ani nezakládá). Server odpoví rovnou i strukturovaně (jde o výřez - kompletní tvar objektu hovoru je v REST API referenci):

json
{
  "call": {
    "id": "c_7a2f91de",
    "direction": "out",
    "to": "+420777123456",
    "status": "initiated",
    "startedAt": 1756111400000
  },
  "trial": true,
  "from": "+420..."
}

Hovor začne ze sdíleného demo čísla volai, běží podle instrukcí v systemPrompt a účtuje se normálně včetně agentní přirážky, jen s přísnějším denním limitem než u vlastního agenta - nejvýš tři zkušební hovory bez vlastního čísla na účet za den (limit je popsaný v REST API referenci, stav k 2. 9. 2026). Právě proto odpověď navíc nese trial: truefrom se sdíleným demo číslem volai, aby bylo jasné, že hovor nejde z tvého vlastního čísla.

Jak MCP souvisí s telefonováním?

MCP server sám o sobě žádný telefon nezvedá - je to jen vstupní brána, kterou se tvůj prompt dostane ke skutečné servisní logice. Za ní make_call zavolá stejnou vrstvu jako REST API a portál, ta založí hovor na telefonní síti a dál to jede stejně jako u kteréhokoli jiného odchozího hovoru volai - přes SIP trunk, který propojuje internetovou signalizaci se skutečnou telefonní sítí (jak přesně, popisuje článek Co je SIP trunk). MCP je tedy jazyk, kterým mluví AI editor, SIP trunk je jazyk, kterým mluví telefonní síť - a mezi nimi leží servisní logika, která obě spojuje.

Bezpečnost

MCP se autorizuje stejným API klíčem jako REST API - kdo ho má, může tvým jménem utrácet kredit: kupovat čísla, volat, posílat SMS, zakládat agenty. Klíč proto patří jen do konfigurace editoru, nikdy do frontendového kódu ani do repozitáře na GitHubu. Podezření na únik řeší jedno tlačítko v portálu (API a MCP) - smazání klíče platí okamžitě a nejde vzít zpět.

Druhá vrstva ochrany běží na serveru, ne v promptu. Číslo přidané na seznam nevolat (nástroj add_to_dnc) zablokuje volání přes make_call i přes relay bez ohledu na to, co je napsané v promptu - AI model si nemusí sám pamatovat, koho nesmí volat, hranici hlídá server. Podobně nástroje, které stojí peníze nebo něco nevratně mění (make_call, send_sms, delete_agent...), nesou v protokolu vlastní příznaky - server dopředu řekne, jestli je akce nevratná nebo jestli se smí bezpečně zopakovat. Placené akce schválně NEJSOU idempotentní: druhé zavolání stejného make_call po výpadku spojení vytočí druhý hovor a strhne druhou platbu, takže dobrý klient je po timeoutu sám od sebe neopakuje.

A jedna věc chybí úplně schválně: uvolnění zakoupeného telefonního čísla mezi 31 nástroji není. Číslo koupit přes MCP jde, zrušit ne - na nevratnou akci, která zákazníka může připravit o číslo vytištěné na letáku, je potřeba portál nebo REST API, ne jedna špatně pochopená věta v promptu.

Jak si to vyzkoušet

Instalace do Claude Code je jeden příkaz v terminálu (Cursor, Windsurf a Claude Desktop mají vlastní pár řádků JSON, viz /docs/mcp):

bash
claude mcp add --transport http volai https://volai.cz/mcp \
  --header "Authorization: Bearer vk_TVUJ_KLIC"
ChcešKam dál
Kompletní seznam nástrojů a instalaci do dalších editorůMCP server
Stejná data přes obyčejné HTTP požadavky z vlastního backenduREST API

A kam ten hovor doopravdy jde?

make_call nakonec pustí zvuk do skutečné telefonní sítě přes SIP trunk - co to je a proč ho AI hlasový agent potřebuje, vysvětluje článek Co je SIP trunk.

Vyzkoušej volai - prvních 50 Kč na nás

Založíš účet za minutu a rovnou máš na kontě startovní kredit na hovory, SMS i číslo.

Vyzkoušet zdarma