ThunderPhone 2.0 on nyt julkaistu.Ota käyttöön itse – alkaen 2 ¢/min.Lue lisää julkistuksesta

Connect tools & data

Käytä ThunderPhonea MCP-palvelimena

Rakenna, testaa, validoi ja käytä ThunderPhonen puheagentteja Claudesta, ChatGPT:stä, Claude Codesta, Codexista, Cursorista, VS Codesta tai toisesta Streamable HTTP MCP -asiakasohjelmasta.

ThunderPhone tarjoaa Streamable HTTP Model Context Protocol -palvelimen osoitteessa:

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

Tämä on vastakkainen suunta kuin etä-MCP-palvelimen yhdistäminen puheagenttiin:

SuuntaTulos
Etä-MCP-palvelin → ThunderPhone-agenttiPuheagentti voi kutsua etäpalvelimen työkaluja.
ThunderPhone → MCP-asiakkaasiKoodausagenttisi voi rakentaa, testata ja käyttää ThunderPhonea.

Todennus

Käytä OAuthia oletuksena hakemistoasiakkaille: kirjaudu sisään, valitse organisaatio ja hyväksy pyydetyt käyttöoikeudet. Peruuta käyttöoikeus kohdassa Organisaatio → API-avaimet → Valtuutetut sovellukset.

Jos asiakas on määritetty API-avaimella, luo sk_live_-avain kohdassa Organisaatio → Avaimet ja aseta se MCP-asiakkaallesi muuttujaksi THUNDERPHONE_API_KEY. Avain on sidottu yhteen organisaatioon; toisen organisaation omistama tunniste käyttäytyy kuin sitä ei löytyisi.

CLI- ja stdio-vaihtoehdot

ThunderPhone CLI voi kirjoittaa asiakasmäärityksen säilyttäen muut palvelimet ennallaan:

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

Kun @thunderphone/mcp on asennettu globaalisti, käytä thunderphone-mcp setup -komentoa samoilla asetuksilla. Asennus tukee Claude Codea, Codexia, Cursoria, VS Codea, Geminiä, Claude Desktopia ja Windsurfia. Suoraa HTTP:tä suositellaan; Desktop käyttää stdiota.

Määritä mille tahansa stdiota tukevalle asiakkaalle command: "npx" ja args: ["-y", "@thunderphone/mcp"]. Kääre käyttää ensin muuttujaa THUNDERPHONE_API_KEY, sitten thunderphone login -komennon tunnistetietoja ja päivittää vanhentuneet tunnukset, minkä jälkeen se käyttää OAuthia mcp-remote-palvelun kautta. Laitekirjautuminen ja OAuth edellyttävät vastaavaa API:n OAuth-käyttöönottoa. API-avainpolku ei edellytä sitä. Suorat HTTP-määritykset eivät lue CLI-tunnistetietovarastoa; käytä stdio-käärettä hyödyntääksesi laitekirjautumista uudelleen.

Nämä ovat vaihtoehtoja alla oleville manuaalisille asiakasmäärityksille.

Asiakasohjelman määritys

Claude ja ChatGPT kirjautuvat sisään OAuthilla; API-avainta ei tarvita. Jos sinulla ei vielä ole ThunderPhone-tiliä, valitse kirjautumissivulla Luo tili. Sähköpostisi vahvistamisen jälkeen palaat hyväksyntänäyttöön.

Claude (verkko, työpöytä ja mobiili)

  1. Avaa Mukauta → Liittimet (vanhemmissa versioissa Asetukset → Liittimet). Jos ThunderPhone näkyy liitinhakemistossa, valitse se. Muussa tapauksessa valitse Lisää mukautettu liitin, nimeä se ThunderPhone ja anna osoitteeksi https://api.thunderphone.com/v1/mcp.
  2. Valitse Yhdistä, kirjaudu sisään ThunderPhoneen, valitse organisaatio ja hyväksy käyttöoikeudet.
  3. Ota chatissa ThunderPhone käyttöön työkalupainikkeesta ja pyydä tarvitsemaasi, esimerkiksi "Luettele agenttini".

Claude pyytää lupaa ennen kuin se käyttää kutakin työkalua ensimmäisen kerran. Voit ohittaa useimmat näistä kehotteista avaamalla Mukauta → Liittimet → ThunderPhone ja asettamalla Vain luku -työkalut aina sallituiksi. Nämä työkalut vain hakevat tietoja: agentteja, puheluita, transkriptioita, saldoja ja dokumentaatiota. Jätä Kirjoitus-/poistotyökalut hyväksyntää vaativiksi, jos haluat nähdä jokaisen muutoksen ennen sen tapahtumista.

Mukautetut liittimet edellyttävät maksullista Claude-tilausta. Team- ja Enterprise-tilauksissa omistaja lisää liittimen ensin organisaation liitinasetuksissa, minkä jälkeen jokainen jäsen yhdistää oman ThunderPhone-tilinsä.

