Open in
Izmantojiet ThunderPhone kā MCP serveri
Izveidojiet, testējiet, validējiet un darbiniet ThunderPhone balss aģentus no Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code vai cita Streamable HTTP MCP klienta.
ThunderPhone nodrošina Streamable HTTP Model Context Protocol serveri šādā adresē:
https://api.thunderphone.com/v1/mcpTas ir pretējs virziens nekā attālās MCP servera pieslēgšana balss aģentam:
| Virziens | Rezultāts |
|---|---|
| Attālais MCP serveris → ThunderPhone aģents | Balss aģents var izsaukt attālā servera rīkus. |
| ThunderPhone → jūsu MCP klients | Jūsu programmēšanas aģents var izveidot, testēt un pārvaldīt ThunderPhone. |
Autentificēšana
Direktoriju klientiem pēc noklusējuma izmantojiet OAuth: pierakstieties, izvēlieties organizāciju un apstipriniet pieprasītās atļaujas. Atsauciet piekļuvi sadaļā Organizācija → API atslēgas → Autorizētās lietotnes.
Klientiem, kas konfigurēti ar API atslēgu, izveidojiet sk_live_ atslēgu sadaļā Organizācija → Atslēgas un padariet to pieejamu savam MCP klientam kā THUNDERPHONE_API_KEY. Atslēga ir piesaistīta vienai organizācijai; citas organizācijas īpašumā esošs ID tiek apstrādāts kā neatrasts.
CLI un stdio alternatīvas
ThunderPhone CLI var rakstīt klienta konfigurāciju, saglabājot nesaistītus serverus:
npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope userPēc @thunderphone/mcp globālas instalēšanas izmantojiet thunderphone-mcp setup ar
tām pašām opcijām. Iestatīšana atbalsta Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop un Windsurf. Priekšroka tiek dota tiešam HTTP; Desktop izmanto stdio.
Jebkuram klientam ar stdio atbalstu konfigurējiet command: "npx" ar
args: ["-y", "@thunderphone/mcp"]. Ietvars vispirms izmanto THUNDERPHONE_API_KEY,
pēc tam akreditācijas datus no thunderphone login, atjaunojot tokenus, kuriem beidzies derīgums, un pēc tam
OAuth, izmantojot mcp-remote. Ierīces pieteikšanās un OAuth prasa atbilstošu API
OAuth ieviešanu. API atslēgas ceļam tā nav nepieciešama. Tiešās HTTP konfigurācijas nelasa
CLI akreditācijas datu krātuvi; izmantojiet stdio ietvaru, lai atkārtoti izmantotu ierīces pieteikšanos.
Tās ir alternatīvas tālāk norādītajām manuālajām klienta konfigurācijām.
Klienta konfigurācija
Claude un ChatGPT piesakās ar OAuth; API atslēga nav nepieciešama. Ja jums vēl nav ThunderPhone konta, pierakstīšanās lapā izvēlieties Izveidot kontu, un pēc e-pasta verifikācijas tiksiet novirzīts atpakaļ uz apstiprināšanas ekrānu.
Claude (tīmeklī, datorā un mobilajā ierīcē)
- Atveriet Pielāgot → Savienotāji (vecākās versijās — Iestatījumi → Savienotāji). Ja ThunderPhone ir redzams savienotāju direktorijā, atlasiet to. Pretējā gadījumā izvēlieties Pievienot pielāgotu savienotāju, nosauciet to par
ThunderPhoneun ievadiethttps://api.thunderphone.com/v1/mcp. - Atlasiet Savienot, pierakstieties ThunderPhone, izvēlieties organizāciju un apstipriniet atļaujas.
- Tērzēšanā iespējojiet ThunderPhone rīku izvēlnē un pieprasiet nepieciešamo, piemēram, "Uzskaitiet manus balss aģentus".
Claude pirms katra rīka pirmās izmantošanas lūdz apstiprinājumu. Lai izlaistu lielāko daļu šo uzvedņu, atveriet Pielāgot → Savienotāji → ThunderPhone un iestatiet Tikai lasīšanas rīki uz vienmēr atļautu. Šie rīki tikai meklē informāciju: balss aģentus, zvanus, atšifrējumus, atlikumus, dokumentāciju. Ja vēlaties redzēt katru izmaiņu pirms tās veikšanas, atstājiet Rakstīšanas/dzēšanas rīki ar apstiprinājuma prasību.
Pielāgotiem savienotājiem nepieciešams maksas Claude plāns. Team un Enterprise plānos īpašnieks vispirms pievieno savienotāju organizācijas savienotāju iestatījumos, pēc tam katrs dalībnieks savieno savu ThunderPhone kontu.
ChatGPT
- Ja ThunderPhone ir redzams ChatGPT lietotņu direktorijā, atlasiet to un izveidojiet savienojumu.
- Pretējā gadījumā atveriet Iestatījumi → Lietotnes un savienotāji → Papildu iestatījumi, ieslēdziet Izstrādātāja režīms un izveidojiet savienotāju ar URL
https://api.thunderphone.com/v1/mcpun OAuth autentifikāciju. - Pierakstieties ThunderPhone, izvēlieties organizāciju un apstipriniet atļaujas. Pievienojiet ThunderPhone tērzēšanai no rīku izvēlnes.
Balss aģenta vai tālruņa numura dzēšanai, melnraksta atmešanai, kampaņas palaišanai un testa pieprasījuma nosūtīšanai, kas var rakstīt ārējā sistēmā, abās lietotnēs ir nepieciešams otrs apstiprinājums; skatiet Destruktīvu darbību apstiprināšana.
Claude Code
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
--header "Authorization: Bearer $THUNDERPHONE_API_KEY"Codex
Pievienojiet šo failam ~/.codex/config.toml:
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"Cursor
Izveidojiet .cursor/mcp.json:
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
}
}
}
}Claude Desktop
Pievienojiet mcp-remote tiltu Claude Desktop konfigurācijai:
{
"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
Izveidojiet .vscode/mcp.json un ievadiet atslēgu VS Code ievades uzvednē:
{
"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}"
}
}
}
}Rīki
Katram rīkam ir MCP anotācijas. Tabulās R nozīmē tikai lasīšanu, D — destruktīvs, I — idempotents un O — mijiedarbība ar atvērtu vidi/tīklu. Domuzīme nozīmē, ka nav iestatīta norāde.
Savienojums
| Rīks | Galvenie argumenti | Anotācijas | Funkcija |
|---|---|---|---|
get_connection_identity | — | R, I | Validē akreditācijas datus un atgriež organizāciju un drošus akreditācijas datu metadatus. |
Balss aģenti
| Rīks | Galvenie argumenti | Anotācijas | Ko tas dara |
|---|---|---|---|
list_agents | — | R, I | Uzskaita balss aģentus. |
get_agent | agent_id | R, I | Iegūst vienu balss aģentu. |
create_agent | balss aģenta konfigurācija | — | Izveido balss aģentu. |
update_agent | agent_id, mainītie lauki | D | Sagatavo laukus balss aģenta melnrakstā, aizstājot iepriekš melnrakstā esošo. Darbojas bez apstiprināšanas darbības: izvietotais balss aģents netiek mainīts līdz deploy_agent, un discard_agent_draft atjauno melnrakstu. |
deploy_agent | agent_id, neobligāts if_updated_at | D, I | Publicē melnrakstu produkcijā. |
discard_agent_draft | agent_id, neobligāts if_updated_at, confirmation_token otrajā pieprasījumā | D, I | Atmet sagatavotās izmaiņas. Divpakāpju darbība; skatiet Destruktīvu darbību apstiprināšana. |
duplicate_agent | agent_id, neobligāts name | — | Kopē balss aģentu organizācijā. |
delete_agent | agent_id, confirmation_token otrajā pieprasījumā | D, I | Neatgriezeniski dzēš balss aģentu. Divpakāpju darbība. |
list_agent_versions | agent_id | R, I | Uzskaita izvietotās konfigurācijas versijas. |
Tālruņa numuri un sakaru pakalpojumu sniedzēji
| Rīks | Galvenie argumenti | Anotācijas | Funkcija |
|---|---|---|---|
list_phone_numbers | — | R, I | Uzskaita organizācijas numurus un maršrutēšanu. |
get_phone_number_limits | — | R, I | Iegūst pārvaldīto numuru lietojumu un ierobežojumus. |
provision_phone_number | neobligāti area_code, city, state, idempotency_key | D, O | Iegādājas ThunderPhone pārvaldītu ienākošo numuru. |
list_voip_connections | — | R, I | Uzskaita pievienotos klienta operatorus. |
search_voip_numbers | connection_id, country, type, neobligāti area_code | R, I, O | Meklē operatora numuru krājumos. |
import_voip_numbers | connection_id, numbers | D, O | Importē numurus, kas jau pieder operatoram. |
update_phone_number | phone_number_id, maršrutēšanas/etiķetes/tīmekļa aizķeres lauki | D | Atjaunina numura maršrutēšanu, tostarp balss aģenta piešķiršanu. |
delete_phone_number | phone_number_id, confirm, neobligāti release_at_provider, confirmation_token otrajā pieprasījumā | D, I, O | Atbrīvo numuru. Divpakāpju process. |
SMS
| Rīks | Galvenie argumenti | Anotācijas | Ko tas dara |
|---|---|---|---|
send_sms | from_number, to, body, idempotency_key | D, I, O | Nosūta vienu vienkārša teksta īsziņu, izmantojot savienotu Twilio vai Telnyx numuru. |
Zvani
| Rīks | Galvenie argumenti | Anotācijas | Apraksts |
|---|---|---|---|
list_calls | neobligāti filtri, limit, offset | R, I | Uzskaita zvanus, izmantojot REST zvanu vēstures filtrus. |
get_call | call_id | R, I | Iegūst zvana statusu un metadatus. |
get_call_transcript | call_id, neobligāts live | R, I | Iegūst zvana transkriptu. |
get_call_audio_url | call_id, neobligāts download | R, I, O | Atgriež parakstītu audio URL; audio nekad netiek straumēts caur MCP. |
get_call_grade | call_id | R, I | Iegūst jaunāko zvana novērtējumu. |
place_call | agent_id, from_number, to_number | D, O | Veic vienu neidemponentu izejošo zvanu. |
export_calls | zvanu filtri, export_format | R, I | Eksportē līdz REST galapunkta ierobežojumam JSON vai CSV formātā. |
Testēšana un validācija
| Rīks | Galvenie argumenti | Anotācijas | Ko tas dara |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Uzskaita testa scenārijus. |
create_test_scenario | agent_id, title, scenario_prompt, izvēles nosacījumi | — | Izveido scenāriju. |
generate_test_scenarios | agent_id, izvēles count, include_edge_cases, locale | O | Ģenerē scenārijus no aģenta uzvednes. |
run_agent_tests | agent_id, channel, consent_to_charge, izvēles atlase/matrica | D, O | Izpilda scenārijus tīmeklī vai telefonijā. |
get_test_run | agent_id, batch_id | R, I | Iegūst paketes statusu un katra scenārija rezultātus. |
list_validation_runs | agent_id | R, I | Uzskaita nesenos melnraksta validācijas izpildījumus. |
get_validation_status | agent_id | R, I | Iegūst jaunāko validācijas stāvokli un atbilstību melnrakstam. |
Zināšanu bāze
| Rīks | Galvenie argumenti | Anotācijas | Funkcija |
|---|---|---|---|
list_knowledge_bases | — | R, I | Uzskaita zināšanu bāzes. |
create_knowledge_base | name, neobligāts description | — | Izveido zināšanu bāzi. |
add_knowledge_document | knowledge_base_id, name, content | — | Pievieno tekstu vai Markdown. |
import_knowledge_url | url, neobligāts name | O | Ievieto publisku lapu rindā drošai uzņemšanai. |
search_knowledge | knowledge_base_id, query | R, I | Meklē produkcijas izgūšanas sistēmā. |
Integrācijas, tīmekļa aizķeres un attālie MCP serveri
| Rīks | Galvenie argumenti | Anotācijas | Funkcija |
|---|---|---|---|
list_integrations | — | R, I | Uzskaita HTTP funkciju integrācijas. |
create_integration | display_name, funkcijas spec, izvēles galapunkta lauki | — | Izveido HTTP rīku. Pievienojiet autentifikācijas galvenes vadības panelī. |
test_integration | url, izvēles metode/pamatteksts/taimauts, integration_id ar header_names, confirmation_token otrajā pieprasījumā | D, O | Nosūta ierobežotu, pret SSRF aizsargātu testa pieprasījumu. Saglabātās galveņu vērtības tiek aizpildītas no integrācijas un nosūtītas tikai uz tās resursdatoru. POST (noklusējuma metode), PUT, PATCH un DELETE ir divpakāpju; GET tiek izpildīts nekavējoties. |
list_webhook_endpoints | — | R, I | Uzskaita parakstītos tīmekļa aizķeres galapunktus. |
list_webhook_deliveries | izvēles agent_id, izvēles endpoint_id | R, I | Uzskaita nesenos tīmekļa aizķeres piegādes rezultātus bez datu slodzes. |
create_webhook_endpoint | label, url, izvēles notikumi/statuss | O | Izveido parakstītu tīmekļa aizķeres galapunktu. |
test_webhook_endpoint | endpoint_id | O | Nosūta sintētisku notikumu, izmantojot parasto piegādi. |
list_mcp_servers | — | R, I | Uzskaita attālos serverus, kurus var izsaukt balss aģenti. |
create_mcp_server | display_name, url | O | Reģistrē un sinhronizē attālo serveri. Serveri, kuriem nepieciešamas autentifikācijas galvenes, tiek pievienoti vadības panelī. |
sync_mcp_server_tools | server_id | D, O | Atsvaidzina attālā servera rīku katalogu. |
Kampaņas
| Rīks | Galvenie argumenti | Anotācijas | Funkcija |
|---|---|---|---|
list_campaigns | — | R, I | Uzskaita izejošās kampaņas. |
create_campaign | kampaņas lauki | — | Izveido kampaņas melnrakstu. |
add_campaign_contacts | campaign_id, contacts | — | Pievieno līdz 5 000 JSON kontaktpersonu. |
campaign_action | campaign_id, action, neobligāts consent_to_charge, confirmation_token otrajā pieprasījumā | D, O | Izpilda start, pause, resume vai stop. start un resume ir divpakāpju darbības; pause un stop tiek izpildītas nekavējoties. |
get_campaign_stats | campaign_id | R, I | Iegūst skaitītājus un nesenos rezultātus. |
Balsis, norēķini un dokumentācija
| Rīks | Galvenie argumenti | Anotācijas | Ko tas dara |
|---|---|---|---|
list_voices | — | R, I | Uzskaita balsis un atbalstītās valodas. |
preview_voice | voice, language, text | O | Ģenerē paraugu un atgriež parakstītu URL. |
list_voice_clones | — | R, I | Uzskaita pielāgotus balss klonus. |
get_billing_summary | — | R, I | Iegūst atlikumu un oficiālās līmeņu cenas; maksājumu izmaiņas nav pieejamas. |
search_docs | query, neobligāts limit | R, I, O | Meklē publiskās dokumentācijas indeksā. |
get_doc_page | path | R, I, O | Iegūst vienu publisku Markdown dokumentācijas lapu. |
Visi produkta rīki izmanto tos pašus REST koda ceļus kā publiskā API. Tādēļ REST validācija, organizācijas tvērums, lomas, norēķinu piekļuve, kvotas, TCPA apstiprinājums, pakalpojumu sniedzēju drošība un audita darbība tiek piemērota bez izmaiņām.
Destruktīvu darbību apstiprināšana
Ar D atzīmētie rīki kaut ko maina vai noņem, vai sāk zvanīt īstiem cilvēkiem. Tiem, kuru darbību nevar atsaukt, nepieciešami divi pieprasījumi. Pirmais pieprasījums neko nemaina un atgriež:
{
"status": "confirmation_required",
"action": "Delete agent",
"target": { "id": 195, "name": "Front Desk Receptionist" },
"confirmation_token": "…",
"expires_in_seconds": 600,
"next_step": "…"
}Palīgs parāda lietotājam, kas tiks ietekmēts, un lūdz apstiprinājumu. Pēc tam tas atkārto pieprasījumu ar tiem pašiem argumentiem un confirmation_token. Žetons ir derīgs 10 minūtes un attiecas uz vienu organizāciju, vienu rīku un vienu precīzu argumentu kopumu, tāpēc trīs balss aģentu dzēšanai nepieciešami trīs apstiprinājumi. campaign_action ar pause vai stop izlaiž šo darbību, lai aktīvu kampaņu vienmēr varētu nekavējoties apturēt; to izlaiž arī test_integration ar GET. Daži D rīki tiek izpildīti ar vienu pieprasījumu, jo D apzīmē to ietekmi, nevis servera puses apstiprinājumu: update_agent aizstāj melnrakstā esošo (discard_agent_draft to atjauno), deploy_agent aizstāj aktīvo konfigurāciju, update_phone_number pāradresē aktīvos zvanus, sync_mcp_server_tools aizstāj attālā servera rīku katalogu, import_voip_numbers novirza numurus uz jūsu sakaru pakalpojumu sniedzēju, run_agent_tests var iztērēt kredītu, send_sms un place_call sasniedz īstu cilvēku (place_call saglabā savu piekrišanas apstiprinājumu), un provision_phone_number iegādājas numuru. Jūsu MCP klients joprojām var lūgt jums tos apstiprināt.
Sākuma uzvednes
prompts/list piedāvā piecas atkārtoti izmantojamas darbplūsmas:
create_inbound_receptionistrun_agent_testsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
Izmantojiet prompts/get ar norādīto uzvednes nosaukumu un tās deklarētajiem argumentiem, lai saņemtu gatavu lietotāja ziņojumu.
Resursi
resources/list atklāj publiskas, kešatmiņā saglabātas atsauces:
| URI | Saturs |
|---|---|
thunderphone://docs/llms.txt | Publiskās dokumentācijas rādītājs. |
thunderphone://docs/quickstart | Īsās darba sākšanas Markdown dokuments. |
thunderphone://pricing | Pašreizējo publisko cenu Markdown dokuments. |
Nolasiet resursu ar resources/read. Publiskajām ielādēm tiek izmantots īss noildzes laiks, 2 MiB ierobežojums un desmit minūšu procesa kešatmiņa.
Protokols un kļūdas
Serveris atbalsta protokola versijas 2025-06-18 un 2025-03-26; tas atbalstītas klienta versijas gadījumā to atgriež, bet citādi atlasa 2025-06-18. Tas īsteno initialize, ping, rīkus, uzvednes, resursus un paziņojumus. Paziņojumi atgriež 202 Accepted. Šis bezstāvokļa serveris nepiedāvā SSE klausītāju vai sesijas dzēšanu, tādēļ GET un DELETE atgriež 405 Method Not Allowed ar Allow: POST.
Rīku kļūmes joprojām ir veiksmīgas JSON-RPC atbildes ar isError: true. To tekstā ir īss teikums, kam seko JSON bloks:
{
"code": "insufficient_balance",
"detail": "There is not enough prepaid balance.",
"next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}Atšķirīgais prefikss outbound_tcpa_confirmation_required: tiek saglabāts rīkam place_call. Nezināmas JSON-RPC metodes atgriež -32601 HTTP 200 atbildē. MCP 2025-06-18 neatbalsta JSON-RPC partijas un atgriež skaidru -32600 nederīga pieprasījuma kļūdu.