Open in
Uporabljajte ThunderPhone kot strežnik MCP
Gradite, preizkušajte, potrjujte in upravljajte glasovne agente ThunderPhone iz Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code ali drugega odjemalca Streamable HTTP MCP.
ThunderPhone ponuja strežnik Streamable HTTP Model Context Protocol na naslovu:
https://api.thunderphone.com/v1/mcpTo je nasprotna smer kot pri povezovanju oddaljenega strežnika MCP z glasovnim agentom:
| Smer | Rezultat |
|---|---|
| Oddaljeni strežnik MCP → agent ThunderPhone | Glasovni agent lahko kliče orodja oddaljenega strežnika. |
| ThunderPhone → vaš odjemalec MCP | Vaš agent za programiranje lahko izdeluje, preizkuša in upravlja ThunderPhone. |
Preverjanje pristnosti
Za odjemalce imenika privzeto uporabite OAuth: prijavite se, izberite organizacijo in odobrite zahtevana dovoljenja. Dostop prekličite v razdelku Organizacija → Ključi API → Pooblaščene aplikacije.
Za odjemalce, konfigurirane s ključem API, ustvarite ključ sk_live_ v razdelku Organizacija → Ključi in ga svojemu odjemalcu MCP izpostavite kot THUNDERPHONE_API_KEY. Ključ je vezan na eno organizacijo; ID, ki pripada drugi organizaciji, se obravnava kot da ga ni mogoče najti.
Možnosti CLI in stdio
ThunderPhone CLI lahko zapiše konfiguracijo odjemalca, pri tem pa ohrani nepovezane strežnike:
npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope userPo globalni namestitvi paketa @thunderphone/mcp uporabite thunderphone-mcp setup z
istimi možnostmi. Nastavitev podpira Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop in Windsurf. Prednost ima neposredni HTTP; Desktop uporablja stdio.
Za vsak odjemalec, ki podpira stdio, konfigurirajte command: "npx" z
args: ["-y", "@thunderphone/mcp"]. Ovojnica najprej uporabi THUNDERPHONE_API_KEY,
nato poverilnice iz thunderphone login, pri čemer osveži potekle žetone, nato pa
OAuth prek mcp-remote. Prijava z napravo in OAuth zahtevata ustrezno uvedbo OAuth
API-ja. Pot s ključem API tega ne zahteva. Konfiguracije neposrednega HTTP ne berejo
shrambe poverilnic CLI; za ponovno uporabo prijave z napravo uporabite ovojnico stdio.
To so alternative ročnim konfiguracijam odjemalca spodaj.
Konfiguracija odjemalca
Claude in ChatGPT se prijavita prek OAuth; ključ API ni potreben. Če še nimate računa ThunderPhone, na prijavni strani izberite Ustvarite račun; po potrditvi e-poštnega naslova se vrnete na zaslon za odobritev.
Claude (splet, namizje in mobilne naprave)
- Odprite Prilagoditev → Povezovalniki (v starejših različicah Nastavitve → Povezovalniki). Če se ThunderPhone prikaže v imeniku povezovalnikov, ga izberite. V nasprotnem primeru izberite Dodajte povezovalnik po meri, ga poimenujte
ThunderPhonein vnesitehttps://api.thunderphone.com/v1/mcp. - Izberite Poveži, prijavite se v ThunderPhone, izberite organizacijo in odobrite dovoljenja.
- V klepetu v meniju orodij omogočite ThunderPhone in zahtevajte, kar potrebujete, na primer »Prikaži seznam mojih agentov«.
Claude vas pred prvo uporabo vsakega orodja vpraša za potrditev. Če želite preskočiti večino teh pozivov, odprite Prilagoditev → Povezovalniki → ThunderPhone in nastavite Orodja samo za branje na vedno dovoli. Ta orodja samo poiščejo informacije: agente, klice, prepise, stanja dobroimetja in dokumentacijo. Če želite videti vsako spremembo, preden se izvede, pustite Orodja za pisanje/brisanje nastavljeno na odobritev.
Povezovalniki po meri zahtevajo plačljiv paket Claude. Pri paketih Team in Enterprise lastnik najprej doda povezovalnik v nastavitvah povezovalnikov organizacije, nato pa vsak član poveže svoj račun ThunderPhone.
ChatGPT
- Če se ThunderPhone prikaže v imeniku aplikacij ChatGPT, ga izberite in povežite.
- V nasprotnem primeru odprite Nastavitve → Aplikacije in povezovalniki → Dodatne nastavitve, vklopite Način za razvijalce in ustvarite povezovalnik z URL-jem
https://api.thunderphone.com/v1/mcpter preverjanjem pristnosti OAuth. - Prijavite se v ThunderPhone, izberite organizacijo in odobrite dovoljenja. ThunderPhone dodajte v klepet iz menija orodij.
Brisanje agenta ali telefonske številke, opuščanje osnutka, zagon kampanje in pošiljanje preskusne zahteve, ki lahko zapisuje v zunanji sistem, v obeh aplikacijah zahtevajo drugo potrditev; glejte Potrjevanje destruktivnih dejanj.
Claude Code
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
--header "Authorization: Bearer $THUNDERPHONE_API_KEY"Codex
To dodajte v ~/.codex/config.toml:
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"Cursor
Ustvarite .cursor/mcp.json:
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
}
}
}
}Claude Desktop
V konfiguracijo Claude Desktop dodajte most mcp-remote:
{
"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
Ustvarite .vscode/mcp.json in vnesite ključ prek poziva za vnos v 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}"
}
}
}
}Orodja
Vsako orodje vključuje oznake MCP. V tabelah R pomeni samo za branje, D destruktivno, I idempotentno in O interakcijo z odprtim svetom/omrežjem. Pomišljaj pomeni, da ni nastavljena nobena oznaka.
Povezava
| Orodje | Glavni argumenti | Oznake | Kaj naredi |
|---|---|---|---|
get_connection_identity | — | R, I | Preveri poverilnico ter vrne organizacijo in varne metapodatke poverilnice. |
Agenti
| Orodje | Glavni argumenti | Oznake | Kaj naredi |
|---|---|---|---|
list_agents | — | R, I | Navede agente. |
get_agent | agent_id | R, I | Pridobi enega agenta. |
create_agent | konfiguracija agenta | — | Ustvari agenta. |
update_agent | agent_id, spremenjena polja | D | Pripravi polja v osnutku agenta in nadomesti obstoječa polja osnutka. Izvede se brez koraka potrditve: uvedeni agent ostane nespremenjen do deploy_agent, discard_agent_draft pa povrne osnutek. |
deploy_agent | agent_id, izbirni if_updated_at | D, I | Poviša osnutek v produkcijo. |
discard_agent_draft | agent_id, izbirni if_updated_at, confirmation_token ob drugi zahtevi | D, I | Zavrže pripravljene spremembe. Dvostopenjsko, glejte Potrjevanje uničujočih dejanj. |
duplicate_agent | agent_id, izbirni name | — | Kopira agenta znotraj organizacije. |
delete_agent | agent_id, confirmation_token ob drugi zahtevi | D, I | Trajno izbriše agenta. Dvostopenjsko. |
list_agent_versions | agent_id | R, I | Navede različice uvedene konfiguracije. |
Telefonske številke in ponudniki
| Orodje | Glavni argumenti | Opombe | Kaj počne |
|---|---|---|---|
list_phone_numbers | — | R, I | Navede številke organizacije in usmerjanje. |
get_phone_number_limits | — | R, I | Pridobi uporabo in omejitve upravljanih številk. |
provision_phone_number | neobvezni area_code, city, state, idempotency_key | D, O | Kupi dohodno številko, ki jo upravlja ThunderPhone. |
list_voip_connections | — | R, I | Navede povezane operaterje strank. |
search_voip_numbers | connection_id, country, type, neobvezni area_code | R, I, O | Preišče inventar operaterja. |
import_voip_numbers | connection_id, numbers | D, O | Uvozi številke, ki so že v lasti pri operaterju. |
update_phone_number | phone_number_id, polja za usmerjanje/oznako/webhook | D | Posodobi usmerjanje številke, vključno z dodelitvijo agenta. |
delete_phone_number | phone_number_id, confirm, neobvezni release_at_provider, confirmation_token pri drugi zahtevi | D, I, O | Sprosti številko. Dvostopenjski postopek. |
SMS
| Orodje | Glavni argumenti | Opombe | Kaj počne |
|---|---|---|---|
send_sms | from_number, to, body, idempotency_key | D, I, O | Pošlje eno navadno besedilno sporočilo SMS prek povezane številke Twilio ali Telnyx. |
Klici
| Orodje | Glavni argumenti | Opombe | Kaj počne |
|---|---|---|---|
list_calls | izbirni filtri, limit, offset | R, I | Prikaže klice s filtri zgodovine klicev REST. |
get_call | call_id | R, I | Pridobi stanje klica in metapodatke. |
get_call_transcript | call_id, izbirni live | R, I | Pridobi prepis klica. |
get_call_audio_url | call_id, izbirni download | R, I, O | Vrne podpisani URL za zvok; zvoka nikoli ne pretaka prek MCP. |
get_call_grade | call_id | R, I | Pridobi najnovejšo oceno klica. |
place_call | agent_id, from_number, to_number | D, O | Opravi en neidempotenten odhodni klic. |
export_calls | filtri klicev, export_format | R, I | Izvozi do omejitve končne točke REST kot JSON ali CSV. |
Testiranje in preverjanje
| Orodje | Glavni argumenti | Oznake | Kaj počne |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Navaja testne scenarije. |
create_test_scenario | agent_id, title, scenario_prompt, izbirni pogoji | — | Ustvari scenarij. |
generate_test_scenarios | agent_id, izbirni count, include_edge_cases, locale | O | Ustvari scenarije na podlagi poziva agenta. |
run_agent_tests | agent_id, channel, consent_to_charge, izbirna izbira/matrika | D, O | Izvede scenarije prek spleta ali telefonije. |
get_test_run | agent_id, batch_id | R, I | Pridobi stanje paketa in rezultate posameznih scenarijev. |
list_validation_runs | agent_id | R, I | Navaja nedavne zagone preverjanja osnutka. |
get_validation_status | agent_id | R, I | Pridobi najnovejše stanje preverjanja in ujemanje osnutka. |
Znanje
| Orodje | Glavni argumenti | Oznake | Kaj naredi |
|---|---|---|---|
list_knowledge_bases | — | R, I | Navede zbirke znanja. |
create_knowledge_base | name, izbirni description | — | Ustvari zbirko znanja. |
add_knowledge_document | knowledge_base_id, name, content | — | Doda besedilo ali Markdown. |
import_knowledge_url | url, izbirni name | O | Doda javno stran v čakalno vrsto za varno zajemanje. |
search_knowledge | knowledge_base_id, query | R, I | Preišče produkcijsko pridobivanje podatkov. |
Integracije, webhooki in oddaljeni strežniki MCP
| Orodje | Glavni argumenti | Opombe | Kaj počne |
|---|---|---|---|
list_integrations | — | R, I | Prikaže integracije funkcij HTTP. |
create_integration | display_name, specifikacija funkcije spec, izbirna polja končne točke | — | Ustvari orodje HTTP. Glave za preverjanje pristnosti dodajte na nadzorni plošči. |
test_integration | url, izbirni način/telo/časovna omejitev, integration_id z header_names, confirmation_token ob drugi zahtevi | D, O | Pošlje omejeno preskusno zahtevo, zaščiteno pred SSRF. Shranjene vrednosti glav se izpolnijo iz integracije in pošljejo samo njenemu lastnemu gostitelju. POST (privzeto), PUT, PATCH in DELETE potekajo v dveh korakih; GET se izvede takoj. |
list_webhook_endpoints | — | R, I | Prikaže podpisane končne točke spletnih kavljev. |
list_webhook_deliveries | izbirni agent_id, izbirni endpoint_id | R, I | Prikaže nedavne rezultate dostav spletnih kavljev brez koristnega tovora. |
create_webhook_endpoint | label, url, izbirni dogodki/stanje | O | Ustvari podpisano končno točko spletnega kavlja. |
test_webhook_endpoint | endpoint_id | O | Pošlje sintetični dogodek prek običajne dostave. |
list_mcp_servers | — | R, I | Prikaže oddaljene strežnike, ki jih lahko kličejo glasovni agenti. |
create_mcp_server | display_name, url | O | Registrira in sinhronizira oddaljeni strežnik. Strežniki, ki potrebujejo glave za preverjanje pristnosti, se dodajo na nadzorni plošči. |
sync_mcp_server_tools | server_id | D, O | Osveži katalog orodij oddaljenega strežnika. |
Kampanje
| Orodje | Glavni argumenti | Oznake | Kaj naredi |
|---|---|---|---|
list_campaigns | — | R, I | Navede odhodne kampanje. |
create_campaign | polja kampanje | — | Ustvari osnutek kampanje. |
add_campaign_contacts | campaign_id, contacts | — | Doda do 5.000 stikov JSON. |
campaign_action | campaign_id, action, izbirni consent_to_charge, confirmation_token pri drugi zahtevi | D, O | Izvede start, pause, resume ali stop. start in resume sta dvostopenjska; pause in stop se izvedeta takoj. |
get_campaign_stats | campaign_id | R, I | Pridobi števce in nedavne rezultate. |
Glasovi, obračunavanje in dokumentacija
| Orodje | Glavni argumenti | Opombe | Kaj naredi |
|---|---|---|---|
list_voices | — | R, I | Navaja glasove in podprte jezike. |
preview_voice | voice, language, text | O | Ustvari vzorec in vrne podpisani URL. |
list_voice_clones | — | R, I | Navaja prilagojene klone glasov. |
get_billing_summary | — | R, I | Pridobi stanje in uradne cene paketov; spremembe plačil niso izpostavljene. |
search_docs | query, izbirni limit | R, I, O | Preišče javni indeks dokumentacije. |
get_doc_page | path | R, I, O | Pridobi eno javno stran dokumentacije v Markdownu. |
Vsa produktna orodja uporabljajo iste kodne poti REST kot javni API. Preverjanje REST, omejevanje na organizacijo, vloge, odobritev obračunavanja, kvote, potrditev TCPA, varnost ponudnikov in revizijsko vedenje zato veljajo nespremenjeno.
Potrjevanje destruktivnih dejanj
Orodja, označena z D, nekaj spremenijo ali odstranijo oziroma začnejo klicati resnične osebe. Za dejanja, ki jih ni mogoče razveljaviti, sta potrebni dve zahtevi. Prva zahteva ne spremeni ničesar in vrne:
{
"status": "confirmation_required",
"action": "Delete agent",
"target": { "id": 195, "name": "Front Desk Receptionist" },
"confirmation_token": "…",
"expires_in_seconds": 600,
"next_step": "…"
}Pomočnik uporabniku prikaže, na kaj to vpliva, in ga prosi za potrditev. Nato zahtevo ponovi z istimi argumenti ter z dodatnim confirmation_token. Žeton velja 10 minut in zajema eno organizacijo, eno orodje ter en natančen nabor argumentov, zato so za izbris treh agentov potrebne tri potrditve. campaign_action z pause ali stop ta korak preskoči, da je mogoče izvajano kampanjo vedno takoj ustaviti, prav tako test_integration z GET. Nekatera orodja D se izvedejo z eno zahtevo, ker D označuje njihov učinek, ne pa potrditve na strežniški strani: update_agent zamenja vsebino osnutka (discard_agent_draft jo povrne), deploy_agent zamenja aktivno konfiguracijo, update_phone_number preusmeri aktivne klice, sync_mcp_server_tools zamenja katalog orodij oddaljenega strežnika, import_voip_numbers preusmeri številke na vašega operaterja, run_agent_tests lahko porabi dobroimetje, send_sms in place_call dosežeta resnično osebo (place_call ohrani lastno potrditev soglasja), provision_phone_number pa kupi številko. Vaš odjemalec MCP vas lahko še vedno prosi, da jih odobrite.
Začetni pozivi
prompts/list ponuja pet delovnih tokov za večkratno uporabo:
create_inbound_receptionistrun_agent_testsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
Uporabite prompts/get z navedenim imenom poziva in njegovimi deklariranimi argumenti, da prejmete uporabniško sporočilo, pripravljeno za zagon.
Viri
resources/list izpostavlja javne, predpomnjene reference:
| URI | Vsebina |
|---|---|
thunderphone://docs/llms.txt | Javni kazalo dokumentacije. |
thunderphone://docs/quickstart | Markdown za hitri začetek. |
thunderphone://pricing | Trenutni javni Markdown s cenami. |
Posamezen vir preberite z resources/read. Javne pridobitve uporabljajo kratek časovni limit, omejitev 2 MiB in desetminutni predpomnilnik v procesu.
Protokol in napake
Strežnik podpira različici protokola 2025-06-18 in 2025-03-26; vrne podprto različico odjemalca, sicer pa izbere 2025-06-18. Izvaja initialize, ping, orodja, pozive, vire in obvestila. Obvestila vrnejo 202 Accepted. Ta strežnik brez stanja ne izpostavlja poslušalnika SSE ali brisanja sej, zato GET in DELETE vrneta 405 Method Not Allowed z Allow: POST.
Napake orodij ostanejo uspešni odzivi JSON-RPC z isError: true. Njihovo besedilo vsebuje kratek stavek, ki mu sledi 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."
}Posebna predpona outbound_tcpa_confirmation_required: se ohrani za place_call. Neznane metode JSON-RPC vrnejo -32601 v odgovoru HTTP 200. Paketi JSON-RPC v MCP 2025-06-18 niso podprti in vrnejo čisto napako neveljavne zahteve -32600.