ThunderPhone 2.0 je stigao.Postavite sve sami, već od 2 ¢/min.Pročitajte objavu

Connect tools & data

Koristite ThunderPhone kao MCP poslužitelj

Izradite, testirajte, provjerite i upravljajte glasovnim agentima ThunderPhonea iz Claudea, ChatGPT-a, Claude Codea, Codexa, Cursora, VS Codea ili drugog Streamable HTTP MCP klijenta.

ThunderPhone izlaže Streamable HTTP poslužitelj Model Context Protocola na adresi:

https://api.thunderphone.com/v1/mcp

Ovo je suprotan smjer od povezivanja udaljenog MCP poslužitelja s glasovnim agentom:

SmjerRezultat
Udaljeni MCP poslužitelj → ThunderPhone agentGlasovni agent može pozivati alate udaljenog poslužitelja.
ThunderPhone → Vaš MCP klijentVaš agent za programiranje može izraditi, testirati i upravljati ThunderPhoneom.

Autentifikacija

Za klijente iz direktorija prema zadanim postavkama koristite OAuth: prijavite se, odaberite organizaciju i odobrite zatražene dozvole. Opozovite pristup u odjeljku Organizacija → API ključevi → Ovlaštene aplikacije.

Za klijente konfigurirane s API ključem izradite ključ sk_live_ u odjeljku Organizacija → Ključevi i izložite ga MCP klijentu kao THUNDERPHONE_API_KEY. Ključ je vezan uz jednu organizaciju; ID u vlasništvu druge organizacije ponaša se kao da nije pronađen.

CLI i stdio alternative

ThunderPhone CLI može zapisati konfiguraciju klijenta uz očuvanje nepovezanih poslužitelja:

npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope user

Nakon globalne instalacije paketa @thunderphone/mcp, upotrijebite thunderphone-mcp setup s istim opcijama. Postavljanje podržava Claude Code, Codex, Cursor, VS Code, Gemini, Claude Desktop i Windsurf. Prednost ima izravni HTTP; Desktop koristi stdio.

Za svaki klijent koji podržava stdio konfigurirajte command: "npx" s args: ["-y", "@thunderphone/mcp"]. Omotač najprije koristi THUNDERPHONE_API_KEY, zatim vjerodajnice iz thunderphone login, osvježava istekle tokene, a zatim koristi OAuth putem mcp-remote. Prijava uređajem i OAuth zahtijevaju odgovarajuće uvođenje API OAuth-a. Put s API ključem to ne zahtijeva. Izravne HTTP konfiguracije ne čitaju spremište CLI vjerodajnica; upotrijebite stdio omotač za ponovnu upotrebu prijave uređajem.

Ovo su alternative ručnim konfiguracijama klijenta u nastavku.

Konfiguracija klijenta

Claude i ChatGPT prijavljuju se putem OAutha; API ključ nije potreban. Ako još nemate ThunderPhone račun, na stranici za prijavu odaberite Izradite račun i nakon potvrde e-pošte vratit ćete se na zaslon za odobrenje.

Claude (web, stolno računalo i mobilni uređaji)

  1. Otvorite Prilagodba → Poveznici (Postavke → Poveznici u starijim verzijama). Ako se ThunderPhone prikazuje u direktoriju poveznika, odaberite ga. U suprotnom odaberite Dodajte prilagođeni poveznik, nazovite ga ThunderPhone i unesite https://api.thunderphone.com/v1/mcp.
  2. Odaberite Povežite, prijavite se u ThunderPhone, odaberite organizaciju i odobrite dozvole.
  3. U chatu omogućite ThunderPhone iz izbornika alata i zatražite što vam je potrebno, na primjer „Prikaži moje agente”.

Claude traži potvrdu prije prve upotrebe svakog alata. Kako biste preskočili većinu tih upita, otvorite Prilagodba → Poveznici → ThunderPhone i postavite Alati samo za čitanje na uvijek dopušteno. Ti alati samo dohvaćaju podatke: agente, pozive, prijepise, stanja računa i dokumentaciju. Ostavite Alati za pisanje/brisanje na potvrdi ako želite vidjeti svaku promjenu prije nego što se izvrši.

Prilagođeni poveznici zahtijevaju plaćeni Claude paket. U paketima Team i Enterprise vlasnik najprije dodaje poveznik u postavkama poveznika organizacije, a zatim svaki član povezuje vlastiti ThunderPhone račun.

