ThunderPhone 2.0 on nüüd saadaval.Iseteenindusena alates 2 senti/min.Loe uudist

Connect tools & data

Kasuta ThunderPhone

Loo, testi, valideeri ja halda ThunderPhone

ThunderPhone pakub Streamable HTTP Model Context Protocoli serverit aadressil:

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

See on vastupidine suund võrreldes kaughostitud MCP-serveri ühendamisega häälagendiga:

SuundTulemus
Kaughostitud MCP-server → ThunderPhone'i agentHäälagent saab kutsuda kaugserveri tööriistu.
ThunderPhone → sinu MCP-klientSinu programmeerimisagent saab ThunderPhone'i luua, testida ja hallata.

Autentimine

Kasuta kataloogiklientide jaoks vaikimisi OAuthi: logi sisse, vali organisatsioon ja kiida taotletud õigused heaks. Tühista juurdepääs menüüs Organisatsioon → API-võtmed → Volitatud rakendused. Parooli muutmine või lähtestamine või konto e-posti aadressi muutmine tühistab samuti ühenduse, seega ühenda klient pärast seda uuesti.

API-võtmega seadistatud klientide jaoks loo jaotises Organisatsioon → Võtmed sk_live_-võti ja ava see oma MCP-kliendile muutujana THUNDERPHONE_API_KEY. Võti on seotud ühe organisatsiooniga; teisele organisatsioonile kuuluv ID käitub nagu seda ei leitaks.

Organisatsioonid, kes töötlevad PHI-d

Kui sinu organisatsiooni kõned võivad sisaldada kaitstud terviseteavet (PHI), kuna sul on ThunderPhone’iga BAA või sinu agendid on määratud PHI-d töötlema, ei tagasta ülaltoodud URL kunagi kõnesisu: transkripte, salvestisi, hindeid, kõneloendeid, eksporditud andmeid, kampaaniate tulemusi, kõneanalüütikat ja ülevaateid, päriskõnede põhjal loodud vestlusi ega taasesituse tulemusi. Need tööriistad tagastavad vea koodiga code: "phi_content_unavailable". Agentide loomine, testimine ja seadistamine toimib tavapäraselt.

See URL on avalikes assistentide kataloogides loetletud URL, mis ei pruugi PHI-d edastada. Kui sinu organisatsioonil on assistendi pakkujaga oma BAA, mis katab kasutatava tööruumi:

  1. Organisatsiooni administraator avab ThunderPhone’is Organisatsioon → Üldine → AI-assistendi juurdepääs ja kinnitab selle katvuse.
  2. Ühenda assistent kohandatud konnektorina hoopis selle URL-iga:
https://api.thunderphone.com/v1/mcp/baa

Kõnesisu on siis seal saadaval, sealhulgas kõned, mis võivad sisaldada PHI-d. Kinnituse tühistamine peatab selle assistendi järgmisel päringul. Kõne, mida sinu organisatsioon käsitles PHI-d mittesisaldavana, on saadaval mõlemal URL-il.

CLI ja stdio alternatiivid

ThunderPhone CLI saab kirjutada kliendi konfiguratsiooni, säilitades muud serverid:

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

Pärast paketi @thunderphone/mcp globaalset installimist kasuta sama valikutega käsku thunderphone-mcp setup. Seadistus toetab Claude Code'i, Codexi, Cursorit, VS Code'i, Geminit, Claude Desktopi ja Windsurfi. Eelistatud on otsene HTTP; Desktop kasutab stdio't.

Iga stdio-toega kliendi jaoks seadista command: "npx" koos args: ["-y", "@thunderphone/mcp"]. Ümbris kasutab esmalt muutujat THUNDERPHONE_API_KEY, seejärel käsu thunderphone login autentimisandmeid, värskendades aegunud tokeneid, ning seejärel OAuthi mcp-remote kaudu. Seadmelogimine ja OAuth nõuavad vastavat API OAuthi kasutuselevõttu. API-võtme kasutamine seda ei nõua. Otsesed HTTP-konfiguratsioonid ei loe CLI autentimisandmete hoidlat; seadmelogimise taaskasutamiseks kasuta stdio-ümbrist.

Need on alternatiivid allolevatele käsitsi seadistatavatele kliendikonfiguratsioonidele.

Kliendi seadistamine

Claude ja ChatGPT kasutavad sisselogimiseks OAuthi; API-võtit ei kasutata. Kui sul veel ThunderPhone'i kontot ei ole, vali sisselogimislehel Loo konto ning pärast e-posti kinnitamist naased kinnitusekraanile.

Claude (veeb, töölauarakendus ja mobiil)

  1. Ava Kohanda → Konnektorid (vanemates versioonides Seaded → Konnektorid). Kui ThunderPhone kuvatakse konnektorite kataloogis, vali see. Vastasel juhul vali Lisa kohandatud konnektor, nimeta see ThunderPhone ja sisesta https://api.thunderphone.com/v1/mcp.
  2. Vali Ühenda, logi ThunderPhone'i sisse, vali organisatsioon ja kinnita õigused.
  3. Luba vestluses ThunderPhone tööriistade menüüst ja küsi, mida vajad, näiteks „Loetle minu agendid“.

Claude küsib enne iga tööriista esmakordset kasutamist kinnitust. Enamiku nende viipade vahelejätmiseks ava Kohanda → Konnektorid → ThunderPhone ja määra Ainult lugemiseks tööriistad alati lubatuks. Need tööriistad ainult otsivad teavet: agendid, kõned, transkriptsioonid, saldod, dokumentatsioon. Kui soovid iga muudatust enne selle tegemist näha, jäta Kirjutamis-/kustutustööriistad kinnitust nõudma.