ChatGPT

  1. Jos ThunderPhone näkyy ChatGPT:n sovellushakemistossa, valitse se ja yhdistä.
  2. Muussa tapauksessa avaa Asetukset → Sovellukset ja liittimet → Lisäasetukset, ota Kehittäjätila käyttöön ja luo liitin URL-osoitteella https://api.thunderphone.com/v1/mcp sekä OAuth-todennuksella.
  3. Kirjaudu sisään ThunderPhoneen, valitse organisaatio ja hyväksy käyttöoikeudet. Lisää ThunderPhone chatiin työkalupainikkeesta.

Agentin tai puhelinnumeron poistaminen, luonnoksen hylkääminen, kampanjan käynnistäminen ja ulkoiseen järjestelmään kirjoittavan testipyynnön lähettäminen edellyttävät toista vahvistusta kummassakin sovelluksessa. Katso Tuhoavien toimintojen vahvistaminen.

Claude Code

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

Codex

Lisää tämä tiedostoon ~/.codex/config.toml:

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

Cursor

Luo .cursor/mcp.json:

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

Claude Desktop

Lisää mcp-remote-silta Claude Desktopin määrityksiin:

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

Luo .vscode/mcp.json ja syötä avain VS Coden syöttökehotteessa:

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

Työkalut

Jokaisella työkalulla on MCP-merkinnät. Taulukoissa R tarkoittaa vain luku -tilaa, D tuhoavaa, I idempotenttia ja O avoimen maailman/verkon vuorovaikutusta. Viiva tarkoittaa, ettei vihjettä ole asetettu.

Yhteys

TyökaluKeskeiset argumentitMerkinnätMitä se tekee
get_connection_identity—R, IVahvistaa tunnistetiedon ja palauttaa sen organisaation sekä turvalliset tunnistetietometatiedot.

Agentit

TyökaluTärkeimmät argumentitMerkinnätToiminto
list_agents—R, ILuettelee agentit.
get_agentagent_idR, IHakee yhden agentin.
create_agentagentin määritys—Luo agentin.
update_agentagent_id, muuttuneet kentätDValmistelee kentät agentin luonnokseen ja korvaa luonnoksessa olevat arvot. Suoritetaan ilman vahvistusvaihetta: käyttöön otettu agentti pysyy muuttumattomana, kunnes suoritat deploy_agent, ja discard_agent_draft palauttaa luonnoksen ennalleen.
deploy_agentagent_id, valinnainen if_updated_atD, ISiirtää luonnoksen tuotantoon.
discard_agent_draftagent_id, valinnainen if_updated_at, confirmation_token toisessa pyynnössäD, IHylkää valmistellut muutokset. Kaksivaiheinen, katso Tuhoavien toimintojen vahvistaminen.
duplicate_agentagent_id, valinnainen name—Kopioi agentin organisaation sisällä.
delete_agentagent_id, confirmation_token toisessa pyynnössäD, IPoistaa agentin pysyvästi. Kaksivaiheinen.
list_agent_versionsagent_idR, ILuettelee käyttöön otetut määritysversiot.

Puhelinnumerot ja operaattorit

TyökaluTärkeimmät argumentitMerkinnätToiminto
list_phone_numbers—R, IListaa organisaation numerot ja reitityksen.
get_phone_number_limits—R, IHakee hallinnoitujen numeroiden käytön ja rajat.
provision_phone_numbervalinnainen area_code, city, state, idempotency_keyD, OOstaa ThunderPhone-hallinnoidun saapuvan numeron.
list_voip_connections—R, IListaa yhdistetyt asiakkaan operaattorit.
search_voip_numbersconnection_id, country, type, valinnainen area_codeR, I, OHakee operaattorin numerovarastosta.
import_voip_numbersconnection_id, numbersD, OTuo operaattorilla jo omistetut numerot.
update_phone_numberphone_number_id, reititys-/tunniste-/webhook-kentätDPäivittää numeron reitityksen, mukaan lukien agentin määrityksen.
delete_phone_numberphone_number_id, confirm, valinnainen release_at_provider, confirmation_token toisessa pyynnössäD, I, OVapauttaa numeron. Kaksivaiheinen.

SMS

TyökaluTärkeimmät argumentitHuomautuksetMitä se tekee
send_smsfrom_number, to, body, idempotency_keyD, I, OLähettää yhden pelkkää tekstiä sisältävän tekstiviestin yhdistetyn Twilio- tai Telnyx-numeron kautta.

Puhelut

