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 pretočni strežnik HTTP Model Context Protocol na naslovu:
https://api.thunderphone.com/v1/mcpTo je nasprotna smer od povezovanja 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 razvija, preizkuša in upravlja ThunderPhone. |
Preverjanje pristnosti
Za odjemalce v imeniku privzeto uporabite OAuth: prijavite se, izberite organizacijo in odobrite zahtevana dovoljenja. Dostop prekličite v Organizacija → Ključi API → Pooblaščene aplikacije.
Za odjemalce, konfigurirane s ključem API, ustvarite ključ sk_live_ v 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 ne obstaja.
Možnosti CLI in stdio
CLI ThunderPhone lahko zapiše konfiguracijo odjemalca in pri tem 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 @thunderphone/mcp uporabite thunderphone-mcp setup z
enakimi možnostmi. Nastavitev podpira Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop in Windsurf. Prednost ima neposredni HTTP; Desktop uporablja stdio.
Za katerega koli odjemalca, 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 za API. 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 možnosti namesto spodnjih ročnih konfiguracij odjemalca.
Konfiguracija odjemalca
Claude in ChatGPT se prijavita z OAuth; ključ API ni potreben. Če še nimate računa ThunderPhone, na strani za prijavo izberite Ustvari račun; po potrditvi e-poštnega naslova se vrnete na zaslon za odobritev.
Claude (splet, namizje in mobilne naprave)
- Odprite Nastavitve → Povezovalniki. Če je ThunderPhone prikazan 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 moje agente«.
Povezovalniki po meri zahtevajo plačljivi 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 je ThunderPhone prikazan v imeniku aplikacij ChatGPT, ga izberite in povežite.
- V nasprotnem primeru odprite Nastavitve → Aplikacije in povezovalniki → Napredne 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. V klepet dodajte ThunderPhone iz menija orodij.
Brisanje agenta ali telefonske številke, zavrženje osnutka in zagon kampanje v obeh aplikacijah zahtevajo drugo potrditev; glejte Potrjevanje uničujočih 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 ključ vnesite v pozivnem oknu 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 vsebuje anotacije 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 nastavljen noben namig.
Agenti
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
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 | — | Doda polja v osnutek agenta. |
deploy_agent | agent_id, izbirni if_updated_at | I | Promovira osnutek v produkcijo. |
discard_agent_draft | agent_id, izbirni if_updated_at, confirmation_token pri drugi zahtevi | D, I | Zavrže pripravljene spremembe. Dvostopenjsko, glejte Potrjevanje destruktivnih dejanj. |
duplicate_agent | agent_id, izbirni name | — | Kopira agenta znotraj organizacije. |
delete_agent | agent_id, confirmation_token pri drugi zahtevi | D, I | Trajno izbriše agenta. Dvostopenjsko. |
list_agent_versions | agent_id | R, I | Navede nameščene različice konfiguracije. |
Telefonske številke in ponudniki
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_phone_numbers | — | R, I | Navede številke organizacije in usmerjanje. |
get_phone_number_limits | — | R, I | Pridobi porabo in omejitve upravljanih številk. |
provision_phone_number | izbirni area_code, city, state, idempotency_key | O | Kupi dohodno številko, ki jo upravlja ThunderPhone. |
list_voip_connections | — | R, I | Navede povezane ponudnike strank. |
search_voip_numbers | connection_id, country, type, izbirni area_code | R, I, O | Preišče inventar ponudnika. |
import_voip_numbers | connection_id, numbers | O | Uvozi številke, ki so že v lasti pri ponudniku. |
update_phone_number | phone_number_id, polja za usmerjanje/oznako/webhook | — | Posodobi usmerjanje številke, vključno z dodelitvijo agenta. |
delete_phone_number | phone_number_id, confirm, izbirni release_at_provider, confirmation_token pri drugi zahtevi | D, I, O | Sprosti številko. Dvostopenjsko. |
Klici
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_calls | izbirni filtri, limit, offset | R, I | Navede klice s filtri zgodovine klicev REST. |
get_call | call_id | R, I | Pridobi stanje in metapodatke klica. |
get_call_transcript | call_id, izbirni live | R, I | Pridobi prepis klica. |
get_call_audio_url | call_id, izbirni download | R, I, O | Vrne podpisan 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 | O | Izvede en neidempotenten odhodni klic. |
export_calls | filtri klicev, export_format | R, I | Izvozi do omejitve končne točke REST v obliki JSON ali CSV. |
Testiranje in preverjanje
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Navede 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 iz poziva agenta. |
run_agent_tests | agent_id, channel, consent_to_charge, izbirna izbira/matrika | 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 | Navede nedavna izvajanja preverjanja osnutka. |
get_validation_status | agent_id | R, I | Pridobi najnovejše stanje preverjanja in ujemanje osnutka. |
Znanje
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_knowledge_bases | — | R, I | Navede baze znanja. |
create_knowledge_base | name, izbirni description | — | Ustvari bazo 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 varen vnos. |
search_knowledge | knowledge_base_id, query | R, I | Išče po produkcijskem pridobivanju znanja. |
Integracije, webhooki in oddaljeni strežniki MCP
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_integrations | — | R, I | Navede integracije funkcij HTTP. |
create_integration | display_name, specifikacija funkcije spec, izbirna polja končne točke | — | Ustvari orodje HTTP. |
test_integration | url, izbirni method/headers/body/timeout | O | Pošlje omejeno testno zahtevo, zaščiteno pred SSRF. |
list_webhook_endpoints | — | R, I | Navede podpisane končne točke webhookov. |
create_webhook_endpoint | label, url, izbirni events/status | O | Ustvari podpisano končno točko webhooka. |
test_webhook_endpoint | endpoint_id | O | Pošlje sintetični dogodek prek običajne dostave. |
list_mcp_servers | — | R, I | Navede oddaljene strežnike, ki jih lahko kličejo glasovni agenti. |
create_mcp_server | display_name, url, izbirni headers | O | Registrira in sinhronizira oddaljeni strežnik. |
sync_mcp_server_tools | server_id | O | Osveži katalog orodij oddaljenega strežnika. |
Kampanje
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
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, uvozi in dokumentacija
| Orodje | Glavni argumenti | Anotacije | Kaj počne |
|---|---|---|---|
list_voices | — | R, I | Navede glasove in podprte jezike. |
preview_voice | voice, language, text | O | Ustvari vzorec in vrne podpisan URL. |
list_voice_clones | — | R, I | Navede prilagojene klone glasov. |
get_billing_summary | — | R, I | Pridobi dobroimetje in uradne cene paketov; spremembe plačil niso izpostavljene. |
create_agent_import | vendor, vendor_key | O | Začne šifriran uvoz iz Vapi, Retell, ElevenLabs ali Bland. |
get_agent_import | public_id | R, I | Pridobi predlagano razliko pri uvozu. |
commit_agent_import | public_id | — | Uveljavi izbrane agente iz pregledanega načrta. |
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 Markdown. |
Vsa produktna orodja uporabljajo iste kodne poti REST kot javni API. Preverjanje REST, omejevanje na organizacijo, vloge, odobritev obračunavanja, kvote, potrditev TCPA, varnost ponudnika in revizijsko vedenje zato veljajo nespremenjeno.
Potrjevanje destruktivnih dejanj
Orodja, označena z D, spremenijo ali odstranijo nekaj, česar ni mogoče obnoviti, ali začnejo klicati resnične osebe. Zahtevajo dve zahtevi. Prva zahteva ničesar ne spremeni 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 zaprosi za potrditev. Nato zahtevo ponovi z enakimi argumenti in dodatnim confirmation_token. Žeton je veljaven 10 minut ter velja za eno organizacijo, eno orodje in en natančen nabor argumentov, zato brisanje treh agentov zahteva tri potrditve. campaign_action z pause ali stop ta korak preskoči, da je mogoče aktivno kampanjo vedno takoj ustaviti.
Začetni pozivi
prompts/list ponuja šest delovnih tokov za ponovno uporabo:
create_inbound_receptionistrun_agent_testsimport_vapi_assistantsbuy_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 | Kazalo javne dokumentacije. |
thunderphone://docs/quickstart | Markdown za hitri začetek. |
thunderphone://pricing | Markdown s trenutno javno cenovno ponudbo. |
Posamezen vir preberite z resources/read. Javna pridobivanja uporabljajo kratek časovni limit, omejitev 2 MiB in desetminutni predpomnilnik znotraj procesa.
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šalca SSE ali brisanja sej, zato GET in DELETE vrneta 405 Method Not Allowed z Allow: POST.
Napake orodij ostanejo uspešni odgovori 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."
}Razločna predpona outbound_tcpa_confirmation_required: se ohrani za place_call. Neznane metode JSON-RPC vrnejo -32601 v odgovoru HTTP 200. Paketi JSON-RPC niso podprti v MCP 2025-06-18 in vrnejo čisto napako neveljavne zahteve -32600.