Kohandatud konnektorid nõuavad tasulist Claude'i paketti. Team- ja Enterprise-pakettides lisab omanik konnektori esmalt organisatsiooni konnektorite seadetes ning seejärel ühendab iga liige oma ThunderPhone'i konto.

ChatGPT

  1. Kui ThunderPhone kuvatakse ChatGPT rakenduste kataloogis, vali see ja ühenda.
  2. Vastasel juhul ava Seaded → Rakendused ja konnektorid → Täpsemad seaded, lülita sisse Arendajarežiim ning loo konnektor URL-iga https://api.thunderphone.com/v1/mcp ja OAuth-autentimisega.
  3. Logi ThunderPhone'i sisse, vali organisatsioon ja kinnita õigused. Lisa ThunderPhone vestlusse tööriistade menüüst.

Häälagendi või telefoninumbri kustutamine, mustandi hülgamine, kampaania käivitamine ja välisesse süsteemi kirjutada võiva testpäringu saatmine nõuavad mõlemas rakenduses teist kinnitust; vaata hävitavate toimingute kinnitamine.

Claude Code

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

Codex

Lisa see faili ~/.codex/config.toml:

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

Cursor

Loo .cursor/mcp.json:

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

Claude Desktop

Lisa Claude Desktopi seadistusse mcp-remote-sild:

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

Loo .vscode/mcp.json ja sisesta võti VS Code'i sisestusviiba kaudu:

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

Tööriistad

Igal tööriistal on MCP annotatsioonid. Tabelites tähendab R ainult lugemist, D hävitavat toimingut, I idempotentset toimingut ja O avatud maailma-/võrgusuhtlust. Kriips tähendab, et vihjet pole määratud.

Ühendus

TööriistPeamised argumendidAnnotatsioonidFunktsioon
get_connection_identity—R, IKontrollib mandaadi kehtivust ning tagastab selle organisatsiooni ja mandaadi turvalised metaandmed.

Agendid

TööriistPeamised argumendidMärkusedMida see teeb
list_agents—R, ILoetleb agendid.
get_agentagent_idR, IHangib ühe agendi.
create_agentagendi konfiguratsioon—Loob agendi. Kasutab samu seadeid nagu update_agent, sealhulgas steps, handoffs, intro_clip ja intro_ring_count.
update_agentagent_id, muudetud väljad, valikuline prompt_edits, expected_prompt_sha256DSalvestab väljad agendi mustandisse, asendades mustandis olnud väärtused. Töötab ilma kinnitusetapita: juurutatud agent ei muutu enne deploy_agent kasutamist ning discard_agent_draft taastab mustandi. Saad määrata ka max_hold_seconds, system_tool_settings ja words. Viiba osa muutmiseks saada prompt_edits (vaata viiba kohapeal muutmine).
deploy_agentagent_id, valikuline if_updated_atD, IEdendab mustandi tootmisse.
discard_agent_draftagent_id, valikuline if_updated_at, teisel päringul confirmation_tokenD, IHülgab salvestatud muudatused. Kaheetapiline, vaata kahjustavate toimingute kinnitamine.
duplicate_agentagent_id, valikuline name—Kopeerib agendi organisatsiooni sees.
delete_agentagent_id, teisel päringul confirmation_tokenD, IKustutab agendi jäädavalt. Kaheetapiline.
list_agent_versionsagent_idR, ILoetleb juurutatud konfiguratsiooniversioonid.
list_prompt_revisionsagent_id, valikulised source, limit, offsetR, ILoetleb kõik agendi viibateksti muudatused, kaasa arvatud mustandid, igaühe juures erinevus võrreldes asendatud redaktsiooniga. Saadaval, kui agendi iteratsiooni tööriistakomplekt on sinu ühendusele saadaval (vaata allpool).
review_promptagent_id, valikulised prompt, previous_prompt, quote_id, max_cost_cents—Kontrollib mustandviipa (või sinu saadetud teksti) viiba stiilijuhendi alusel. Iga leid tsiteerib lõiku, nimetab juhise ja pakub otsi-ja-asenda muudatust; tulemus loetleb ka viibas nõutud käitumised koos püsivate ID-dega, näitab, kas ümbertöötlus on vajalik, ning agendi enda viiba puhul, kas testvestlusi tuleb värskendada. Agendis ei muudeta midagi; loend salvestatakse koos selle viibaredaktsiooniga. Tasuline, seega ei ole see märgitud kirjutuskaitstuks: küsi hinnapakkumine dry_run abil, seejärel käivita see üks kord tagastatud quote_id ja max_cost_cents abil. Saadaval, kui agendi iteratsiooni tööriistakomplekt on sinu ühendusele saadaval (vaata allpool).
refactor_promptagent_id, valikulised prompt, inventory, instructions, quote_id, max_cost_cents—Kirjutab viiba ümber stiilijuhendi vormi ja kaardistab iga käitumise säilitatuks, ühendatuks, ümber sõnastatuks või eemaldatuks. Tagastab uue teksti ja erinevuse ning loeb selle vaikimisi uuesti läbi, et esitada behavior_changes (lisatud, eemaldatud või muudetud) ja behavior_preserved; rakenda see update_agent abil. Tasuline: küsi hinnapakkumine dry_run abil, seejärel käivita see üks kord tagastatud quote_id ja max_cost_cents abil. Saadaval, kui agendi iteratsiooni tööriistakomplekt on sinu ühendusele saadaval (vaata allpool).
list_reusable_instructions—R, ILoetleb taaskasutatavad juhised: jagatud viibareeglid, mis on paljude agentidega seotud update_agenti reusable_instruction_ids abil.
create_reusable_instructionname, content—Loob sidumata taaskasutatava juhise. Ainult administraatoritele.

Telefoninumbrid ja operaatorid

