Open in
Používajte ThunderPhone ako server MCP
Vytvárajte, testujte, overujte a prevádzkujte hlasových agentov ThunderPhone z Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code alebo iného klienta Streamable HTTP MCP.
ThunderPhone poskytuje server Streamable HTTP Model Context Protocol na adrese:
https://api.thunderphone.com/v1/mcpIde o opačný smer než pri pripojení vzdialeného servera MCP k hlasovému agentovi:
| Smer | Výsledok |
|---|---|
| Vzdialený server MCP → agent ThunderPhone | Hlasový agent môže volať nástroje vzdialeného servera. |
| ThunderPhone → váš klient MCP | Váš kódovací agent môže vytvárať, testovať a spravovať ThunderPhone. |
Overenie totožnosti
Pre klientov z adresára predvolene použite OAuth: prihláste sa, vyberte organizáciu a schváľte požadované oprávnenia. Prístup odvolajte v časti Organizácia → Kľúče API → Autorizované aplikácie.
Pre klientov nakonfigurovaných pomocou kľúča API vytvorte kľúč sk_live_ v časti Organizácia → Kľúče a sprístupnite ho klientovi MCP ako THUNDERPHONE_API_KEY. Kľúč je viazaný na jednu organizáciu; identifikátor vlastnený inou organizáciou sa správa, akoby nebol nájdený.
Alternatívy CLI a stdio
ThunderPhone CLI môže zapisovať konfiguráciu klienta pri zachovaní nesúvisiacich serverov:
npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope userPo globálnej inštalácii @thunderphone/mcp použite thunderphone-mcp setup s
rovnakými možnosťami. Nastavenie podporuje Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop a Windsurf. Uprednostňuje sa priame HTTP; Desktop používa stdio.
Pre ľubovoľného klienta podporujúceho stdio nakonfigurujte command: "npx" s
args: ["-y", "@thunderphone/mcp"]. Obal najskôr používa THUNDERPHONE_API_KEY,
potom poverenia z príkazu thunderphone login, pričom obnovuje tokeny po uplynutí platnosti, a následne
OAuth prostredníctvom mcp-remote. Prihlásenie zariadenia a OAuth vyžadujú príslušné zavedenie
OAuth v API. Cesta s kľúčom API ho nevyžaduje. Konfigurácie priameho HTTP nečítajú
úložisko poverení CLI; na opätovné použitie prihlásenia zariadenia použite obal stdio.
Tieto možnosti sú alternatívou k manuálnym konfiguráciám klienta uvedeným nižšie.
Konfigurácia klienta
Claude a ChatGPT používajú prihlásenie cez OAuth; nepoužíva sa žiadny kľúč API. Ak ešte nemáte účet ThunderPhone, na prihlasovacej stránke vyberte Vytvoriť účet. Po overení e-mailu sa vrátite na obrazovku schválenia.
Claude (web, počítač a mobil)
- Otvorte Nastavenia → Konektory. Ak sa ThunderPhone zobrazí v adresári konektorov, vyberte ho. V opačnom prípade vyberte Pridať vlastný konektor, pomenujte ho
ThunderPhonea zadajtehttps://api.thunderphone.com/v1/mcp. - Vyberte Pripojiť, prihláste sa do ThunderPhone, vyberte organizáciu a schváľte oprávnenia.
- V chate povoľte ThunderPhone v ponuke nástrojov a požiadajte o to, čo potrebujete, napríklad „Zobraziť zoznam mojich agentov“.
Vlastné konektory vyžadujú platený program Claude. V programoch Team a Enterprise vlastník najprv pridá konektor v nastaveniach konektorov organizácie a potom si každý člen pripojí vlastný účet ThunderPhone.
ChatGPT
- Ak sa ThunderPhone zobrazí v adresári aplikácií ChatGPT, vyberte ho a pripojte sa.
- V opačnom prípade otvorte Nastavenia → Aplikácie a konektory → Rozšírené nastavenia, zapnite Režim vývojára a vytvorte konektor s adresou URL
https://api.thunderphone.com/v1/mcpa overovaním OAuth. - Prihláste sa do ThunderPhone, vyberte organizáciu a schváľte oprávnenia. Pridajte ThunderPhone do chatu z ponuky nástrojov.
Odstránenie agenta alebo telefónneho čísla, zahodenie konceptu a spustenie kampane vyžadujú v oboch aplikáciách druhé potvrdenie; pozrite si Potvrdzovanie deštruktívnych akcií.
Claude Code
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
--header "Authorization: Bearer $THUNDERPHONE_API_KEY"Codex
Pridajte toto do súboru ~/.codex/config.toml:
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"Cursor
Vytvorte súbor .cursor/mcp.json:
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
}
}
}
}Claude Desktop
Pridajte most mcp-remote do konfigurácie Claude Desktop:
{
"mcpServers": {
"thunderphone": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.thunderphone.com/v1/mcp",
"--header",
"Authorization: Bearer ${THUNDERPHONE_API_KEY}"
],
"env": {
"THUNDERPHONE_API_KEY": "sk_live_YOUR_API_KEY"
}
}
}
}VS Code
Vytvorte súbor .vscode/mcp.json a zadajte kľúč prostredníctvom výzvy na zadanie vo VS Code:
{
"inputs": [
{
"type": "promptString",
"id": "thunderphone-api-key",
"description": "ThunderPhone organization API key",
"password": true
}
],
"servers": {
"thunderphone": {
"type": "http",
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${input:thunderphone-api-key}"
}
}
}
}Nástroje
Každý nástroj obsahuje anotácie MCP. V tabuľkách R znamená iba na čítanie, D deštruktívny, I idempotentný a O interakciu s otvoreným svetom alebo sieťou. Pomlčka znamená, že nie je nastavená žiadna nápoveda.
Agenti
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_agents | — | R, I | Vypíše agentov. |
get_agent | agent_id | R, I | Získa jedného agenta. |
create_agent | konfigurácia agenta | — | Vytvorí agenta. |
update_agent | agent_id, zmenené polia | — | Pripraví polia v návrhu agenta. |
deploy_agent | agent_id, voliteľné if_updated_at | I | Presunie návrh do produkcie. |
discard_agent_draft | agent_id, voliteľné if_updated_at, confirmation_token pri druhej požiadavke | D, I | Zahodí pripravené zmeny. Dvojkrokový postup, pozrite si Potvrdzovanie deštruktívnych akcií. |
duplicate_agent | agent_id, voliteľné name | — | Skopíruje agenta v rámci organizácie. |
delete_agent | agent_id, confirmation_token pri druhej požiadavke | D, I | Natrvalo odstráni agenta. Dvojkrokový postup. |
list_agent_versions | agent_id | R, I | Vypíše nasadené verzie konfigurácie. |
Telefónne čísla a operátori
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_phone_numbers | — | R, I | Vypíše čísla organizácie a smerovanie. |
get_phone_number_limits | — | R, I | Získa využitie a limity spravovaných čísel. |
provision_phone_number | voliteľné area_code, city, state, idempotency_key | O | Kúpi prichádzajúce číslo spravované službou ThunderPhone. |
list_voip_connections | — | R, I | Vypíše pripojených operátorov zákazníka. |
search_voip_numbers | connection_id, country, type, voliteľné area_code | R, I, O | Vyhľadáva v inventári operátora. |
import_voip_numbers | connection_id, numbers | O | Importuje čísla, ktoré už vlastníte u operátora. |
update_phone_number | phone_number_id, polia smerovania/označenia/webhooku | — | Aktualizuje smerovanie čísla vrátane priradenia agenta. |
delete_phone_number | phone_number_id, confirm, voliteľné release_at_provider, confirmation_token pri druhej požiadavke | D, I, O | Uvoľní číslo. Dvojkrokový postup. |
Hovory
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_calls | voliteľné filtre, limit, offset | R, I | Vypíše hovory s filtrami histórie hovorov REST. |
get_call | call_id | R, I | Získa stav hovoru a metadáta. |
get_call_transcript | call_id, voliteľné live | R, I | Získa prepis hovoru. |
get_call_audio_url | call_id, voliteľné download | R, I, O | Vráti podpísanú adresu URL zvuku; nikdy neprenáša zvuk cez MCP. |
get_call_grade | call_id | R, I | Získa najnovšie hodnotenie hovoru. |
place_call | agent_id, from_number, to_number | O | Uskutoční jeden neidempotentný odchádzajúci hovor. |
export_calls | filtre hovorov, export_format | R, I | Exportuje až do limitu koncového bodu REST vo formáte JSON alebo CSV. |
Testovanie a overovanie
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Vypíše testovacie scenáre. |
create_test_scenario | agent_id, title, scenario_prompt, voliteľné podmienky | — | Vytvorí scenár. |
generate_test_scenarios | agent_id, voliteľné count, include_edge_cases, locale | O | Generuje scenáre z výzvy agenta. |
run_agent_tests | agent_id, channel, consent_to_charge, voliteľný výber/matica | O | Spustí scenáre cez web alebo telefóniu. |
get_test_run | agent_id, batch_id | R, I | Získa stav dávky a výsledky jednotlivých scenárov. |
list_validation_runs | agent_id | R, I | Vypíše nedávne spustenia overenia návrhu. |
get_validation_status | agent_id | R, I | Získa najnovší stav overenia a zhodu návrhu. |
Znalosti
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_knowledge_bases | — | R, I | Vypíše znalostné databázy. |
create_knowledge_base | name, voliteľné description | — | Vytvorí znalostnú databázu. |
add_knowledge_document | knowledge_base_id, name, content | — | Pridá text alebo Markdown. |
import_knowledge_url | url, voliteľné name | O | Zaradí verejnú stránku do frontu na bezpečné spracovanie. |
search_knowledge | knowledge_base_id, query | R, I | Vyhľadáva prostredníctvom produkčného získavania informácií. |
Integrácie, webhooky a vzdialené servery MCP
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_integrations | — | R, I | Vypíše integrácie funkcií HTTP. |
create_integration | display_name, funkcia spec, voliteľné polia koncového bodu | — | Vytvorí nástroj HTTP. |
test_integration | url, voliteľné method/headers/body/timeout | O | Odošle obmedzenú testovaciu požiadavku chránenú pred SSRF. |
list_webhook_endpoints | — | R, I | Vypíše podpísané koncové body webhookov. |
create_webhook_endpoint | label, url, voliteľné events/status | O | Vytvorí podpísaný koncový bod webhooku. |
test_webhook_endpoint | endpoint_id | O | Odošle syntetickú udalosť prostredníctvom bežného doručovania. |
list_mcp_servers | — | R, I | Vypíše vzdialené servery, ktoré môžu volať hlasoví agenti. |
create_mcp_server | display_name, url, voliteľné headers | O | Zaregistruje a synchronizuje vzdialený server. |
sync_mcp_server_tools | server_id | O | Obnoví katalóg nástrojov vzdialeného servera. |
Kampane
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_campaigns | — | R, I | Vypíše odchádzajúce kampane. |
create_campaign | polia kampane | — | Vytvorí návrh kampane. |
add_campaign_contacts | campaign_id, contacts | — | Pridá až 5 000 kontaktov JSON. |
campaign_action | campaign_id, action, voliteľné consent_to_charge, confirmation_token pri druhej požiadavke | D, O | Spustí start, pause, resume alebo stop. start a resume sú dvojkrokové; pause a stop sa spustia okamžite. |
get_campaign_stats | campaign_id | R, I | Získa počítadlá a nedávne výsledky. |
Hlasy, fakturácia, importy a dokumentácia
| Nástroj | Hlavné argumenty | Anotácie | Čo robí |
|---|---|---|---|
list_voices | — | R, I | Vypíše hlasy a podporované jazyky. |
preview_voice | voice, language, text | O | Vygeneruje ukážku a vráti podpísanú adresu URL. |
list_voice_clones | — | R, I | Vypíše vlastné klony hlasov. |
get_billing_summary | — | R, I | Získa zostatok a záväzné ceny úrovní; nie sú sprístupnené žiadne zmeny platieb. |
create_agent_import | vendor, vendor_key | O | Spustí šifrovaný import z Vapi, Retell, ElevenLabs alebo Bland. |
get_agent_import | public_id | R, I | Získa navrhovaný rozdiel importu. |
commit_agent_import | public_id | — | Potvrdí vybraných agentov z kontrolovaného plánu. |
search_docs | query, voliteľné limit | R, I, O | Vyhľadáva vo verejnom indexe dokumentácie. |
get_doc_page | path | R, I, O | Načíta jednu verejnú stránku dokumentácie Markdown. |
Všetky produktové nástroje používajú rovnaké cesty kódu REST ako verejné API. Overovanie REST, rozsah organizácie, roly, schvaľovanie fakturácie, kvóty, potvrdenie TCPA, bezpečnosť poskytovateľov a správanie auditu preto platia bez zmeny.
Potvrdzovanie deštruktívnych akcií
Nástroje označené D menia alebo odstraňujú niečo, čo nemožno obnoviť, alebo začínajú vytáčať skutočné osoby. Vyžadujú dve požiadavky. Prvá požiadavka nič nemení a vráti:
{
"status": "confirmation_required",
"action": "Delete agent",
"target": { "id": 195, "name": "Front Desk Receptionist" },
"confirmation_token": "…",
"expires_in_seconds": 600,
"next_step": "…"
}Asistent používateľovi zobrazí, čo bude ovplyvnené, a požiada o potvrdenie. Potom zopakuje požiadavku s rovnakými argumentmi a s parametrom confirmation_token. Token je platný 10 minút a vzťahuje sa na jednu organizáciu, jeden nástroj a jednu presnú sadu argumentov, takže odstránenie troch agentov vyžaduje tri potvrdenia. campaign_action s hodnotou pause alebo stop tento krok preskočí, aby bolo možné prebiehajúcu kampaň vždy okamžite zastaviť.
Úvodné prompty
prompts/list ponúka šesť opakovane použiteľných pracovných postupov:
create_inbound_receptionistrun_agent_testsimport_vapi_assistantsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
Použite prompts/get s uvedeným názvom promptu a jeho deklarovanými argumentmi, aby ste získali správu používateľa pripravenú na spustenie.
Zdroje
resources/list sprístupňuje verejné referencie uložené vo vyrovnávacej pamäti:
| URI | Obsah |
|---|---|
thunderphone://docs/llms.txt | Verejný index dokumentácie. |
thunderphone://docs/quickstart | Markdown s rýchlym začiatkom. |
thunderphone://pricing | Markdown s aktuálnymi verejnými cenami. |
Jeden zdroj načítajte pomocou resources/read. Verejné načítania používajú krátky časový limit, limit 2 MiB a desaťminútovú vyrovnávaciu pamäť v procese.
Protokol a chyby
Server podporuje verzie protokolu 2025-06-18 a 2025-03-26; vráti podporovanú verziu klienta a inak vyberie 2025-06-18. Implementuje initialize, ping, nástroje, prompty, zdroje a oznámenia. Oznámenia vracajú 202 Accepted. Tento bezstavový server nesprístupňuje poslucháč SSE ani odstránenie relácie, takže GET a DELETE vracajú 405 Method Not Allowed s hodnotou Allow: POST.
Zlyhania nástrojov zostávajú úspešnými odpoveďami JSON-RPC s hodnotou isError: true. Ich text obsahuje krátku vetu, po ktorej nasleduje blok JSON:
{
"code": "insufficient_balance",
"detail": "There is not enough prepaid balance.",
"next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}Rozlišovací prefix outbound_tcpa_confirmation_required: zostáva zachovaný pre place_call. Neznáme metódy JSON-RPC vracajú -32601 v odpovedi HTTP 200. Dávky JSON-RPC nie sú podporované v MCP 2025-06-18 a vracajú čistú chybu neplatnej požiadavky -32600.