ChatGPT

  1. Ako se ThunderPhone prikazuje u direktoriju aplikacija za ChatGPT, odaberite ga i povežite.
  2. U suprotnom otvorite Postavke → Aplikacije i poveznici → Napredne postavke, uključite Način za razvojne programere i izradite poveznik s URL-om https://api.thunderphone.com/v1/mcp i OAuth provjerom autentičnosti.
  3. Prijavite se u ThunderPhone, odaberite organizaciju i odobrite dozvole. Dodajte ThunderPhone u chat iz izbornika alata.

Brisanje agenta ili telefonskog broja, odbacivanje skice, pokretanje kampanje i slanje testnog zahtjeva koji može upisivati podatke u vanjski sustav zahtijevaju drugu potvrdu u bilo kojoj aplikaciji; pogledajte Potvrđivanje destruktivnih radnji.

Claude Code

claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
  --header "Authorization: Bearer $THUNDERPHONE_API_KEY"

Codex

Dodajte ovo u ~/.codex/config.toml:

[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"

Cursor

Izradite .cursor/mcp.json:

{
  "mcpServers": {
    "thunderphone": {
      "url": "https://api.thunderphone.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
      }
    }
  }
}

Claude Desktop

Dodajte most mcp-remote u konfiguraciju aplikacije 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

Izradite .vscode/mcp.json i unesite ključ putem upita za unos u VS Codeu:

{
  "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}"
      }
    }
  }
}

Alati

Svaki alat sadrži MCP napomene. U tablicama R znači samo za čitanje, D destruktivno, I idempotentno, a O interakciju s otvorenim svijetom/mrežom. Crtica znači da nije postavljena nikakva napomena.

Veza

AlatGlavni argumentiNapomeneŠto radi
get_connection_identity—R, IProvjerava vjerodajnicu i vraća njezinu organizaciju i sigurne metapodatke vjerodajnice.

Agenti

AlatGlavni argumentiNapomeneŠto radi
list_agents—R, INavodi agente.
get_agentagent_idR, IDohvaća jednog agenta.
create_agentkonfiguracija agenta—Stvara agenta.
update_agentagent_id, promijenjena poljaDPriprema polja u nacrtu agenta te zamjenjuje ono što je nacrt sadržavao. Izvršava se bez koraka potvrde: objavljeni agent ostaje nepromijenjen do deploy_agent, a discard_agent_draft vraća nacrt na prethodno stanje.
deploy_agentagent_id, neobavezno if_updated_atD, IPromiče nacrt u produkciju.
discard_agent_draftagent_id, neobavezno if_updated_at, confirmation_token pri drugom zahtjevuD, IOdbacuje pripremljene promjene. Postupak u dva koraka, pogledajte Potvrđivanje destruktivnih radnji.
duplicate_agentagent_id, neobavezno name—Kopira agenta unutar organizacije.
delete_agentagent_id, confirmation_token pri drugom zahtjevuD, ITrajno briše agenta. Postupak u dva koraka.
list_agent_versionsagent_idR, INavodi objavljene verzije konfiguracije.

Telefonski brojevi i pružatelji usluga

AlatGlavni argumentiNapomeneŠto radi
list_phone_numbers—R, IPrikazuje brojeve organizacije i usmjeravanje.
get_phone_number_limits—R, IDohvaća upotrebu i ograničenja upravljanih brojeva.
provision_phone_numberneobavezno area_code, city, state, idempotency_keyD, OKupuje dolazni broj kojim upravlja ThunderPhone.
list_voip_connections—R, IPrikazuje povezane pružatelje usluga korisnika.
search_voip_numbersconnection_id, country, type, neobavezno area_codeR, I, OPretražuje inventar pružatelja usluga.
import_voip_numbersconnection_id, numbersD, OUvozi brojeve koji su već u vlasništvu kod pružatelja usluga.
update_phone_numberphone_number_id, polja za usmjeravanje/oznaku/webhookDAžurira usmjeravanje broja, uključujući dodjelu agenta.
delete_phone_numberphone_number_id, confirm, neobavezno release_at_provider, confirmation_token u drugom zahtjevuD, I, OOslobađa broj. U dva koraka.

SMS

AlatGlavni argumentiNapomeneŠto radi
send_smsfrom_number, to, body, idempotency_keyD, I, OŠalje jednu SMS poruku s običnim tekstom putem povezanog Twilio ili Telnyx broja.

Pozivi