TööriistPeamised argumendidMärkusedMida see teeb
list_phone_numbers—R, ILoetleb organisatsiooni numbrid ja marsruutimise.
get_phone_number_limits—R, IHangib hallatavate numbrite kasutuse ja piirangud.
provision_phone_numbervalikulised area_code, city, state, idempotency_keyD, OOstab ThunderPhone'i hallatava sissetuleva numbri.
list_voip_connections—R, ILoetleb ühendatud kliendioperaatorid.
search_voip_numbersconnection_id, country, type, valikuline area_codeR, I, OOtsib operaatori numbrivalikust.
import_voip_numbersconnection_id, numbersD, OImpordib operaatorile juba kuuluvad numbrid.
update_phone_numberphone_number_id, marsruutimise/sildi/webhooki väljadDVärskendab numbri marsruutimist, sh agendi määramist.
delete_phone_numberphone_number_id, confirm, valikuline release_at_provider, confirmation_token teisel päringulD, I, OVabastab numbri. Kaheetapiline.
get_voip_setup_sessionvalikuline session_idR, ILoeb juhendatud operaatori seadistust (olek, kontrollnimekiri, küsimus, mille vastust see ootab) või loetleb avatud seadistused. Seadistus algab töölaual, kuna see vajab operaatori parooli. Ainult administraatoritele.
answer_voip_setup_questionsession_id, question_id, answerOEdastab kasutaja vastuse seadistusele. Paroolidele, testkõne nõusolekule, serveri aadressile, kasutajanimele ja ThunderPhone'ile pakkuja kontole sisselogimise lubamisele vastatakse ainult seadistusviisardis; nende puhul tagastab see viisardi lingi ega saada midagi.
save_voip_setupsession_id, valikuline name, confirmation_token teisel päringulD, I, OSalvestab ühendatud mustandühenduse, et seda saaks kasutada. Kaheetapiline.
check_phone_numberphone_number või phone_number_idR, I, ODiagnoosib üht organisatsiooni enda numbrit tõendite põhjal: marsruutimine, ühendus, kinnitamine, hiljutised operaatori- ja testkõned ning kuhu operaator selle suunab.

SMS

TööriistPeamised argumendidMärkusedMida see teeb
send_smsfrom_number, to, body, idempotency_keyD, I, OSaadab ühe lihttekstilise SMS-i ühendatud Twilio või Telnyx numbrilt.

Kõned

TööriistPeamised argumendidMärkusedMida see teeb
list_callsvalikulised filtrid, limit, offsetR, ILoetleb kõned REST-i kõneajaloo filtritega, sealhulgas exclude_test_calls.
get_callcall_idR, IHangib kõne oleku ja metaandmed.
get_call_transcriptcall_id, valikuline liveR, IHangib kõne transkriptsiooni.
get_call_audio_urlcall_id, valikuline downloadR, I, OTagastab allkirjastatud heli-URL-i; heli ei voogedastata kunagi MCP kaudu.
get_call_gradecall_idR, IHangib uusima kõnehinde.
place_callagent_id, from_number, to_numberD, OTeeb ühe mitteidempotentse väljamineva kõne.
export_callskõnefiltrid, export_formatR, IEkspordib kuni REST-i lõpp-punkti piiranguni JSON- või CSV-vormingus.
get_call_analyticsvalikuline since_days, agent_idR, IKoondab päriskõned oleku, suuna, tulemuse, hinde ja probleemi järgi ning arvestab testkõnesid eraldi.
get_call_insightscall_ids (kuni 10)R, IHangib korraga mitme kõne hinde, tulemuse, kokkuvõtte ja tuvastatud probleemid.

Testimine ja valideerimine