TyökaluKeskeiset argumentitMerkinnätToiminto
list_callsvalinnaiset suodattimet, limit, offsetR, IListaa puhelut REST-rajapinnan puheluhistorian suodattimilla.
get_callcall_idR, IHakee puhelun tilan ja metatiedot.
get_call_transcriptcall_id, valinnainen liveR, IHakee puhelun transkriptin.
get_call_audio_urlcall_id, valinnainen downloadR, I, OPalauttaa allekirjoitetun ääni-URL-osoitteen; ääntä ei koskaan suoratoisteta MCP:n kautta.
get_call_gradecall_idR, IHakee uusimman puheluarvosanan.
place_callagent_id, from_number, to_numberD, OSoittaa yhden ei-idempotentin lähtevän puhelun.
export_callspuhelusuodattimet, export_formatR, IVie REST-päätepisteen enimmäismäärään asti JSON- tai CSV-muodossa.

Testaus ja validointi

TyökaluTärkeimmät argumentitMerkinnätMitä se tekee
list_test_scenariosagent_idR, ILuettelee testiskenaariot.
create_test_scenarioagent_id, title, scenario_prompt, valinnaiset ehdot—Luo skenaarion.
generate_test_scenariosagent_id, valinnaiset count, include_edge_cases, localeOLuo skenaarioita agentin kehotteen perusteella.
run_agent_testsagent_id, channel, consent_to_charge, valinnainen valinta/matriisiD, OSuorittaa skenaariot verkon tai puhelinverkon kautta.
get_test_runagent_id, batch_idR, IHakee erän tilan ja skenaariokohtaiset tulokset.
list_validation_runsagent_idR, ILuettelee viimeisimmät luonnoksen validointiajot.
get_validation_statusagent_idR, IHakee viimeisimmän validointitilan ja luonnosvastaavuuden.

Tietämys

TyökaluKeskeiset argumentitMerkinnätMitä se tekee
list_knowledge_bases—R, ILuettelee tietämyskannat.
create_knowledge_basename, valinnainen description—Luo tietämyskannan.
add_knowledge_documentknowledge_base_id, name, content—Lisää tekstiä tai Markdownia.
import_knowledge_urlurl, valinnainen nameOAsettaa julkisen sivun jonoon turvallista sisäänottoa varten.
search_knowledgeknowledge_base_id, queryR, IHakee tuotantoympäristön haun kautta.

Integraatiot, webhookit ja etä-MCP-palvelimet

TyökaluPääargumentitHuomautuksetToiminto
list_integrations—R, IListaa HTTP-funktiointegraatiot.
create_integrationdisplay_name, funktion spec, valinnaiset päätepistekentät—Luo HTTP-työkalun. Lisää todennusotsakkeet hallintapaneelissa.
test_integrationurl, valinnainen menetelmä/runko/aikakatkaisu, integration_id ja header_names, confirmation_token toisella pyynnölläD, OLähettää rajatun, SSRF-suojatun testipyynnön. Tallennetut otsakearvot täytetään integraatiosta, ja ne lähetetään vain sen omalle isännälle. POST (oletus), PUT, PATCH ja DELETE ovat kaksivaiheisia; GET suoritetaan heti.
list_webhook_endpoints—R, IListaa allekirjoitetut webhook-päätepisteet.
list_webhook_deliveriesvalinnainen agent_id, valinnainen endpoint_idR, IListaa viimeaikaiset webhook-toimitusten tulokset ilman hyötykuormia.
create_webhook_endpointlabel, url, valinnaiset tapahtumat/tilaOLuo allekirjoitetun webhook-päätepisteen.
test_webhook_endpointendpoint_idOLähettää synteettisen tapahtuman normaalin toimituksen kautta.
list_mcp_servers—R, IListaa etäpalvelimet, joita puheagentit voivat kutsua.
create_mcp_serverdisplay_name, urlORekisteröi ja synkronoi etäpalvelimen. Todennusotsakkeita tarvitsevat palvelimet lisätään hallintapaneelissa.
sync_mcp_server_toolsserver_idD, OPäivittää etäpalvelimen työkaluluettelon.

Kampanjat

TyökaluKeskeiset argumentitMerkinnätMitä se tekee
list_campaigns—R, ILuettelee lähtevät kampanjat.
create_campaignkampanjakentät—Luo kampanjaluonnoksen.
add_campaign_contactscampaign_id, contacts—Lisää enintään 5 000 JSON-yhteystietoa.
campaign_actioncampaign_id, action, valinnainen consent_to_charge, confirmation_token toisessa pyynnössäD, OSuorittaa start, pause, resume tai stop. start ja resume ovat kaksivaiheisia; pause ja stop suoritetaan heti.
get_campaign_statscampaign_idR, IHakee laskurit ja viimeisimmät tulokset.

Äänet, laskutus ja dokumentaatio