AlatGlavni argumentiNapomeneŠto radi
list_callsneobavezni filtri, limit, offsetR, IPrikazuje pozive uz filtre REST povijesti poziva.
get_callcall_idR, IDohvaća status poziva i metapodatke.
get_call_transcriptcall_id, neobavezni liveR, IDohvaća prijepis poziva.
get_call_audio_urlcall_id, neobavezni downloadR, I, OVraća potpisani URL zvuka; zvuk se nikada ne prenosi putem MCP-a.
get_call_gradecall_idR, IDohvaća najnoviju ocjenu poziva.
place_callagent_id, from_number, to_numberD, OUpućuje jedan neidemponentan odlazni poziv.
export_callsfiltri poziva, export_formatR, IIzvozi do ograničenja REST krajnje točke u formatu JSON ili CSV.

Testiranje i provjera

AlatGlavni argumentiNapomeneŠto radi
list_test_scenariosagent_idR, INavodi testne scenarije.
create_test_scenarioagent_id, title, scenario_prompt, neobavezni uvjeti—Stvara scenarij.
generate_test_scenariosagent_id, neobavezni count, include_edge_cases, localeOGenerira scenarije iz upita agenta.
run_agent_testsagent_id, channel, consent_to_charge, neobavezan odabir/matricaD, OIzvršava scenarije putem weba ili telefonije.
get_test_runagent_id, batch_idR, IDohvaća status skupne obrade i rezultate po scenariju.
list_validation_runsagent_idR, INavodi nedavna pokretanja provjere valjanosti nacrta.
get_validation_statusagent_idR, IDohvaća najnovije stanje provjere valjanosti i podudaranje nacrta.

Znanje

AlatGlavni argumentiNapomeneŠto radi
list_knowledge_bases—R, IPrikazuje baze znanja.
create_knowledge_basename, neobavezno description—Stvara bazu znanja.
add_knowledge_documentknowledge_base_id, name, content—Dodaje tekst ili Markdown.
import_knowledge_urlurl, neobavezno nameOStavlja javnu stranicu u red za siguran unos.
search_knowledgeknowledge_base_id, queryR, IPretražuje produkcijsko dohvaćanje.

Integracije, webhookovi i udaljeni MCP poslužitelji

AlatGlavni argumentiOznakeŠto radi
list_integrations—R, INavodi integracije HTTP funkcija.
create_integrationdisplay_name, specifikacija funkcije spec, neobavezna polja krajnje točke—Stvara HTTP alat. Dodajte zaglavlja za autentifikaciju na nadzornoj ploči.
test_integrationurl, neobavezni metoda/tijelo/vremensko ograničenje, integration_id s header_names, confirmation_token pri drugom zahtjevuD, OŠalje ograničen testni zahtjev zaštićen od SSRF-a. Spremljene vrijednosti zaglavlja popunjavaju se iz integracije i šalju samo njezinu vlastitom hostu. POST (zadano), PUT, PATCH i DELETE izvode se u dva koraka; GET se izvršava odmah.
list_webhook_endpoints—R, INavodi potpisane krajnje točke web-dojava.
list_webhook_deliveriesneobavezni agent_id, neobavezni endpoint_idR, INavodi nedavne ishode isporuke web-dojava bez sadržaja.
create_webhook_endpointlabel, url, neobavezni događaji/statusOStvara potpisanu krajnju točku web-dojave.
test_webhook_endpointendpoint_idOŠalje sintetički događaj putem uobičajene isporuke.
list_mcp_servers—R, INavodi udaljene poslužitelje koje mogu pozivati glasovni agenti.
create_mcp_serverdisplay_name, urlORegistrira i sinkronizira udaljeni poslužitelj. Poslužitelji koji trebaju zaglavlja za autentifikaciju dodaju se na nadzornoj ploči.
sync_mcp_server_toolsserver_idD, OOsvježava katalog alata udaljenog poslužitelja.

Kampanje

AlatGlavni argumentiNapomeneŠto radi
list_campaigns—R, IPrikazuje odlazne kampanje.
create_campaignpolja kampanje—Stvara nacrt kampanje.
add_campaign_contactscampaign_id, contacts—Dodaje do 5.000 JSON kontakata.
campaign_actioncampaign_id, action, neobavezno consent_to_charge, confirmation_token pri drugom zahtjevuD, OIzvršava start, pause, resume ili stop. start i resume su dvokoračni; pause i stop izvršavaju se odmah.
get_campaign_statscampaign_idR, IDohvaća brojače i nedavne ishode.

Glasovi, naplata i dokumentacija