TööriistPeamised argumendidMärkusedMida see teeb
list_test_scenariosagent_idR, ILoetleb testistsenaariumid.
create_test_scenarioagent_id, title, scenario_prompt, valikulised tingimused—Loob stsenaariumi.
generate_test_scenariosagent_id, valikulised count, include_edge_cases, localeOGenereerib stsenaariumid agendi viiba põhjal.
run_agent_testsagent_id, channel, consent_to_charge, valikuline valik/maatriksD, OKäivitab stsenaariumid veebi või telefonivõrgu kaudu.
get_test_runagent_id, batch_idR, IHangib paketi oleku ja stsenaariumipõhised tulemused.
test_my_agentagent_id, consent_to_charge, valikulised scenario_ids, count, wait_secondsD, OTestib agenti ühe päringuga: käivitab selle salvestatud stsenaariumid (genereerides mõned, kui neid pole) ja ootab otsuseid kuni minuti või tagastab batch_id tööriista get_test_run jaoks. Arveldatakse nagu run_agent_tests.
test_in_textagent_id, callers (1 kuni 3 kirjeldust), valikulised version, directionOTasuta tekstitest: simuleeritud helistajad vestlevad tekstis päris töötlusahela kaudu agendi mustandi (või aktiivse versiooniga) ning transkriptid saabuvad umbes minuti jooksul. Tööriista tulemused on simuleeritud.
run_simulationagent_id, consent_to_charge, valikulised scenario_prompt, direction, languageD, OAlustab üht simuleeritud telefonikõnet tehisintellektist helistaja ja agendi mustandi vahel, et inimene saaks muudatust kuulata. Tagastab käituse olekus in_progress. See salvestatakse, kui agent salvestab kõnesid, ning hinnatakse pärast lõppemist. Arveldatakse nagu testkõne, esmalt tasuta testieelarvest.
get_simulationsimulation_idR, IHangib simuleeritud kõne oleku ja pärast selle lõppemist selle väljundi: lühiajalise salvestise URL-i ja transkripti, kui agent salvestab kõnesid, ning hinde pärast hindamise lõppemist (enne seda null).
list_validation_runsagent_idR, ILoetleb hiljutised mustandi valideerimiskäitused.
get_validation_statusagent_idR, IHangib uusima valideerimisoleku ja mustandi vaste.
list_conversationsagent_id, valikulised split, sourceR, ILoetleb vestlused, mille vastu agenti testitakse. Vajab agendi iteratsioonitööriistakomplekti.
get_conversationconversation_idR, IHangib ühe testvestluse koos selle praeguste voorudega. Vajab agendi iteratsioonitööriistakomplekti.
get_conversation_revisionsconversation_id, valikulised limit, offsetR, ILoetleb testvestluse kõik redaktsioonid: kuidas ja miks see muutus (värskendati viiba muudatuse tõttu, taastati varasemast redaktsioonist), lisatud, eemaldatud ja muudetud käitumised, teisaldatud või kasutuselt kõrvaldatud näited ning ridade erinevuse. Vajab agendi iteratsioonitööriistakomplekti.
generate_conversationsagent_id, valikulised count, styleOKoostab agendi mustandi vastu simuleeritud testvestlused ja muudab nende kõige keerulisemad hetked vastusevõtmetega valideerimisnäideteks. Koosta esmalt hinnapakkumine dry_run abil; tegelik käitus vajab selle quote_id ja max_cost_cents. Vajab agendi iteratsioonitööriistakomplekti.
import_conversationsagent_id, valikulised since_days, max_callsOMuudab agendi hiljutised kõned testvestlusteks (kuni kaks helistaja kohta, salvestuseta kõned jäetakse vahele) ja nende kõige keerulisemad hetked näideteks. Koosta esmalt hinnapakkumine dry_run abil; tegelik käitus vajab selle quote_id ja max_cost_cents. Vajab agendi iteratsioonitööriistakomplekti.
refresh_conversationsagent_id, valikulised conversation_ids, from_prompt_revision_idOViib agendi testvestlused pärast käitumiste lisamist, eemaldamist või muutmist vastavusse selle praeguse viibaga: suunab ümber, taastab varasema redaktsiooni (koos päris heliga) või kirjutab aegunud voorud ümber ning kõrvaldab näited, mille helistaja voor on kadunud. Koosta esmalt hinnapakkumine dry_run abil; tegelik käitus vajab selle quote_id ja max_cost_cents. Vajab agendi iteratsioonitööriistakomplekti.
get_conversation_jobjob_idR, IHangib genereerimis-, importimis- või värskendustöö oleku, senise kulu võrreldes selle ülempiiriga ning selle, mida töö kirjutas või värskendas. Vajab agendi iteratsioonitööriistakomplekti.
run_replaysagent_id, valikulised overrides, split, engine, sample_size, sample_seed, max_cost_cents, quote_id, dry_runD, OEsitab uuesti valimi agendi näidetest selle mustandiga või alistustega, näiteks kandidaadi viiba, hääle või tasemega, ning hindab iga vastust näite vastusevõtme järgi. Täpsed kordusesitused käitavad vooru salvestatud heli nagu aktiivne kõne; läbimismäärad esitatakse mootori kaupa. PHI-kõnede kordusesitused käitatakse PHI-na ning konfiguratsioon, mida need käitada ei saa (ElevenLabsi hääl, eksperimentaalne toode), lükatakse tagasi. dry_run tagastab hinnangu, kasutatud sample_seed ja quote_id; tegelik käitus saadab sama päringu selle quote_id ja sample_seed ning max_cost_cents-iga, mis on range ülempiir: iga päring reserveerib enne saatmist oma ülempiiri ja käitus peatub sellise päringu saatmise asemel, mis sinna ei mahu, seega jäta iga töötaja kohta hinnangu largest_reservation_cents jagu varu. Täpne kordusesitus reserveerib halvima juhu ehk tüüpilise vooru korral umbes 85 senti kuni 1,25 dollarit iga samal ajal käitatava kordusesituse kohta (kaks käitatakse korraga), kuigi tegelik kulu on mõni sent; käituselt võetakse kordusesituste tegelik kulu, seega määra max_cost_cents varuga. Täpne kordusesitus töötab eelarvega, mis on mõeldud tavapärase vooru ja ühe tootmises tehtava korduskäivituse jaoks (vastuse võidujooks uuesti ja järelevalveprotsessi uuesti proovimine); rohkem vajav voor salvestatakse veana replay_budget_exhausted, arvestatakse eraldi kui budget_exhausted, jäetakse läbimismäärast välja ning testjaotuses ei kuluta kohorti. Testjaotuses lükatakse Bolt v2-st erineva konfiguratsiooni korral tagasi salvestatud helistaja heliga kohort (test_needs_exact_replay) ja see jääb kasutamata: mõõda seda konfiguratsiooni arendusjaotuses. Vajab agendi iteratsioonitööriistakomplekti.
compare_configsagent_id, configs (2 kuni 4, esimene on lähtealus), valikulised sample_size, sample_seed, max_cost_cents, quote_id, dry_runOEsitab samad näited uuesti iga konfiguratsiooniga ning teatab läbimismäära, lähtealusega võrreldes parandatud ja rikutud näited, latentsuse esimese helini, kui sageli helistaja ootas kinnitust, tiksumist või vaikust, ning kulu vooru kohta mootori kaupa. Koosta sellele dry_run abil hinnapakkumine nagu tööriistale run_replays. Ainult arendusjaotuses: testjaotuses lükatakse see tagasi (comparison_dev_only); võrdle arenduses ja mõõda seejärel valitut tööriistaga run_replays. Vajab agendi iteratsioonitööriistakomplekti.
get_replay_runrun_id, valikuline include_traceR, IHangib kordusesituskäituse kogusummad, muutused ja näitepõhised tulemused ning selle võrdlusgrupi. Täpsed kordusesitused, mis vajasid eelarvest rohkem, arvestatakse eraldi (budget_exhausted) ja läbimismäärast väljaspool. Vajab agendi iteratsioonitööriistakomplekti.
create_talk_linkagent_id, valikulised variant_id, language, expires_in_minutesOLoob ühekordse lingi, mille inimene avab brauseris, et rääkida agendi praeguse mustandiga, nagu juhtpaneeli nupp Talk. Link aegub vaikimisi 30 minuti pärast (kõige rohkem 120 minuti pärast); vestlust arveldatakse nagu Talki testkõnet. Vaata Talki lingid. Vajab agendi iteratsioonitööriistakomplekti (vt allpool).

