ThunderPhone 2.0 је стигао.Почните самостално, већ од 2 ¢/мин.Прочитајте објаву

Connect tools & data

Користите ThunderPhone као MCP сервер

Правите, тестирајте, проверавајте и користите ThunderPhone гласовне агенте из Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code или другог Streamable HTTP MCP клијента.

ThunderPhone пружа Streamable HTTP сервер за Model Context Protocol на адреси:

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

Ово је супротан смер од повезивања удаљеног MCP сервера са гласовним агентом:

СмерРезултат
Удаљени MCP сервер → ThunderPhone агентГласовни агент може да позива алате удаљеног сервера.
ThunderPhone → Ваш MCP клијентВаш агент за програмирање може да изграђује, тестира и користи ThunderPhone.

Потврда идентитета

Подразумевано користите OAuth за клијенте из директоријума: пријавите се, изаберите организацију и одобрите затражене дозволе. Опозовите приступ у оквиру Организација → API кључеви → Овлашћене апликације.

За клијенте конфигурисане са API кључем, креирајте sk_live_ кључ у оквиру Организација → Кључеви и изложите га MCP клијенту као THUNDERPHONE_API_KEY. Кључ је везан за једну организацију; идентификатор у власништву друге организације понаша се као да није пронађен.

Алтернативе за CLI и stdio

ThunderPhone CLI може да упише конфигурацију клијента уз очување неповезаних сервера:

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

Након глобалне инсталације пакета @thunderphone/mcp, користите thunderphone-mcp setup са истим опцијама. Подешавање подржава Claude Code, Codex, Cursor, VS Code, Gemini, Claude Desktop и Windsurf. Директни HTTP је пожељнији; Desktop користи stdio.

За сваки клијент који подржава stdio, конфигуришите command: "npx" са args: ["-y", "@thunderphone/mcp"]. Омотач прво користи THUNDERPHONE_API_KEY, затим акредитиве из thunderphone login, освежавајући истекле токене, а потом OAuth преко mcp-remote. Пријава путем уређаја и OAuth захтевају одговарајуће увођење OAuth-а за API. Путања са API кључем то не захтева. Конфигурације за директни HTTP не читају CLI складиште акредитива; користите stdio омотач да бисте поново користили пријаву путем уређаја.

Ово су алтернативе ручним конфигурацијама клијента у наставку.

Конфигурација клијента

Claude и ChatGPT се пријављују преко OAuth-а; API кључ није потребан. Ако још немате ThunderPhone налог, на страници за пријављивање изаберите Направите налог; након потврде имејл адресе вратићете се на екран за одобравање.

Claude (веб, рачунар и мобилни уређаји)

  1. Отворите Подешавања → Конектори. Ако се ThunderPhone појављује у директоријуму конектора, изаберите га. У супротном, изаберите Додајте прилагођени конектор, назовите га ThunderPhone и унесите https://api.thunderphone.com/v1/mcp.
  2. Изаберите Повежите, пријавите се на ThunderPhone, одаберите организацију и одобрите дозволе.
  3. У ћаскању омогућите ThunderPhone из менија алатки и затражите оно што Вам је потребно, на пример „Прикажи моје агенте“.

Прилагођени конектори захтевају плаћени Claude пакет. У пакетима Team и Enterprise власник најпре додаје конектор у подешавањима конектора организације, а затим сваки члан повезује сопствени ThunderPhone налог.

ChatGPT

  1. Ако се ThunderPhone појављује у директоријуму ChatGPT апликација, изаберите га и повежите.
  2. У супротном, отворите Подешавања → Апликације и конектори → Напредна подешавања, укључите Режим за програмере и направите конектор са URL адресом https://api.thunderphone.com/v1/mcp и OAuth аутентификацијом.
  3. Пријавите се на ThunderPhone, одаберите организацију и одобрите дозволе. Додајте ThunderPhone у ћаскање из менија алатки.

Брисање агента или броја телефона, одбацивање нацрта и покретање кампање захтевају другу потврду у обе апликације; погледајте Потврђивање деструктивних радњи.

Claude Code

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

Codex

Додајте ово у ~/.codex/config.toml:

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

Cursor

Направите .cursor/mcp.json:

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

Claude Desktop

Додајте mcp-remote мост у конфигурацију 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

Направите .vscode/mcp.json и унесите кључ путем упита за унос у VS Code-у:

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

Алатке

