Open in
Naudokite ThunderPhone kaip MCP serverį
Kurkite, testuokite, tikrinkite ir valdykite ThunderPhone balso agentus naudodami Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code arba kitą srautiniu HTTP MCP klientą.
ThunderPhone teikia srautinio HTTP Model Context Protocol serverį adresu:
https://api.thunderphone.com/v1/mcpTai yra priešinga kryptis nei nuotolinio MCP serverio prijungimas prie balso agento:
| Kryptis | Rezultatas |
|---|---|
| Nuotolinis MCP serveris → ThunderPhone agentas | Balso agentas gali kviesti nuotolinio serverio įrankius. |
| ThunderPhone → jūsų MCP klientas | Jūsų programavimo agentas gali kurti, testuoti ir valdyti ThunderPhone. |
Autentifikavimas
Katalogo klientams pagal numatytuosius nustatymus naudokite OAuth: prisijunkite, pasirinkite organizaciją ir patvirtinkite prašomus leidimus. Prieigą atšaukite skiltyje Organizacija → API raktai → Įgaliotos programos.
Klientams, sukonfigūruotiems naudojant API raktą, sukurkite sk_live_ raktą skiltyje Organizacija → Raktai ir pateikite jį MCP klientui kaip THUNDERPHONE_API_KEY. Raktas susietas su viena organizacija; kitos organizacijos turimas ID laikomas nerastu.
CLI ir stdio alternatyvos
ThunderPhone CLI gali įrašyti kliento konfigūraciją, išsaugodama nesusijusius serverius:
npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope userVisuotinai įdiegę @thunderphone/mcp, naudokite thunderphone-mcp setup su
tomis pačiomis parinktimis. Sąranka palaiko Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop ir Windsurf. Pirmenybė teikiama tiesioginiam HTTP; Desktop naudoja stdio.
Bet kuriam stdio palaikančiam klientui sukonfigūruokite command: "npx" su
args: ["-y", "@thunderphone/mcp"]. Apvalkalas pirmiausia naudoja THUNDERPHONE_API_KEY,
tada prisijungimo duomenis iš thunderphone login, atnaujindamas nebegaliojančius prieigos raktus, o paskui
OAuth per mcp-remote. Prisijungimui įrenginiu ir OAuth reikalingas atitinkamas API
OAuth diegimas. API rakto keliui jo nereikia. Tiesioginės HTTP konfigūracijos neskaito
CLI prisijungimo duomenų saugyklos; norėdami pakartotinai naudoti prisijungimą įrenginiu, naudokite stdio apvalkalą.
Tai yra alternatyvos toliau pateiktoms rankinėms kliento konfigūracijoms.
Kliento konfigūracija
Claude ir ChatGPT prisijungia naudodami OAuth; API rakto nereikia. Jei dar neturite ThunderPhone paskyros, prisijungimo puslapyje pasirinkite Sukurti paskyrą ir, patvirtinę el. paštą, grįšite į patvirtinimo ekraną.
Claude (žiniatinklis, darbalaukis ir mobilieji įrenginiai)
- Atidarykite Nustatymai → Jungtys. Jei ThunderPhone rodomas jungčių kataloge, pasirinkite jį. Kitu atveju pasirinkite Pridėti pasirinktinę jungtį, suteikite jai pavadinimą
ThunderPhoneir įveskitehttps://api.thunderphone.com/v1/mcp. - Pasirinkite Prisijungti, prisijunkite prie ThunderPhone, pasirinkite organizaciją ir patvirtinkite leidimus.
- Pokalbyje įrankių meniu įjunkite ThunderPhone ir pateikite prašymą, pavyzdžiui, „Išvardyk mano agentus“.
Pasirinktinėms jungtims reikia mokamo Claude plano. Team ir Enterprise planuose savininkas pirmiausia prideda jungtį organizacijos jungčių nustatymuose, tada kiekvienas narys prijungia savo ThunderPhone paskyrą.
ChatGPT
- Jei ThunderPhone rodomas ChatGPT programų kataloge, pasirinkite jį ir prisijunkite.
- Kitu atveju atidarykite Nustatymai → Programos ir jungtys → Išplėstiniai nustatymai, įjunkite Kūrėjo režimą ir sukurkite jungtį su URL
https://api.thunderphone.com/v1/mcpbei OAuth autentifikavimu. - Prisijunkite prie ThunderPhone, pasirinkite organizaciją ir patvirtinkite leidimus. Įtraukite ThunderPhone į pokalbį iš įrankių meniu.
Abiejose programose, ištrinant agentą ar telefono numerį, atmetant juodraštį ir paleidžiant kampaniją, prašoma papildomo patvirtinimo; žr. Naikinamųjų veiksmų patvirtinimas.
Claude Code
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
--header "Authorization: Bearer $THUNDERPHONE_API_KEY"Codex
Pridėkite tai į ~/.codex/config.toml:
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"Cursor
Sukurkite .cursor/mcp.json:
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
}
}
}
}Claude Desktop
Į Claude Desktop konfigūraciją pridėkite mcp-remote tarpinę jungtį:
{
"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
Sukurkite .vscode/mcp.json ir įveskite raktą per VS Code įvesties raginimą:
{
"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}"
}
}
}
}Įrankiai
Kiekvienas įrankis turi MCP anotacijas. Lentelėse R reiškia tik skaitymą, D – naikinantį veiksmą, I – idempotentinį veiksmą, o O – sąveiką su atviruoju pasauliu arba tinklu. Brūkšnys reiškia, kad nėra nustatyta užuomina.
Agentai
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_agents | — | R, I | Pateikia agentų sąrašą. |
get_agent | agent_id | R, I | Gauna vieną agentą. |
create_agent | agento konfigūracija | — | Sukuria agentą. |
update_agent | agent_id, pakeisti laukai | — | Įtraukia laukus į agento juodraštį. |
deploy_agent | agent_id, pasirinktinis if_updated_at | I | Perkelia juodraštį į produkcinę aplinką. |
discard_agent_draft | agent_id, pasirinktinis if_updated_at, confirmation_token antrojoje užklausoje | D, I | Atmeta įtrauktus pakeitimus. Dviejų etapų veiksmas; žr. Naikinančių veiksmų patvirtinimas. |
duplicate_agent | agent_id, pasirinktinis name | — | Nukopijuoja agentą organizacijoje. |
delete_agent | agent_id, confirmation_token antrojoje užklausoje | D, I | Negrįžtamai ištrina agentą. Dviejų etapų veiksmas. |
list_agent_versions | agent_id | R, I | Pateikia įdiegtų konfigūracijos versijų sąrašą. |
Telefono numeriai ir ryšio paslaugų teikėjai
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_phone_numbers | — | R, I | Pateikia organizacijos numerių ir nukreipimo sąrašą. |
get_phone_number_limits | — | R, I | Gauna valdomų numerių naudojimo duomenis ir limitus. |
provision_phone_number | pasirinktinis area_code, city, state, idempotency_key | O | Perka ThunderPhone valdomą įeinantį numerį. |
list_voip_connections | — | R, I | Pateikia prijungtų klientų ryšio paslaugų teikėjų sąrašą. |
search_voip_numbers | connection_id, country, type, pasirinktinis area_code | R, I, O | Ieško ryšio paslaugų teikėjo numerių inventoriuje. |
import_voip_numbers | connection_id, numbers | O | Importuoja numerius, kurie jau priklauso ryšio paslaugų teikėjui. |
update_phone_number | phone_number_id, nukreipimo / žymos / webhook laukai | — | Atnaujina numerio nukreipimą, įskaitant agento priskyrimą. |
delete_phone_number | phone_number_id, confirm, pasirinktinis release_at_provider, confirmation_token antrojoje užklausoje | D, I, O | Atlaisvina numerį. Dviejų etapų veiksmas. |
Skambučiai
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_calls | pasirinktiniai filtrai, limit, offset | R, I | Pateikia skambučių sąrašą su REST skambučių istorijos filtrais. |
get_call | call_id | R, I | Gauna skambučio būseną ir metaduomenis. |
get_call_transcript | call_id, pasirinktinis live | R, I | Gauna skambučio transkriptą. |
get_call_audio_url | call_id, pasirinktinis download | R, I, O | Grąžina pasirašytą garso URL; garsas niekada netransliuojamas per MCP. |
get_call_grade | call_id | R, I | Gauna naujausią skambučio įvertinimą. |
place_call | agent_id, from_number, to_number | O | Atlieka vieną ne idempotentinį išeinantį skambutį. |
export_calls | skambučių filtrai, export_format | R, I | Eksportuoja iki REST galinio taško ribos kaip JSON arba CSV. |
Testavimas ir tikrinimas
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Pateikia testavimo scenarijų sąrašą. |
create_test_scenario | agent_id, title, scenario_prompt, pasirinktinės sąlygos | — | Sukuria scenarijų. |
generate_test_scenarios | agent_id, pasirinktinis count, include_edge_cases, locale | O | Generuoja scenarijus pagal agento raginimą. |
run_agent_tests | agent_id, channel, consent_to_charge, pasirinktinė atranka / matrica | O | Vykdo scenarijus per žiniatinklį arba telefoniją. |
get_test_run | agent_id, batch_id | R, I | Gauna paketo būseną ir kiekvieno scenarijaus rezultatus. |
list_validation_runs | agent_id | R, I | Pateikia naujausių juodraščio tikrinimo vykdymų sąrašą. |
get_validation_status | agent_id | R, I | Gauna naujausią tikrinimo būseną ir juodraščio atitiktį. |
Žinios
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_knowledge_bases | — | R, I | Pateikia žinių bazių sąrašą. |
create_knowledge_base | name, pasirinktinis description | — | Sukuria žinių bazę. |
add_knowledge_document | knowledge_base_id, name, content | — | Prideda tekstą arba Markdown. |
import_knowledge_url | url, pasirinktinis name | O | Įtraukia viešą puslapį į saugaus įkėlimo eilę. |
search_knowledge | knowledge_base_id, query | R, I | Ieško produkcinėje gavimo sistemoje. |
Integracijos, webhook ir nuotoliniai MCP serveriai
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_integrations | — | R, I | Pateikia HTTP funkcijų integracijų sąrašą. |
create_integration | display_name, funkcijos spec, pasirinktiniai galinio taško laukai | — | Sukuria HTTP įrankį. |
test_integration | url, pasirinktinis metodas / antraštės / turinys / laikas | O | Siunčia ribotą, nuo SSRF apsaugotą bandomąją užklausą. |
list_webhook_endpoints | — | R, I | Pateikia pasirašytų webhook galinių taškų sąrašą. |
create_webhook_endpoint | label, url, pasirinktiniai įvykiai / būsena | O | Sukuria pasirašytą webhook galinį tašką. |
test_webhook_endpoint | endpoint_id | O | Siunčia sintetinį įvykį naudodamas įprastą pristatymą. |
list_mcp_servers | — | R, I | Pateikia nuotolinių serverių, kuriuos gali iškviesti balso agentai, sąrašą. |
create_mcp_server | display_name, url, pasirinktinės antraštės | O | Registruoja ir sinchronizuoja nuotolinį serverį. |
sync_mcp_server_tools | server_id | O | Atnaujina nuotolinio serverio įrankių katalogą. |
Kampanijos
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_campaigns | — | R, I | Pateikia išeinančių kampanijų sąrašą. |
create_campaign | kampanijos laukai | — | Sukuria kampanijos juodraštį. |
add_campaign_contacts | campaign_id, contacts | — | Prideda iki 5 000 JSON kontaktų. |
campaign_action | campaign_id, action, pasirinktinis consent_to_charge, confirmation_token antrojoje užklausoje | D, O | Vykdo start, pause, resume arba stop. start ir resume yra dviejų etapų veiksmai; pause ir stop vykdomi iš karto. |
get_campaign_stats | campaign_id | R, I | Gauna skaitiklius ir naujausias baigtis. |
Balsai, atsiskaitymas, importavimas ir dokumentacija
| Įrankis | Pagrindiniai argumentai | Anotacijos | Ką jis daro |
|---|---|---|---|
list_voices | — | R, I | Pateikia balsų ir palaikomų kalbų sąrašą. |
preview_voice | voice, language, text | O | Sugeneruoja pavyzdį ir grąžina pasirašytą URL. |
list_voice_clones | — | R, I | Pateikia pasirinktinių balso kopijų sąrašą. |
get_billing_summary | — | R, I | Gauna likutį ir oficialias pakopų kainas; mokėjimų pakeitimo veiksmai neteikiami. |
create_agent_import | vendor, vendor_key | O | Pradeda šifruotą Vapi, Retell, ElevenLabs arba Bland importavimą. |
get_agent_import | public_id | R, I | Gauna siūlomą importavimo skirtumą. |
commit_agent_import | public_id | — | Patvirtina iš peržiūrėto plano pasirinktus agentus. |
search_docs | query, pasirinktinis limit | R, I, O | Ieško viešos dokumentacijos indekse. |
get_doc_page | path | R, I, O | Gauna vieną viešą Markdown dokumentacijos puslapį. |
Visi produkto įrankiai naudoja tuos pačius REST kodo kelius kaip viešoji API. Todėl REST tikrinimas, organizacijos aprėptis, vaidmenys, atsiskaitymo patvirtinimas, kvotos, TCPA patvirtinimas, tiekėjo sauga ir audito veikimas taikomi be pakeitimų.
Destruktyvių veiksmų patvirtinimas
Įrankiai, pažymėti D, pakeičia arba pašalina tai, ko negalima atkurti, arba pradeda skambinti tikriems žmonėms. Jiems reikia dviejų užklausų. Pirmoji užklausa nieko nekeičia ir grąžina:
{
"status": "confirmation_required",
"action": "Delete agent",
"target": { "id": 195, "name": "Front Desk Receptionist" },
"confirmation_token": "…",
"expires_in_seconds": 600,
"next_step": "…"
}Asistentas parodo naudotojui, kas bus paveikta, ir paprašo patvirtinimo. Tada jis pakartoja užklausą su tais pačiais argumentais ir papildomu confirmation_token. Žetonas galioja 10 minučių ir apima vieną organizaciją, vieną įrankį ir vieną tikslų argumentų rinkinį, todėl norint ištrinti tris agentus reikia trijų patvirtinimų. campaign_action su pause arba stop praleidžia šį veiksmą, kad vykdomą kampaniją visada būtų galima nedelsiant sustabdyti.
Pradinės užklausos
prompts/list pateikia šešias pakartotinai naudojamas darbo eigas:
create_inbound_receptionistrun_agent_testsimport_vapi_assistantsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
Naudokite prompts/get su nurodytu užklausos pavadinimu ir jo deklaruotais argumentais, kad gautumėte paruoštą vykdyti naudotojo pranešimą.
Ištekliai
resources/list pateikia viešas, podėlyje saugomas nuorodas:
| URI | Turinys |
|---|---|
thunderphone://docs/llms.txt | Viešos dokumentacijos rodyklė. |
thunderphone://docs/quickstart | Trumpasis pradžios vadovas Markdown formatu. |
thunderphone://pricing | Dabartinė vieša kainodara Markdown formatu. |
Vieną iš jų nuskaitykite naudodami resources/read. Viešoms užklausoms taikoma trumpa laukimo trukmė, 2 MiB riba ir dešimties minučių proceso podėlis.
Protokolas ir klaidos
Serveris palaiko protokolo versijas 2025-06-18 ir 2025-03-26; jis atkartoja palaikomą kliento versiją, o kitu atveju parenka 2025-06-18. Jis įgyvendina initialize, ping, įrankius, užklausas, išteklius ir pranešimus. Pranešimai grąžina 202 Accepted. Šis bestatis serveris nepateikia SSE klausytojo ar sesijos ištrynimo, todėl GET ir DELETE grąžina 405 Method Not Allowed su Allow: POST.
Įrankių nesėkmės išlieka sėkmingais JSON-RPC atsakymais su isError: true. Jų tekste pateikiamas trumpas sakinys, po kurio eina JSON blokas:
{
"code": "insufficient_balance",
"detail": "There is not enough prepaid balance.",
"next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}Išskirtinė outbound_tcpa_confirmation_required: priešdėlio forma išlaikoma place_call. Nežinomi JSON-RPC metodai grąžina -32601 HTTP 200 atsakyme. JSON-RPC paketai nėra palaikomi MCP 2025-06-18 ir grąžina aiškią -32600 netinkamos užklausos klaidą.