TyökaluKeskeiset argumentitMerkinnätToiminto
list_voices—R, IListaa äänet ja tuetut kielet.
preview_voicevoice, language, textOLuo näytteen ja palauttaa allekirjoitetun URL-osoitteen.
list_voice_clones—R, IListaa mukautetut äänikloonit.
get_billing_summary—R, IHakee saldon ja viralliset palvelutasojen hinnat; maksuihin tehtäviä muutoksia ei ole käytettävissä.
search_docsquery, valinnainen limitR, I, OHakee julkisesta dokumentaatiohakemistosta.
get_doc_pagepathR, I, OHakee yhden julkisen Markdown-dokumentaatiosivun.

Kaikki tuotetyökalut käyttävät samoja REST-koodipolkuja kuin julkinen API. REST-validointi, organisaatiorajaus, roolit, laskutuksen hyväksyntä, kiintiöt, TCPA-vahvistus, palveluntarjoajan turvallisuus ja auditointikäyttäytyminen ovat siksi voimassa muuttumattomina.

Tuhoavien toimintojen vahvistaminen

D-merkityt työkalut muuttavat tai poistavat jotain tai aloittavat soitot oikeille ihmisille. Toimintoihin, joita ei voi peruuttaa, tarvitaan kaksi pyyntöä. Ensimmäinen pyyntö ei muuta mitään ja palauttaa:

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

Agentti näyttää käyttäjälle, mihin toiminto vaikuttaa, ja pyytää vahvistuksen. Sen jälkeen se toistaa pyynnön samoilla argumenteilla sekä confirmation_token-arvolla. Tunniste on voimassa 10 minuuttia ja koskee yhtä organisaatiota, yhtä työkalua ja yhtä täsmällistä argumenttijoukkoa, joten kolmen agentin poistaminen vaatii kolme vahvistusta. campaign_action, jossa käytetään arvoa pause tai stop, ohittaa tämän vaiheen, jotta käynnissä oleva kampanja voidaan aina pysäyttää heti. Sama koskee test_integration-toimintoa, jossa käytetään GET-menetelmää. Jotkin D-työkalut suoritetaan yhdellä pyynnöllä, koska D merkitsee niiden vaikutusta, ei palvelinpuolen vahvistusta: update_agent korvaa luonnoksessa olleet tiedot (discard_agent_draft palauttaa ne), deploy_agent korvaa käytössä olevan määrityksen, update_phone_number reitittää käynnissä olevat puhelut uudelleen, sync_mcp_server_tools korvaa etäpalvelimen työkaluluettelon, import_voip_numbers kohdistaa numerot uudelleen operaattoriisi, run_agent_tests voi käyttää saldoa, send_sms ja place_call tavoittavat oikean henkilön (place_call säilyttää oman suostumusvahvistuksensa), ja provision_phone_number ostaa numeron. MCP-asiakkaasi voi silti pyytää sinua hyväksymään nämä toiminnot.

Aloituskehotteet

prompts/list ilmoittaa viidestä uudelleenkäytettävästä työnkulusta:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge

Käytä prompts/get-toimintoa luetellun kehotteen nimellä ja sen määritetyillä argumenteilla saadaksesi käyttövalmiin käyttäjäviestin.

Resurssit

resources/list tarjoaa julkisia välimuistissa olevia viitteitä:

URISisältö
thunderphone://docs/llms.txtJulkisen dokumentaation hakemisto.
thunderphone://docs/quickstartPika-aloituksen Markdown.
thunderphone://pricingNykyisen julkisen hinnoittelun Markdown.

Lue yksittäinen resurssi toiminnolla resources/read. Julkisissa hauissa käytetään lyhyttä aikakatkaisua, 2 MiB:n rajaa ja kymmenen minuutin prosessinsisäistä välimuistia.

Protokolla ja virheet

Palvelin tukee protokollaversioita 2025-06-18 ja 2025-03-26; se toistaa tuetun asiakasversion ja valitsee muussa tapauksessa version 2025-06-18. Se toteuttaa initialize-, ping-, työkalut-, kehotteet-, resurssit- ja ilmoitustoiminnot. Ilmoitukset palauttavat 202 Accepted. Tämä tilaton palvelin ei tarjoa SSE-kuuntelijaa eikä istunnon poistoa, joten GET ja DELETE palauttavat virheen 405 Method Not Allowed otsakkeella Allow: POST.

Työkalujen epäonnistumiset pysyvät onnistuneina JSON-RPC-vastauksina, joissa on isError: true. Niiden teksti sisältää lyhyen lauseen, jota seuraa JSON-lohko:

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

Erottuva etuliite outbound_tcpa_confirmation_required: säilytetään toiminnolle place_call. Tuntemattomat JSON-RPC-metodit palauttavat arvon -32601 HTTP-200-vastauksessa. MCP 2025-06-18 ei tue JSON-RPC-eriä, ja ne palauttavat selkeän -32600-virheellisen pyynnön virheen.