Agendi iteratsioonitööriistakomplekti vajavateks märgitud tööriistad kuuluvad selle hulka; tööriistakomplekt on beetaversiooni ajal lubatud organisatsioonipõhiselt ning ilma selleta tagastavad need feature_not_enabled koos järgmiste juhistega. Agendi iga vestlus kuulub kas arendus- või testjaotusse. Testjaotus on muudatuse mõõtmiseks, mitte selle häälestamiseks, seega tagastavad vestlustööriistad testjaotuse vestluse kohta ainult selle ID, jaotuse, allika, oleku ja arvud. Testjaotuse taasesituse käitus taasesitab ühe tervikliku testkohordi (sample_size ja sample_seed eiratakse), käitades iga näite selle andmete lubatud mootoril, mis määratakse enne käitust näite põhjal (salvestatud helistaja heli puhul täpne, ainult tekstiga näite puhul tekst; muu konfiguratsiooni kui Bolt v2 puhul täpne tee puudub, seega salvestatud heliga kohort lükatakse selle puhul tagasi koodiga test_needs_exact_replay ja jääb kasutamata; engine jäetakse ära või määratakse auto, kuna exact või text lükatakse tagasi koodiga test_engine_per_example ning midagi ei lange tagasi tekstile), ja tagastab ainult koondandmed mootori kaupa: läbimise määr, tõrked raskusastme ja liigi järgi, latentsus ning kulu. Esimene taasesituse salvestav tulemus kulutab kohordi, seega järgmine testikäitus kasutab mis tahes viiba puhul järgmist kohorti ning kui neid pole alles, lükatakse see tagasi koodiga no_test_cohort (kõnede importimine või vestluste genereerimine täidab uued kohordid); käitus, mis lõpeb enne taasesituse salvestamist (Core ei saa selle helinäiteid täpselt taasesitada, exact_replay_unavailable, selle taasesitusvõimekus on hõivatud, core_busy, või iga käik ületas eelarve, replay_budget_exhausted), jätab kohordi kasutamata. Arendusjaotuses langeb täpne taasesitus, mida Core ei saa käitada, tagasi tekstile ning käitus märgitakse kui degraded. Võrdlused toimivad ainult arendusjaotuses. Iga tasuline tööriist võtab vastu oma proovikäivituse quote_id, mis kehtib ühe käituse jaoks: see kulutatakse püsivalt üks kord käituse alustamisel ning enne seda tagasi lükatud või nurjunud alustamine jätab selle kasutatavaks; pärast seda nurjunud käitus annab sellest teada ning seda korratakse uue proovikäivitusega uue quote_id jaoks. OAuthi korral vajavad review_prompt ja refactor_prompt õigust agents:write, sealhulgas proovikäivitused, ning vestlus- ja taasesitustööriistad vajavad käitamiseks õigust testing:write. Inimesed näevad juhtpaneelil kogu testjaotust. Kõne, mille helistaja on agendi testjaotuses, jäetakse välja, sest see on osa testandmestikust. Tööriistakomplektiga organisatsioonis tagastavad list_calls, get_call, get_call_transcript, get_call_audio_url, get_call_grade ja export_calls selle täpselt kujul {"call_id", "start_time", "held_out": true} (ekspordi ridades on start_time asemel started_at), ilma transkriptsiooni, salvestise, ajaloo, hinde või aruandeta; kõik muud kõne väljad puuduvad, seega tuvasta väljajäetud rida enne kõike muud selle held_out väärtuse järgi. REST API teeb API-võtmete ja OAuthi tokenite puhul sama ning selle paljusid kõnesid hõlmavad vaated (aruannete kokkuvõtted, probleemiklastrid, uurimised, konveieriaruanded) jätavad väljajäetud kõned oma arvudest, klastritest ja valimitest välja ning varjavad mudeli nendest kirjutatud teksti. Väljajäetud kõne kirjutustoiming (hindamine, selle tõstmine testistsenaariumiks, käigu uuesti genereerimine) lükatakse tagasi koodiga held_out_call. Testistsenaarium, mille keegi tõstis väljajäetud kõnest, tagastatakse list_test_scenarios kaudu ja testikäitustes täpselt kujul {"id", "held_out": true}, ning sellest pärit simulatsioonikäitus tagastatakse get_test_run ja simulatsioonitööriistade kaudu täpselt kujul {"id", "scenario_id", "held_out": true}; ka selle simuleeritud kõned jäetakse välja, kuid testikäitused käitavad selle siiski. Arendusvestlus, näide või taasesituse tulemus, mis on kopeeritud väljajäetud helistaja kõnest (jaotused on agendipõhised, seega võib see helistaja kuuluda teise agendi testjaotusse), käitub nagu testjaotuse oma. Inimesed näevad juhtpaneelil väljajäetud kõnesid täielikult ning administraator saab lubada ühel API-võtmel neid täielikult näha (include_held_out_calls, vaikimisi välja lülitatud, määratav ainult juhtpaneelil) integratsiooni jaoks, mis vajab iga kõnet; MCP ei kasuta seda kunagi. Veebihaagid ei muutu. Tööriistakomplektita organisatsioonid ei näe välja held_out ega muid muudatusi.

