ThunderPhone 2.0 er lansert.Kom i gang selv – fra 2¢/min.Les mer om lanseringen

Connect tools & data

Bruk ThunderPhone som en MCP-server

Bygg, test, valider og drift ThunderPhone-stemmeagenter fra Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code eller en annen Streamable HTTP MCP-klient.

ThunderPhone eksponerer en Streamable HTTP Model Context Protocol-server på:

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

Dette er motsatt retning av å koble en ekstern MCP-server til en stemmeagent:

RetningResultat
Ekstern MCP-server → ThunderPhone-agentEn stemmeagent kan kalle verktøyene på den eksterne serveren.
ThunderPhone → MCP-klienten dinKodeagenten din kan bygge, teste og drifte ThunderPhone.

Autentiser

Bruk OAuth som standard for katalogklienter: logg inn, velg en organisasjon og godkjenn de forespurte tillatelsene. Tilbakekall tilgang under Organisasjon → API-nøkler → Autoriserte apper.

For klienter som er konfigurert med en API-nøkkel, opprett en sk_live_-nøkkel under Organisasjon → Nøkler og eksponer den for MCP-klienten din som THUNDERPHONE_API_KEY. Nøkkelen er knyttet til én organisasjon; en ID som eies av en annen organisasjon, oppfører seg som om den ikke finnes.

CLI- og stdio-alternativer

ThunderPhone CLI kan skrive klientkonfigurasjon samtidig som uavhengige servere bevares:

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

Etter en global installasjon av @thunderphone/mcp bruker du thunderphone-mcp setup med de samme alternativene. Oppsett støtter Claude Code, Codex, Cursor, VS Code, Gemini, Claude Desktop og Windsurf. Direkte HTTP foretrekkes; Desktop bruker stdio.

For enhver klient som støtter stdio, konfigurer command: "npx" med args: ["-y", "@thunderphone/mcp"]. Wrapperen bruker først THUNDERPHONE_API_KEY, deretter legitimasjon fra thunderphone login, og oppdaterer utløpte tokener, deretter OAuth gjennom mcp-remote. Enhetsinnlogging og OAuth krever at den tilsvarende API- OAuth-funksjonen er rullet ut. API-nøkkelbanen gjør ikke det. Direkte HTTP-konfigurasjoner leser ikke CLI-legitimasjonslageret; bruk stdio-wrapperen for å gjenbruke enhetsinnlogging.

Dette er alternativer til de manuelle klientkonfigurasjonene nedenfor.

Klientkonfigurasjon

Claude og ChatGPT logger inn med OAuth; ingen API-nøkkel er involvert. Hvis du ikke har en ThunderPhone-konto ennå, velger du Opprett konto på innloggingssiden og kommer tilbake til godkjenningsskjermen etter at du har bekreftet e-postadressen din.

Claude (nett, skrivebord og mobil)

  1. Åpne Tilpass → Koblinger (Innstillinger → Koblinger i eldre versjoner). Hvis ThunderPhone vises i koblingskatalogen, velger du det. Ellers velger du Legg til egendefinert kobling, gir den navnet ThunderPhone og angir https://api.thunderphone.com/v1/mcp.
  2. Velg Koble til, logg inn på ThunderPhone, velg organisasjonen og godkjenn tillatelsene.
  3. I en chat aktiverer du ThunderPhone fra verktøymenyen og ber om det du trenger, for eksempel «Vis agentene mine».

Claude spør før det bruker hvert verktøy for første gang. For å hoppe over de fleste av disse spørsmålene åpner du Tilpass → Koblinger → ThunderPhone og angir Skrivebeskyttede verktøy til alltid å tillate. Disse verktøyene slår bare opp informasjon: agenter, samtaler, transkripsjoner, saldoer og dokumentasjon. La Verktøy for skriving/sletting kreve godkjenning hvis du vil se hver endring før den skjer.

Egendefinerte koblinger krever et betalt Claude-abonnement. I Team- og Enterprise-abonnementer legger en eier først til koblingen under organisasjonens koblingsinnstillinger, og deretter kobler hvert medlem til sin egen ThunderPhone-konto.