Свака алатка има MCP напомене. У табелама, R означава само за читање, D деструктивно, I идемпотентно, а O интеракцију са отвореним светом/мрежом. Цртица означава да напомена није постављена.

Агенти

АлаткаГлавни аргументиНапоменеШта ради
list_agentsR, IПриказује листу агената.
get_agentagent_idR, IПреузима једног агента.
create_agentконфигурација агентаКреира агента.
update_agentagent_id, измењена пољаПоставља поља у радну верзију агента.
deploy_agentagent_id, опциони if_updated_atIПромовише радну верзију у продукцију.
discard_agent_draftagent_id, опциони if_updated_at, confirmation_token у другом захтевуD, IОдбацује припремљене измене. У два корака, погледајте Потврђивање деструктивних радњи.
duplicate_agentagent_id, опциони nameКопира агента унутар организације.
delete_agentagent_id, confirmation_token у другом захтевуD, IТрајно брише агента. У два корака.
list_agent_versionsagent_idR, IПриказује листу верзија конфигурације у продукцији.

Бројеви телефона и оператери

АлаткаГлавни аргументиНапоменеШта ради
list_phone_numbersR, IПриказује листу бројева организације и усмеравања.
get_phone_number_limitsR, IПреузима коришћење и ограничења управљаних бројева.
provision_phone_numberопциони area_code, city, state, idempotency_keyOКупује долазни број којим управља ThunderPhone.
list_voip_connectionsR, IПриказује листу повезаних оператера клијента.
search_voip_numbersconnection_id, country, type, опциони area_codeR, I, OПретражује инвентар оператера.
import_voip_numbersconnection_id, numbersOУвози бројеве који су већ у власништву код оператера.
update_phone_numberphone_number_id, поља за усмеравање/ознаку/веб-закачкуАжурира усмеравање броја, укључујући доделу агента.
delete_phone_numberphone_number_id, confirm, опциони release_at_provider, confirmation_token у другом захтевуD, I, OОслобађа број. У два корака.

Позиви

АлаткаГлавни аргументиНапоменеШта ради
list_callsопциони филтери, limit, offsetR, IПриказује листу позива помоћу REST филтера за историју позива.
get_callcall_idR, IПреузима статус и метаподатке позива.
get_call_transcriptcall_id, опциони liveR, IПреузима транскрипт позива.
get_call_audio_urlcall_id, опциони downloadR, I, OВраћа потписани URL за аудио; никада не стримује аудио преко MCP-а.
get_call_gradecall_idR, IПреузима најновију оцену позива.
place_callagent_id, from_number, to_numberOУспоставља један неидемпотентни одлазни позив.
export_callsфилтери позива, export_formatR, IИзвози до ограничења REST крајње тачке као JSON или CSV.

Тестирање и валидација

АлаткаГлавни аргументиНапоменеШта ради
list_test_scenariosagent_idR, IПриказује листу сценарија за тестирање.
create_test_scenarioagent_id, title, scenario_prompt, опциони условиКреира сценарио.
generate_test_scenariosagent_id, опциони count, include_edge_cases, localeOГенерише сценарије из упита агента.
run_agent_testsagent_id, channel, consent_to_charge, опциони избор/матрицаOИзвршава сценарије преко веба или телефоније.
get_test_runagent_id, batch_idR, IПреузима статус пакета и резултате по сценарију.
list_validation_runsagent_idR, IПриказује листу недавних покретања валидације радне верзије.
get_validation_statusagent_idR, IПреузима најновије стање валидације и подударање радне верзије.

Знање

АлаткаГлавни аргументиНапоменеШта ради
list_knowledge_basesR, IПриказује листу база знања.
create_knowledge_basename, опциони descriptionКреира базу знања.
add_knowledge_documentknowledge_base_id, name, contentДодаје текст или Markdown.
import_knowledge_urlurl, опциони nameOСтавља јавну страницу у ред за безбедно уношење.
search_knowledgeknowledge_base_id, queryR, IПретражује продукциони систем за преузимање знања.

Интеграције, веб-закачке и удаљени MCP сервери