generate_conversations, import_conversations ja refresh_conversations kasutavad mudelikrediite. Esmalt kutsu neid parameetriga dry_run: true: vastuseks on etapiviisiline kulupakkumine koos quote_id-ga ja midagi ei käivitata. Pakkumine arvestab iga päringuga, mida käitus võib tavapärase mahu juures teha. Tegelik käitus vajab seda quote_id-d (see aegub 15 minuti pärast ja toimib ainult samade argumentidega) ning max_cost_cents-i, mis on range ülempiir: enne iga päringut jätab töö reservi suurima summa, mida see päring võib maksta, ning peatub sobimatu päringu saatmise asemel, säilitades juba kirjutatu. Selle reservi tõttu võib käitus peatuda nii, et osa ülempiirist jääb kasutamata; pakkumise largest_reservation_cents näitab, kui palju varu jätta. Simuleeritud helistajad luuakse agendi viibast; style: "adversarial" loob keerulisi helistajaid, kes survestavad viiba nõrku kohti, ning need vestlused lähevad alati arendusjaotusse. target: "changed_behaviors" suunab helistajad viimases viibamuudatuses muutunu juurde. Iga agent käitab korraga üht neist töödest või üht taasesituskäivitust, seega ei muuda värskendus kunagi näiteid, millel taasesitus töötab; teise töö käimise ajal käivitamine tagastab job_active, replay_run_active või conversation_job_active koos teabega, mida oodata.

Pärast käitumise lisamist, eemaldamist või muutmist sisaldavat viibamuudatust teatab agendi mustandi review_prompt, kui palju testvestlusi kirjutati muude käitumistega viiba jaoks (conversations.refresh_suggested). Seejärel ajakohastab refresh_conversations need mustandi järgi, et arendus- ja testkogum mõõdaksid uut viipa vestlusajalugudel, mida see oleks võinud luua. Värskendus ei kaota kunagi midagi: iga vestlus säilitab kõik varasemad redaktsioonid ning eemaldatud reegli naasmisel taastatakse redaktsioon ajast, mil see olemas oli, koos helistaja tegeliku heliga. Kodeerimisagendi käivitatud värskendus jätab testjaotuse vestlused ja kõrvale jäetud kõnedest kopeeritud vestlused oma valikust, pakkumisest, edenemisest ja kulust välja; ühe neist määramine parameetris conversation_ids tagastab 403 test_conversation. Inimene värskendab neid juhtpaneelilt ning kodeerimisagentidele kuvatakse selle töö tulemustes need ainult ID-de ja arvudena. active näide, mille ajaloo, vastuse või vastusevõtme värskendus ümber kirjutab, läheb tagasi olekusse pending_review märgistusega refreshed_needs_review. Värskenduse pakkumine hinnastab iga loetavat vestlust nii, nagu see kirjutataks ümber, ja iga mudelikõnet selle väljundi ülempiiri alusel ning kehtib viiba ja vestluste kohta, mille põhjal pakkumine koostati: kui kumbki enne käitust muutub, küsi uus pakkumine; kui viip muutub käituse ajal, peatub töö olekuga failed, säilitades värskendatu.

Teadmised

TööriistPeamised argumendidAnnotatsioonidFunktsioon
list_knowledge_bases—R, ILoetleb teadmistebaasid.
create_knowledge_basename, valikuline description—Loob teadmistebaasi.
add_knowledge_documentknowledge_base_id, name, content—Lisab teksti või Markdowni.
import_knowledge_urlurl, valikuline nameOLisab avaliku lehe turvalise töötlemise järjekorda.
search_knowledgeknowledge_base_id, queryR, IOtsib tootmiskeskkonna teabeotsingu kaudu.

Integratsioonid, webhookid ja kaug-MCP-serverid

TööriistPeamised argumendidMärkusedMida see teeb
list_integrations—R, ILoetleb HTTP-funktsioonide integratsioonid.
create_integrationdisplay_name, funktsiooni spec, valikulised lõpp-punkti väljad—Loob HTTP-tööriista. Lisa autentimispäised juhtpaneelil.
test_integrationurl, valikuline meetod/sisuajalõpp, integration_id koos header_names-iga, confirmation_token teisel päringulD, OSaadab piiratud, SSRF-i eest kaitstud testpäringu. Salvestatud päiste väärtused täidetakse integratsioonist ja saadetakse ainult selle enda hostile. POST (vaikimisi), PUT, PATCH ja DELETE on kaheastmelised; GET käivitatakse kohe.
list_webhook_endpoints—R, ILoetleb allkirjastatud veebikonksu lõpp-punktid.
list_webhook_deliveriesvalikuline agent_id, valikuline endpoint_idR, ILoetleb hiljutised veebikonksu edastamise tulemused ilma koormusandmeteta.
create_webhook_endpointlabel, url, valikulised sündmused/olekOLoob allkirjastatud veebikonksu lõpp-punkti.
copy_webhook_endpointendpoint_id, target_agent_idIKopeerib agendi veebikonksu koos allkirjastamissaladusega serveris teisele agendile. Ainult administraatoritele.
test_webhook_endpointendpoint_idOSaadab sünteetilise sündmuse tavapärase edastuse kaudu.
list_mcp_servers—R, ILoetleb häälagentide poolt kutsutavad kaugserverid.
create_mcp_serverdisplay_name, urlORegistreerib ja sünkroonib kaugserveri. Autentimispäiseid vajavad serverid lisatakse juhtpaneelil.
sync_mcp_server_toolsserver_idD, OVärskendab kaugserveri tööriistakataloogi.

Kampaaniad