ChatGPT

  1. Hvis ThunderPhone vises i ChatGPTs appkatalog, velger du det og kobler til.
  2. Ellers åpner du Innstillinger → Apper og koblinger → Avanserte innstillinger, slår på Utviklermodus og oppretter en kobling med URL-en https://api.thunderphone.com/v1/mcp og OAuth-autentisering.
  3. Logg inn på ThunderPhone, velg organisasjonen og godkjenn tillatelsene. Legg til ThunderPhone i en chat fra verktøymenyen.

Sletting av en agent eller et telefonnummer, forkasting av et utkast, lansering av en kampanje og sending av en testforespørsel som kan skrive til et eksternt system krever en ekstra bekreftelse i begge appene. Se Bekrefte destruktive handlinger.

Claude Code

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

Codex

Legg dette til i ~/.codex/config.toml:

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

Cursor

Opprett .cursor/mcp.json:

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

Claude Desktop

Legg til en mcp-remote-bro i Claude Desktop-konfigurasjonen:

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

Opprett .vscode/mcp.json og angi nøkkelen via VS Codes inndatadialog:

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

Verktøy

Alle verktøy har MCP-merknader. I tabellene betyr R skrivebeskyttet, D destruktivt, I idempotent og O samhandling med åpen verden/nettverk. En bindestrek betyr at ingen merknad er angitt.

Tilkobling

VerktøyHovedargumenterMerknaderHva det gjør
get_connection_identity—R, IValiderer legitimasjonen og returnerer organisasjonen og sikker metadata om legitimasjonen.

Agenter

VerktøyHovedargumenterMerknaderHva det gjør
list_agents—R, IViser agenter.
get_agentagent_idR, IHenter én agent.
create_agentagentkonfigurasjon—Oppretter en agent.
update_agentagent_id, endrede feltDMellomlagrer felt i agentutkastet og erstatter det utkastet hadde. Kjører uten et bekreftelsestrinn: den distribuerte agenten forblir uendret til deploy_agent, og discard_agent_draft tilbakestiller utkastet.
deploy_agentagent_id, valgfri if_updated_atD, IForfremmer utkastet til produksjon.
discard_agent_draftagent_id, valgfri if_updated_at, confirmation_token i den andre forespørselenD, IForkaster mellomlagrede endringer. To trinn, se Bekrefte destruktive handlinger.
duplicate_agentagent_id, valgfri name—Kopierer en agent i organisasjonen.
delete_agentagent_id, confirmation_token i den andre forespørselenD, ISletter en agent permanent. To trinn.
list_agent_versionsagent_idR, IViser distribuerte konfigurasjonsversjoner.

Telefonnummer og operatører

VerktøyHovedargumenterMerknaderHva det gjør
list_phone_numbers—R, IViser organisasjonens numre og ruting.
get_phone_number_limits—R, IHenter bruk og grenser for administrerte numre.
provision_phone_numbervalgfri area_code, city, state, idempotency_keyD, OKjøper et innkommende nummer administrert av ThunderPhone.
list_voip_connections—R, IViser tilkoblede kundeteleoperatører.
search_voip_numbersconnection_id, country, type, valgfri area_codeR, I, OSøker i teleoperatørens nummerbeholdning.
import_voip_numbersconnection_id, numbersD, OImporterer numre som allerede eies hos teleoperatøren.
update_phone_numberphone_number_id, felt for ruting/etikett/webhookDOppdaterer nummerets ruting, inkludert tildeling av stemmeagent.
delete_phone_numberphone_number_id, confirm, valgfri release_at_provider, confirmation_token i den andre forespørselenD, I, OFrigir et nummer. To trinn.

SMS

VerktøyHovedargumenterMerknaderHva det gjør
send_smsfrom_number, to, body, idempotency_keyD, I, OSender én SMS i ren tekst via et tilkoblet Twilio- eller Telnyx-nummer.

Samtaler