АлаткаГлавни аргументиНапоменеШта ради
list_integrationsR, IПриказује листу интеграција HTTP функција.
create_integrationdisplay_name, функцијски spec, опциона поља крајње тачкеКреира HTTP алатку.
test_integrationurl, опциони метод/заглавља/тело/временско ограничењеOШаље ограничен тест захтев заштићен од SSRF-а.
list_webhook_endpointsR, IПриказује листу потписаних крајњих тачака веб-закачки.
create_webhook_endpointlabel, url, опциони догађаји/статусOКреира потписану крајњу тачку веб-закачке.
test_webhook_endpointendpoint_idOШаље синтетички догађај путем уобичајене испоруке.
list_mcp_serversR, IПриказује листу удаљених сервера које гласовни агенти могу да позивају.
create_mcp_serverdisplay_name, url, опциона заглављаOРегиструје и синхронизује удаљени сервер.
sync_mcp_server_toolsserver_idOОсвежава каталог алатки удаљеног сервера.

Кампање

АлаткаГлавни аргументиНапоменеШта ради
list_campaignsR, IПриказује листу одлазних кампања.
create_campaignпоља кампањеКреира радну верзију кампање.
add_campaign_contactscampaign_id, contactsДодаје до 5.000 JSON контаката.
campaign_actioncampaign_id, action, опциони consent_to_charge, confirmation_token у другом захтевуD, OПокреће start, pause, resume или stop. start и resume су у два корака; pause и stop покрећу се одмах.
get_campaign_statscampaign_idR, IПреузима бројаче и недавне исходе.

Гласови, наплата, увози и документација

АлаткаГлавни аргументиНапоменеШта ради
list_voicesR, IПриказује листу гласова и подржаних језика.
preview_voicevoice, language, textOГенерише узорак и враћа потписани URL.
list_voice_clonesR, IПриказује листу прилагођених клонова гласова.
get_billing_summaryR, IПреузима стање и званичне цене нивоа; нису доступне измене плаћања.
create_agent_importvendor, vendor_keyOПокреће шифровани увоз из Vapi, Retell, ElevenLabs или Bland.
get_agent_importpublic_idR, IПреузима предложену разлику увоза.
commit_agent_importpublic_idПотврђује изабране агенте из прегледаног плана.
search_docsquery, опциони limitR, I, OПретражује јавни индекс документације.
get_doc_pagepathR, I, OПреузима једну јавну Markdown страницу документације.

Све алатке производа користе исте REST путање кода као јавни API. REST валидација, опсег организације, улоге, одобравање наплате, квоте, TCPA потврда, безбедност добављача и понашање ревизије стога се примењују непромењено.

Потврђивање деструктивних радњи

Алатке означене са D мењају или уклањају нешто што се не може вратити, или започињу позивање стварних људи. Захтевају два захтева. Први захтев ништа не мења и враћа:

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

Асистент приказује кориснику шта је обухваћено и тражи потврду. Затим понавља захтев са истим аргументима и додатим confirmation_token. Токен важи 10 минута и покрива једну организацију, једну алатку и један тачан скуп аргумената, па је за брисање три агента потребно три потврде. campaign_action са pause или stop прескаче овај корак како би активна кампања увек могла одмах да се заустави.

Почетни упити

prompts/list нуди шест вишекратно употребљивих токова рада:

  • create_inbound_receptionist
  • run_agent_tests
  • import_vapi_assistants
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge

Користите prompts/get са наведеним именом упита и његовим декларисаним аргументима да бисте добили поруку корисника спремну за покретање.

Ресурси

resources/list излаже јавне, кеширане референце:

URIСадржај
thunderphone://docs/llms.txtИндекс јавне документације.
thunderphone://docs/quickstartQuickstart Markdown.
thunderphone://pricingТренутни јавни Markdown са ценама.

Прочитајте један помоћу resources/read. Јавна преузимања користе кратко временско ограничење, ограничење од 2 MiB и кеш унутар процеса у трајању од десет минута.

Протокол и грешке

Сервер подржава верзије протокола 2025-06-18 и 2025-03-26; враћа подржану верзију клијента, а у супротном бира 2025-06-18. Имплементира initialize, ping, алатке, упите, ресурсе и обавештења. Обавештења враћају 202 Accepted. Овај сервер без стања не излаже SSE слушач нити брисање сесије, па GET и DELETE враћају 405 Method Not Allowed са Allow: POST.

Неуспеси алатки остају успешни JSON-RPC одговори са isError: true. Њихов текст садржи кратку реченицу након које следи JSON блок:

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

Посебан префикс outbound_tcpa_confirmation_required: задржава се за place_call. Непознате JSON-RPC методе враћају -32601 у HTTP 200 одговору. JSON-RPC пакети нису подржани у MCP 2025-06-18 и враћају чисту грешку неважећег захтева -32600.