TööriistPeamised argumendidMärkusedMida see teeb
list_campaigns—R, ILoetleb väljaminevad kampaaniad.
create_campaignkampaania väljad—Loob kampaania mustandi.
add_campaign_contactscampaign_id, contacts—Lisab kuni 5000 JSON-kontakti.
campaign_actioncampaign_id, action, valikuline consent_to_charge, confirmation_token teisel päringulD, OKäivitab start, pause, resume või stop. start ja resume on kaheetapilised; pause ja stop käivituvad kohe.
get_campaign_statscampaign_idR, IHangib loendurid ja hiljutised tulemused.
check_campaignvalikulised campaign_id, contact_phone_number, contact_statusR, ISelgitab, miks kampaania ei helista: selle helistamisaken oma ajavööndis, praegu helistamiseks määratud kontaktid ja mis takistab valimist.

Organisatsiooni seaded ja blokeeritud helistajad

TööriistPeamised argumendidMärkusedMida see teeb
get_org_settings—R, ILoeb ajavööndi, tööajad, testnumbrid, kõnetulemuste sildid, olekute nimed ja väljalülitatud teavitused koos väljaga updated_at.
update_org_settingsmuudetud seaded, if_updated_at, küsimisel confirmation_tokenD, IMuudab neid (ainult administraatorid). Loendid ja objektid asendavad salvestatud väärtuse. Teavituse väljalülitamine või testnumbri lisamine toimub kahes etapis. Tulemus sisaldab tagasivõtmiseks vanu väärtusi.
get_account_limits—R, IHangib platvormi piirangud selle organisatsiooni enda väärtustega.
list_blocked_callersvalikuline number, searchR, ILoetleb blokeeritud helistajate numbrid.
block_callersnumbers, valikuline note, teisel päringul confirmation_tokenD, IKeeldub nende numbrite kõnedest enne, kui mõni agent vastab. Kahes etapis, ainult administraatorid.
unblock_callersnumbers, teisel päringul confirmation_tokenD, IEemaldab numbrid blokeerimisloendist. Kahes etapis, ainult administraatorid.

get_org_settings, update_org_settings ja get_account_limits vajavad org:read või org:write OAuthi õigust; ühendusel, mis loodi enne nende olemasolu, palutakse see esmakordsel kasutamisel heaks kiita.

Võimalused, abi ja importimine

TööriistPeamised argumendidMärkusedMida see teeb
get_supported_languages—R, ILoetleb keeled, mida agendid räägivad, koos koodidega.
get_agent_capabilities—R, IKirjeldab, mida agent saab kõne ajal teha ning millised seaded ja integratsioonid on olemas.
escalate_to_humansummaryOPalub ThunderPhone’i meeskonnalt abi. Nad vastavad ThunderPhone’is. Organisatsioonide puhul, kes võivad töödelda PHI-d, lahkub ThunderPhone’ist ainult neutraalne märkus.
request_featuretitle, request, detailsOEsitab ThunderPhone’i meeskonnale funktsioonitaotluse. Organisatsiooni kohta kuni kolm päevas.
start_agent_importplatformR, ITagastab juhtpaneeli lingi, kus sisestad oma Vapi, Retell, ElevenLabs või Bland võtme ja valid agendid. Ükski tööriist võtit ei kasuta.
get_agent_importvalikuline import_idR, ILoetleb hiljutised impordid või ühe impordi oleku ja vastendatud agendid.
commit_agent_importimport_id, valikuline item_idsOLoob valmis impordist agendid taustal. Ainult administraatorid.

Hääled, arveldus ja dokumentatsioon

TööriistPeamised argumendidMärkusedMida see teeb
list_voices—R, ILoetleb hääled ja toetatud keeled.
preview_voicevoice, language, textOGenereerib näidise ja tagastab allkirjastatud URL-i.
list_voice_clones—R, ILoetleb kohandatud häälekloonid.
get_billing_summary—R, IHangib saldo ja ametlikud hinnatasemete hinnad; maksemuudatusi ei võimaldata.
search_docsquery, valikuline limitR, I, OOtsib avaliku dokumentatsiooni indeksist.
get_doc_pagepathR, I, OToob ühe avaliku Markdowni dokumentatsioonilehe.

Häälagendi, kõne, numbri, kampaania või seadistuse tulemused sisaldavad vastava juhtpaneeli lehe web_url-i, nii et saad selle ThunderPhone’is avada või Zeusiga seal jätkata.

Kõik tootetööriistad kasutavad samu REST-kooditeid nagu avalik API. Seetõttu kehtivad REST-i valideerimine, organisatsioonipõhine ulatus, rollid, arvelduse lubamine, kvoodid, TCPA kinnitus, teenusepakkuja turvalisus ja auditeerimiskäitumine muutmata kujul.

Viipa muutmine kohapeal

update_agent saab muuta mustandi viiba osa, ilma et peaksid kogu teksti tagasi saatma. prompt_edits on järjestatud otsi-ja-asenda paaride loend samas vormingus, mille tagastavad review_prompt ja refactor_prompt:

{
  "agent_id": 123,
  "expected_prompt_sha256": "9c1f…",
  "prompt_edits": [
    {
      "find": "Ask for their name and their phone number, then tell them we will call back.",
      "replace": "Tell them we will call back, then ask for their name. Once they answer, ask for their phone number."
    }
  ]
}

Server rakendab muudatused järjekorras agendi praegusele mustandviibale (avaldatud viibale, kui mustand puudub) ja kirjutab tulemuse mustandisse sama teed pidi nagu kogu viiba update_agent-iga uuendamisel. Iga find peab selle muudatuse rakendamise hetkel viibas esinema täpselt üks kord. Kui see nii ei ole, ei kirjutata midagi ja tõrge nimetab muudatuse:

KoodTähendusMida teha
prompt_edit_not_foundTeksti find ei ole praeguses mustandviibas. edit_index näitab, milline muudatus see on.Loe agent uuesti ja kopeeri lõik täpselt.
prompt_edit_ambiguousTekst find esineb rohkem kui üks kord. occurrences näitab, mitu korda.Lisa rohkem ümbritsevat teksti.
stale_promptexpected_prompt_sha256 ei ole praeguse mustandviiba SHA-256: see muutus pärast selle lugemist.Loe agent uuesti, kirjuta muudatus praeguse teksti põhjal ümber ja saada selle SHA-256.
conflictServeri mustandi lugemise ja sellesse kirjutamise vahele jõudis teine kirjutus.Proovi uuesti; see päring mustandit ei muutnud.