VerktøyHovedargumenterMerknaderHva det gjør
list_callsvalgfrie filtre, limit, offsetR, IViser samtaler med REST-filtrene for samtalehistorikk.
get_callcall_idR, IHenter samtalestatus og metadata.
get_call_transcriptcall_id, valgfri liveR, IHenter samtaletranskripsjonen.
get_call_audio_urlcall_id, valgfri downloadR, I, OReturnerer en signert lyd-URL; strømmer aldri lyd via MCP.
get_call_gradecall_idR, IHenter den nyeste samtalevurderingen.
place_callagent_id, from_number, to_numberD, OForetar én ikke-idempotent utgående samtale.
export_callssamtalefiltre, export_formatR, IEksporterer opptil REST-endepunktets grense som JSON eller CSV.

Testing og validering

VerktøyHovedargumenterMerknaderHva det gjør
list_test_scenariosagent_idR, IViser testscenarioer.
create_test_scenarioagent_id, title, scenario_prompt, valgfrie betingelser—Oppretter et scenario.
generate_test_scenariosagent_id, valgfri count, include_edge_cases, localeOGenererer scenarioer fra agentprompten.
run_agent_testsagent_id, channel, consent_to_charge, valgfritt utvalg/matriseD, OKjører scenarioer via nett eller telefoni.
get_test_runagent_id, batch_idR, IHenter batchstatus og resultater per scenario.
list_validation_runsagent_idR, IViser nylige valideringskjøringer for utkast.
get_validation_statusagent_idR, IHenter den nyeste valideringstilstanden og samsvaret for utkastet.

Kunnskap

VerktøyHovedargumenterMerknaderHva det gjør
list_knowledge_bases—R, IViser kunnskapsbaser.
create_knowledge_basename, valgfri description—Oppretter en kunnskapsbase.
add_knowledge_documentknowledge_base_id, name, content—Legger til tekst eller Markdown.
import_knowledge_urlurl, valgfri nameOSetter en offentlig side i kø for sikker innlasting.
search_knowledgeknowledge_base_id, queryR, ISøker i produksjonshenting.

Integrasjoner, webhooks og eksterne MCP-servere

VerktøyHovedargumenterMerknaderHva det gjør
list_integrations—R, IViser HTTP-funksjonsintegrasjoner.
create_integrationdisplay_name, funksjons-spec, valgfrie endepunktfelter—Oppretter et HTTP-verktøy. Legg til autentiseringshoder i dashbordet.
test_integrationurl, valgfri metode/brødtekst/tidsavbrudd, integration_id med header_names, confirmation_token i den andre forespørselenD, OSender en avgrenset, SSRF-beskyttet testforespørsel. Lagrede headerverdier fylles inn fra integrasjonen og sendes bare til dens egen vert. POST (standard), PUT, PATCH og DELETE er totrinns; GET kjører umiddelbart.
list_webhook_endpoints—R, IViser signerte webhook-endepunkter.
list_webhook_deliveriesvalgfri agent_id, valgfri endpoint_idR, IViser nylige resultater for webhook-leveringer uten nyttelast.
create_webhook_endpointlabel, url, valgfrie hendelser/statusOOppretter et signert webhook-endepunkt.
test_webhook_endpointendpoint_idOSender en syntetisk hendelse gjennom vanlig levering.
list_mcp_servers—R, IViser eksterne servere som kan kalles av stemmeagenter.
create_mcp_serverdisplay_name, urlORegistrerer og synkroniserer en ekstern server. Servere som trenger autentiseringshoder, legges til i dashbordet.
sync_mcp_server_toolsserver_idD, OOppdaterer en ekstern servers verktøykatalog.

Kampanjer

VerktøyHovedargumenterMerknaderHva det gjør
list_campaigns—R, IViser utgående kampanjer.
create_campaignkampanjefelt—Oppretter en utkastkampanje.
add_campaign_contactscampaign_id, contacts—Legger til opptil 5 000 JSON-kontakter.
campaign_actioncampaign_id, action, valgfri consent_to_charge, confirmation_token i den andre forespørselenD, OKjører start, pause, resume eller stop. start og resume har to trinn; pause og stop kjøres umiddelbart.
get_campaign_statscampaign_idR, IHenter tellere og nylige resultater.

