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

Connect tools & data

Koristite ThunderPhone kao MCP poslužitelj

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

ThunderPhone nudi Streamable HTTP poslužitelj za Model Context Protocol 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 izgraditi, testirati i upravljati ThunderPhoneom.

Provjera autentičnosti

Za klijente iz direktorija prema zadanim postavkama upotrebljavajte 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 sk_live_ ključ u odjeljku Organizacija → Ključevi i učinite ga dostupnim svojem 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 bez mijenjanja 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. Izravni HTTP ima prednost; Desktop upotrebljava stdio.

Za svaki klijent koji podržava stdio konfigurirajte command: "npx" s args: ["-y", "@thunderphone/mcp"]. Omotač najprije upotrebljava THUNDERPHONE_API_KEY, zatim vjerodajnice iz thunderphone login, uz osvježavanje isteklih tokena, a potom OAuth putem mcp-remote. Prijava uređajem i OAuth zahtijevaju odgovarajuću aktivaciju API OAutha. Put API ključa to ne zahtijeva. Izravne HTTP konfiguracije ne čitaju spremište vjerodajnica CLI-ja; 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; nakon potvrde e-pošte vratit ćete se na zaslon za odobravanje.

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

  1. Otvorite Postavke → Konektori. Ako se ThunderPhone prikazuje u katalogu konektora, odaberite ga. U suprotnom odaberite Dodajte prilagođeni konektor, nazovite ga ThunderPhone i unesite https://api.thunderphone.com/v1/mcp.
  2. Odaberite Poveži, prijavite se u ThunderPhone, odaberite organizaciju i odobrite dozvole.
  3. U chatu omogućite ThunderPhone u izborniku alata i zatražite ono što vam je potrebno, na primjer "Prikaži moje agente".

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

ChatGPT

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

Brisanje agenta ili telefonskog broja, odbacivanje skice i pokretanje kampanje zahtijevaju dodatnu potvrdu u obje aplikacije; 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 Claude Desktopa:

{
  "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 ima 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 naznaka.

Agenti

AlatGlavni argumentiNapomeneŠto radi
list_agentsR, INavodi agente.
get_agentagent_idR, IDohvaća jednog agenta.
create_agentkonfiguracija agentaStvara agenta.
update_agentagent_id, promijenjena poljaPostavlja polja u radnu verziju agenta.
deploy_agentagent_id, neobavezni if_updated_atIPromiče radnu verziju u produkciju.
discard_agent_draftagent_id, neobavezni if_updated_at, confirmation_token u drugom zahtjevuD, IOdbacuje postavljene promjene. U dva koraka, pogledajte Potvrđivanje destruktivnih radnji.
duplicate_agentagent_id, neobavezni nameKopira agenta unutar organizacije.
delete_agentagent_id, confirmation_token u drugom zahtjevuD, ITrajno briše agenta. U dva koraka.
list_agent_versionsagent_idR, INavodi implementirane verzije konfiguracije.

Telefonski brojevi i operateri

AlatGlavni argumentiNapomeneŠto radi
list_phone_numbersR, INavodi brojeve organizacije i usmjeravanje.
get_phone_number_limitsR, IDohvaća upotrebu i ograničenja upravljanih brojeva.
provision_phone_numberneobavezni area_code, city, state, idempotency_keyOKupuje dolazni broj kojim upravlja ThunderPhone.
list_voip_connectionsR, INavodi povezane operatere korisnika.
search_voip_numbersconnection_id, country, type, neobavezni area_codeR, I, OPretražuje inventar operatera.
import_voip_numbersconnection_id, numbersOUvozi brojeve koji su već u vlasništvu kod operatera.
update_phone_numberphone_number_id, polja usmjeravanja/oznake/webhookaAžurira usmjeravanje broja, uključujući dodjelu agenta.
delete_phone_numberphone_number_id, confirm, neobavezni release_at_provider, confirmation_token u drugom zahtjevuD, I, OOslobađa broj. U dva koraka.

Pozivi

AlatGlavni argumentiNapomeneŠto radi
list_callsneobavezni filtri, limit, offsetR, INavodi pozive s filtrima REST povijesti poziva.
get_callcall_idR, IDohvaća status i metapodatke poziva.
get_call_transcriptcall_id, neobavezni liveR, IDohvaća transkript poziva.
get_call_audio_urlcall_id, neobavezni downloadR, I, OVraća potpisani URL zvuka; nikada ne prenosi zvuk putem MCP-a.
get_call_gradecall_idR, IDohvaća najnoviju ocjenu poziva.
place_callagent_id, from_number, to_numberOUpućuje jedan neidempotentni odlazni poziv.
export_callsfiltri poziva, export_formatR, IIzvozi do ograničenja REST krajnje točke kao JSON ili CSV.

Testiranje i provjera valjanosti

AlatGlavni argumentiNapomeneŠto radi
list_test_scenariosagent_idR, INavodi scenarije testiranja.
create_test_scenarioagent_id, title, scenario_prompt, neobavezni uvjetiStvara scenarij.
generate_test_scenariosagent_id, neobavezni count, include_edge_cases, localeOGenerira scenarije iz upute za agenta.
run_agent_testsagent_id, channel, consent_to_charge, neobavezni odabir/matricaOIzvršava scenarije putem weba ili telefonije.
get_test_runagent_id, batch_idR, IDohvaća status skupine i rezultate po scenariju.
list_validation_runsagent_idR, INavodi nedavna pokretanja provjere valjanosti radne verzije.
get_validation_statusagent_idR, IDohvaća najnovije stanje provjere valjanosti i podudaranje radne verzije.

Baza znanja

AlatGlavni argumentiNapomeneŠto radi
list_knowledge_basesR, INavodi baze znanja.
create_knowledge_basename, neobavezni descriptionStvara bazu znanja.
add_knowledge_documentknowledge_base_id, name, contentDodaje tekst ili Markdown.
import_knowledge_urlurl, neobavezni nameOStavlja javnu stranicu u red za sigurno uvođenje.
search_knowledgeknowledge_base_id, queryR, IPretražuje produkcijski sustav dohvaćanja.

Integracije, webhookovi i udaljeni MCP poslužitelji

AlatGlavni argumentiNapomeneŠto radi
list_integrationsR, INavodi integracije HTTP funkcija.
create_integrationdisplay_name, funkcijski spec, neobavezna polja krajnje točkeStvara HTTP alat.
test_integrationurl, neobavezni method/headers/body/timeoutOŠalje ograničeni testni zahtjev zaštićen od SSRF-a.
list_webhook_endpointsR, INavodi potpisane krajnje točke webhooka.
create_webhook_endpointlabel, url, neobavezni events/statusOStvara potpisanu krajnju točku webhooka.
test_webhook_endpointendpoint_idOŠalje sintetički događaj putem uobičajene isporuke.
list_mcp_serversR, INavodi udaljene poslužitelje koje mogu pozivati glasovni agenti.
create_mcp_serverdisplay_name, url, neobavezni headersORegistrira i sinkronizira udaljeni poslužitelj.
sync_mcp_server_toolsserver_idOOsvježava katalog alata udaljenog poslužitelja.

Kampanje

AlatGlavni argumentiNapomeneŠto radi
list_campaignsR, INavodi odlazne kampanje.
create_campaignpolja kampanjeStvara radnu verziju kampanje.
add_campaign_contactscampaign_id, contactsDodaje do 5.000 JSON kontakata.
campaign_actioncampaign_id, action, neobavezni consent_to_charge, confirmation_token u drugom zahtjevuD, OPokreće start, pause, resume ili stop. start i resume izvode se u dva koraka; pause i stop izvršavaju se odmah.
get_campaign_statscampaign_idR, IDohvaća brojače i nedavne ishode.

Glasovi, naplata, uvozi i dokumentacija

AlatGlavni argumentiNapomeneŠto radi
list_voicesR, INavodi glasove i podržane jezike.
preview_voicevoice, language, textOGenerira uzorak i vraća potpisani URL.
list_voice_clonesR, INavodi prilagođene klonove glasa.
get_billing_summaryR, IDohvaća saldo i mjerodavne cijene razreda; izmjene plaćanja nisu dostupne.
create_agent_importvendor, vendor_keyOPokreće šifrirani uvoz iz Vapi, Retell, ElevenLabs ili Bland.
get_agent_importpublic_idR, IDohvaća predloženu razliku uvoza.
commit_agent_importpublic_idPotvrđuje odabrane agente iz pregledanog plana.
search_docsquery, neobavezni limitR, I, OPretražuje javni indeks dokumentacije.
get_doc_pagepathR, I, ODohvaća jednu javnu Markdown stranicu dokumentacije.

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

Potvrđivanje destruktivnih radnji

Alati označeni s D mijenjaju ili uklanjaju nešto što se ne može vratiti ili započinju biranje stvarnih ljudi. Za njih su potrebna dva zahtjeva. Prvi zahtjev ništa ne mijenja i vraća:

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

Asistent korisniku prikazuje na što to utječe i traži potvrdu. Zatim ponavlja zahtjev s istim argumentima te s confirmation_token. Token vrijedi 10 minuta i obuhvaća jednu organizaciju, jedan alat i jedan točan skup argumenata, pa su za brisanje tri agenta potrebne tri potvrde. campaign_action s pause ili stop preskače ovaj korak kako bi se aktivna kampanja uvijek mogla odmah zaustaviti.

Početni upiti

prompts/list nudi šest višekratno upotrebljivih radnih tijekova:

  • create_inbound_receptionist
  • run_agent_tests
  • import_vapi_assistants
  • 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/quickstartMarkdown za brzi početak.
thunderphone://pricingMarkdown s trenutačnim javnim cijenama.

Pročitajte 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 s Allow: POST.

Neuspjesi alata i dalje su uspješni JSON-RPC odgovori s isError: true. Njihov tekst sadrži 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."
}

Prepoznatljivi 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 pakete te vraća čistu pogrešku nevaljanog zahtjeva -32600.