AlatGlavni argumentiNapomeneŠto radi
list_voices—R, INavodi glasove i podržane jezike.
preview_voicevoice, language, textOGenerira uzorak i vraća potpisani URL.
list_voice_clones—R, INavodi prilagođene klonove glasova.
get_billing_summary—R, IDohvaća stanje računa i mjerodavne cijene razina; nisu dostupne izmjene plaćanja.
search_docsquery, neobavezno limitR, I, OPretražuje indeks javne dokumentacije.
get_doc_pagepathR, I, ODohvaća jednu javnu Markdown stranicu dokumentacije.

Svi alati proizvoda koriste iste REST putanje koda kao javni API. Stoga se REST provjera, opseg organizacije, uloge, odobrenje naplate, kvote, TCPA potvrda, sigurnost pružatelja usluga i ponašanje revizije primjenjuju nepromijenjeno.

Potvrđivanje destruktivnih radnji

Alati označeni slovom D mijenjaju ili uklanjaju nešto ili započinju pozivanje stvarnih osoba. Za one čije se radnje ne mogu poništiti potrebna su dva zahtjeva. Prvi zahtjev ne mijenja ništa i vraća:

{
  "status": "confirmation_required",
  "action": "Delete agent",
  "target": { "id": 195, "name": "Front Desk Receptionist" },
  "confirmation_token": "…",
  "expires_in_seconds": 600,
  "next_step": "…"
}

Pomoćnik korisniku prikazuje na što radnja utječe i traži potvrdu. Zatim ponavlja zahtjev s istim argumentima uz confirmation_token. Token vrijedi 10 minuta i odnosi se na jednu organizaciju, jedan alat i jedan točan skup argumenata, pa su za brisanje triju agenata potrebne tri potvrde. campaign_action s pause ili stop preskače ovaj korak kako bi se aktivna kampanja uvijek mogla odmah zaustaviti, kao i test_integration s GET. Neki alati označeni slovom D izvršavaju se u jednom zahtjevu jer D označava njihov učinak, a ne potvrdu na strani poslužitelja: update_agent zamjenjuje sadržaj nacrta (discard_agent_draft ga vraća), deploy_agent zamjenjuje aktivnu konfiguraciju, update_phone_number preusmjerava aktivne pozive, sync_mcp_server_tools zamjenjuje katalog alata udaljenog poslužitelja, import_voip_numbers preusmjerava brojeve na Vašeg operatera, run_agent_tests može potrošiti kredit, send_sms i place_call kontaktiraju stvarnu osobu (place_call zadržava vlastitu potvrdu pristanka), a provision_phone_number kupuje broj. Vaš MCP klijent i dalje može zatražiti da ih odobrite.

Početni upiti

prompts/list nudi pet ponovno upotrebljivih tijekova rada:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge

Upotrijebite prompts/get s navedenim nazivom upita i njegovim deklariranim argumentima da biste primili korisničku poruku spremnu za pokretanje.

Resursi

resources/list izlaže javne, predmemorirane reference:

URISadržaj
thunderphone://docs/llms.txtIndeks javne dokumentacije.
thunderphone://docs/quickstartQuickstart Markdown.
thunderphone://pricingTrenutačni javni Markdown s cijenama.

Pročitajte pojedini resurs pomoću resources/read. Javna dohvaćanja koriste kratko vremensko ograničenje, ograničenje od 2 MiB i desetominutnu predmemoriju unutar procesa.

Protokol i pogreške

Poslužitelj podržava verzije protokola 2025-06-18 i 2025-03-26; vraća podržanu verziju klijenta, a u suprotnom odabire 2025-06-18. Implementira initialize, ping, alate, upite, resurse i obavijesti. Obavijesti vraćaju 202 Accepted. Ovaj poslužitelj bez stanja ne izlaže SSE slušatelj ni brisanje sesije, stoga GET i DELETE vraćaju 405 Method Not Allowed uz Allow: POST.

Neuspjesi alata ostaju uspješni JSON-RPC odgovori s isError: true. Njihov tekst sadržava kratku rečenicu nakon koje slijedi JSON blok:

{
  "code": "insufficient_balance",
  "detail": "There is not enough prepaid balance.",
  "next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}

Zasebni prefiks outbound_tcpa_confirmation_required: zadržava se za place_call. Nepoznate JSON-RPC metode vraćaju -32601 u HTTP odgovoru 200. MCP 2025-06-18 ne podržava JSON-RPC skupove zahtjeva te vraćaju jasnu pogrešku neispravnog zahtjeva -32600.