expected_prompt_sha256 on valikuline ja kaitseb ka kogu viiba kirjutamist. Kasuta review_prompt-ist saadud väärtust prompt_sha256 või refactor_prompt-ist saadud väärtust source_prompt_sha256. Iga viipa muutev päring tagastab uue teksti prompt_sha256, väärtuse previous_prompt_sha256, kui server luges kõigepealt mustandit, ning next_step, mis soovitab kasutada review_prompt-i, määrates previous_prompt väärtuseks muutmiseelse teksti. REST API võtab vastu ainult kogu viiba: PATCH /v1/agents/{agent_id} koos väärtustega prompt ja if_updated_at.

Hävitavate toimingute kinnitamine

D-tähisega tööriistad muudavad või eemaldavad midagi või alustavad päris inimestele helistamist. Tagasivõtmatud toimingud nõuavad kahte päringut. Esimene päring ei muuda midagi ja tagastab:

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

Assistent näitab kasutajale, mida see mõjutab, ja palub kinnitust. Seejärel kordab ta päringut samade argumentidega ning lisab confirmation_token. Token kehtib 10 minutit, toimib ühe korra (ka siis, kui see kutse nurjub) ning hõlmab üht organisatsiooni, üht inimest, üht tööriista ja üht täpset argumentide kogumit, seega nõuab kolme agendi kustutamine kolme kinnitust. campaign_action väärtusega pause või stop jätab selle sammu vahele, et käimasoleva kampaania saaks alati kohe peatada; sama kehtib test_integration kohta väärtusega GET. Mõni D-tööriist käivitub ühe päringuga, sest D tähistab nende mõju, mitte serveripoolset kinnitust: update_agent asendab mustandis olnud sisu (discard_agent_draft taastab selle), deploy_agent asendab aktiivse konfiguratsiooni, update_phone_number suunab aktiivsed kõned ümber, sync_mcp_server_tools asendab kaugserveri tööriistakataloogi, import_voip_numbers suunab numbrid ümber sinu operaatorile, run_agent_tests ja run_simulation võivad kulutada krediiti, send_sms ja place_call jõuavad päris inimeseni (place_call säilitab oma nõusolekukinnituse) ning provision_phone_number ostab numbri. test_my_agent kulutab testkrediiti ja vajab consent_to_charge. Ka run_replays kulutab raha; selle dry_run hinnapakkumine ja max_cost_cents ülempiir asendavad kinnitust. Sinu MCP-klient võib siiski paluda sul need heaks kiita.

Mõned tagasipööratavad muudatused ootavad siiski kinnitust: alati block_callers, unblock_callers ja save_voip_setup; update_org_settings, kui see lülitab hoiatuse välja või lisab testnumbri; ning update_agent, kui selle attention_reasons lülitavad välja mõne agendi hoiatuse. Nende next_step palub sul kinnitada täpse muudatuse, mitte ei hoiata, et seda ei saa tagasi võtta.

Alustavad päringud

prompts/list pakub kaksteist korduskasutatavat töövoogu:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge
  • improve_agent_from_calls
  • check_change_before_deploy
  • test_my_agent
  • diagnose_phone_number
  • why_campaign_not_calling
  • call_report
  • import_agents

Kasuta käsku prompts/get koos loetletud päringu nime ja selle deklareeritud argumentidega, et saada käivitamisvalmis kasutajasõnum.

Ressursid

resources/list pakub avalikke vahemällu salvestatud viiteid:

URISisu
thunderphone://docs/llms.txtAvaliku dokumentatsiooni indeks.
thunderphone://docs/quickstartKiiralustuse Markdown.
thunderphone://pricingKehtiva avaliku hinnastuse Markdown.
thunderphone://guides/prompt-styleHäälagendi viipade stiilijuhend, mille suhtes review_prompt kontrollib. Selle juhiste ID-d (P1, W2 jne) on need, millele leiud viitavad.
thunderphone://guides/working-with-thunderphoneKuidas assistent peaks nende tööriistadega töötama: tee mustandiga väikseid voorusid, kontrolli enne iga juurutamist, küsi kasutajalt nõusolekut kõige reaalajas toimuva või tasulise jaoks ning ära kunagi küsi saladusi.

Loe ressurssi käsuga resources/read. Avalikud toomispäringud kasutavad lühikest ajalõppu, 2 MiB piirangut ja kümneminutilist protsessisisest vahemälu.

Protokoll ja vead

Server toetab protokolliversioone 2025-06-18 ja 2025-03-26; see peegeldab tagasi toetatud kliendiversiooni ning muul juhul valib 2025-06-18. See rakendab meetodeid initialize, ping, tööriistu, päringuid, ressursse ja teavitusi. Teavitused tagastavad 202 Accepted. See olekuta server ei paku SSE-kuulajat ega seansi kustutamist, seega tagastavad GET ja DELETE vastuse 405 Method Not Allowed koos päisega Allow: POST.

Tööriista tõrked jäävad edukateks JSON-RPC vastusteks väärtusega isError: true. Nende tekst sisaldab lühikest lauset, millele järgneb JSON-plokk:

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

Eraldi prefiks outbound_tcpa_confirmation_required: säilitatakse käsu place_call jaoks. Tundmatud JSON-RPC meetodid tagastavad HTTP 200 vastuses väärtuse -32601. JSON-RPC pakke MCP 2025-06-18 ei toeta ning need tagastavad korrektse -32600 sobimatu päringu vea.