Stemmer, fakturering og dokumentasjon

VerktøyHovedargumenterMerknaderHva det gjør
list_voices—R, IViser stemmer og støttede språk.
preview_voicevoice, language, textOGenererer et eksempel og returnerer en signert URL.
list_voice_clones—R, IViser egendefinerte stemmekloner.
get_billing_summary—R, IHenter saldo og autoritative priser for nivåer; ingen betalingsendringer er eksponert.
search_docsquery, valgfri limitR, I, OSøker i den offentlige dokumentasjonsindeksen.
get_doc_pagepathR, I, OHenter én offentlig Markdown-dokumentasjonsside.

Alle produktverktøy bruker de samme REST-kodebanene som det offentlige API-et. REST-validering, organisasjonsavgrensning, roller, faktureringsgodkjenning, kvoter, TCPA-bekreftelse, leverandørsikkerhet og revisjonsatferd gjelder derfor uendret.

Bekreftelse av destruktive handlinger

Verktøy merket med D endrer eller fjerner noe, eller begynner å ringe ekte personer. De som ikke kan angres, krever to forespørsler. Den første forespørselen endrer ingenting og returnerer:

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

Assistenten viser brukeren hva som påvirkes, og ber om et ja. Deretter gjentar den forespørselen med de samme argumentene pluss confirmation_token. En token er gyldig i 10 minutter og gjelder for én organisasjon, ett verktøy og ett eksakt sett med argumenter, så sletting av tre stemmeagenter krever tre bekreftelser. campaign_action med pause eller stop hopper over dette trinnet, slik at en aktiv kampanje alltid kan stanses umiddelbart, og det samme gjør test_integration med GET. Enkelte D-verktøy kjøres med én forespørsel fordi D-en angir effekten deres, ikke en bekreftelse på serversiden: update_agent erstatter det utkastet hadde (discard_agent_draft tilbakestiller det), deploy_agent erstatter den aktive konfigurasjonen, update_phone_number ruter aktive samtaler på nytt, sync_mcp_server_tools erstatter verktøykatalogen til en ekstern server, import_voip_numbers peker numre på nytt til operatøren din, run_agent_tests kan bruke kreditt, send_sms og place_call når en ekte person (place_call beholder sin egen samtykkebekreftelse), og provision_phone_number kjøper et nummer. MCP-klienten din kan fortsatt be deg om å godkjenne dem.

Startmeldinger

prompts/list viser fem gjenbrukbare arbeidsflyter:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge

Bruk prompts/get med det oppførte promptnavnet og de deklarerte argumentene for å motta en klar brukerforespørsel.

Ressurser

resources/list eksponerer offentlige, hurtigbufrede referanser:

URIInnhold
thunderphone://docs/llms.txtOffentlig dokumentasjonsindeks.
thunderphone://docs/quickstartHurtigstart-Markdown.
thunderphone://pricingGjeldende offentlig pris-Mardown.

Les en ressurs med resources/read. Offentlige hentinger bruker en kort tidsavbruddsgrense, en grense på 2 MiB og en ti minutters hurtigbuffer i prosessen.

Protokoll og feil

Serveren støtter protokollversjonene 2025-06-18 og 2025-03-26; den gjentar en støttet klientversjon og velger ellers 2025-06-18. Den implementerer initialize, ping, verktøy, prompter, ressurser og varsler. Varsler returnerer 202 Accepted. Denne tilstandsløse serveren eksponerer ikke en SSE-lytter eller sletting av økter, så GET og DELETE returnerer 405 Method Not Allowed med Allow: POST.

Verktøyfeil forblir vellykkede JSON-RPC-svar med isError: true. Teksten inneholder en kort setning etterfulgt av en JSON-blokk:

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

Det distinkte prefikset outbound_tcpa_confirmation_required: beholdes for place_call. Ukjente JSON-RPC-metoder returnerer -32601 i et HTTP-200-svar. JSON-RPC-batcher støttes ikke av MCP 2025-06-18 og returnerer en ren -32600-feil for ugyldig forespørsel.