ThunderPhone 2.0 yayında.Hemen kendiniz kullanmaya başlayın; dakikası 2 sentten başlayan fiyatlarla.Duyuruyu okuyun

Connect tools & data

ThunderPhone

Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code veya başka bir Streamable HTTP MCP istemcisi üzerinden ThunderPhone sesli AI ajanları oluşturun, test edin, doğrulayın ve işletin.

ThunderPhone, aşağıdaki adreste Akışlanabilir HTTP Model Bağlam Protokolü sunucusu sağlar:

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

Bu, uzak bir MCP sunucusunu sesli AI ajanına bağlama işleminin ters yönüdür:

YönSonuç
Uzak MCP sunucusu → ThunderPhone ajanıSesli AI ajanı, uzak sunucunun araçlarını çağırabilir.
ThunderPhone → MCP istemcinizKodlama ajanınız ThunderPhone'u oluşturabilir, test edebilir ve çalıştırabilir.

Kimlik doğrulama

Dizin istemcileri için varsayılan olarak OAuth kullanın: oturum açın, bir kuruluş seçin ve istenen izinleri onaylayın. Erişimi Kuruluş → API anahtarları → Yetkili uygulamalar altında iptal edin.

API anahtarıyla yapılandırılmış istemciler için Kuruluş → Anahtarlar altında bir sk_live_ anahtarı oluşturun ve bunu MCP istemcinize THUNDERPHONE_API_KEY olarak sağlayın. Anahtar bir kuruluşa bağlıdır; başka bir kuruluşa ait bir kimlik bulunamadı gibi davranır.

CLI ve stdio alternatifleri

ThunderPhone CLI, ilgisiz sunucuları koruyarak istemci yapılandırmasını yazabilir:

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

@thunderphone/mcp genel olarak yüklendikten sonra, aynı seçeneklerle thunderphone-mcp setup kullanın. Kurulum Claude Code, Codex, Cursor, VS Code, Gemini, Claude Desktop ve Windsurf'ü destekler. Doğrudan HTTP tercih edilir; Desktop stdio kullanır.

stdio destekleyen tüm istemciler için command: "npx" ayarını args: ["-y", "@thunderphone/mcp"] ile yapılandırın. Sarmalayıcı önce THUNDERPHONE_API_KEY kullanır, ardından thunderphone login kimlik bilgilerini kullanır, süresi dolmuş belirteçleri yeniler ve son olarak mcp-remote üzerinden OAuth kullanır. Cihazla oturum açma ve OAuth, karşılık gelen API OAuth yayınını gerektirir. API anahtarı yolu gerektirmez. Doğrudan HTTP yapılandırmaları CLI kimlik bilgisi deposunu okumaz; cihazla oturum açmayı yeniden kullanmak için stdio sarmalayıcısını kullanın.

Bunlar, aşağıdaki manuel istemci yapılandırmalarına alternatiftir.

İstemci yapılandırması

Claude ve ChatGPT, OAuth ile oturum açar; API anahtarı gerekmez. Henüz ThunderPhone hesabınız yoksa oturum açma sayfasında Hesap oluştur seçeneğini belirleyin; e-postanızı doğruladıktan sonra onay ekranına dönersiniz.

Claude (web, masaüstü ve mobil)

  1. Özelleştir → Bağlayıcılar bölümünü açın (eski sürümlerde Ayarlar → Bağlayıcılar). ThunderPhone bağlayıcı dizininde görünüyorsa seçin. Aksi takdirde Özel bağlayıcı ekle seçeneğini belirleyin, adını ThunderPhone olarak girin ve https://api.thunderphone.com/v1/mcp adresini ekleyin.
  2. Bağlan seçeneğini belirleyin, ThunderPhone oturumu açın, kuruluşu seçin ve izinleri onaylayın.
  3. Bir sohbette, araçlar menüsünden ThunderPhone'u etkinleştirin ve örneğin "Ajanlarımı listele" gibi ihtiyacınız olanı isteyin.

Claude, her aracı ilk kez kullanmadan önce izin ister. Bu istemlerin çoğunu atlamak için Özelleştir → Bağlayıcılar → ThunderPhone bölümünü açın ve Salt okunur araçlar ayarını her zaman izin verecek şekilde belirleyin. Bu araçlar yalnızca bilgi arar: ajanlar, aramalar, transkriptler, bakiyeler, belgeler. Her değişikliği gerçekleşmeden önce görmek istiyorsanız Yazma/silme araçları ayarını onay gerektirecek şekilde bırakın.

Özel bağlayıcılar ücretli bir Claude planı gerektirir. Team ve Enterprise planlarında, bir sahip önce bağlayıcıyı kuruluşun bağlayıcı ayarlarından ekler; ardından her üye kendi ThunderPhone hesabını bağlar.

ChatGPT

  1. ThunderPhone, ChatGPT uygulama dizininde görünüyorsa seçin ve bağlayın.
  2. Aksi takdirde Ayarlar → Uygulamalar ve Bağlayıcılar → Gelişmiş ayarlar bölümünü açın, Geliştirici modu seçeneğini etkinleştirin ve https://api.thunderphone.com/v1/mcp URL'si ile OAuth kimlik doğrulamasını kullanarak bir bağlayıcı oluşturun.
  3. ThunderPhone oturumu açın, kuruluşu seçin ve izinleri onaylayın. Araçlar menüsünden ThunderPhone'u bir sohbete ekleyin.

Bir ajanı veya telefon numarasını silmek, taslağı iptal etmek, kampanya başlatmak ve harici bir sisteme yazabilen test isteği göndermek, her iki uygulamada da ikinci bir onay gerektirir; bkz. Yıkıcı işlemleri onaylama.

Claude Code

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

Codex

Bunu ~/.codex/config.toml dosyasına ekleyin:

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

Cursor

.cursor/mcp.json dosyasını oluşturun:

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

Claude Desktop

Claude Desktop yapılandırmasına bir mcp-remote köprüsü ekleyin:

{
  "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 dosyasını oluşturun ve anahtarı VS Code'un giriş istemi aracılığıyla girin:

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

Araçlar

Her araç MCP ek açıklamaları taşır. Tablolarda R salt okunur, D yıkıcı, I idempotent ve O açık dünya/ağ etkileşimi anlamına gelir. Tire işareti, hiçbir ipucunun ayarlanmadığı anlamına gelir.

Bağlantı

AraçAna bağımsız değişkenlerEk açıklamalarNe yapar
get_connection_identity—R, IKimlik bilgisini doğrular ve kuruluşunu ve güvenli kimlik bilgisi meta verilerini döndürür.

Ajanlar

AraçAna bağımsız değişkenlerEk açıklamalarNe yapar
list_agents—R, IAjanları listeler.
get_agentagent_idR, ITek bir ajanı getirir.
create_agentajan yapılandırması—Bir ajan oluşturur.
update_agentagent_id, değiştirilen alanlarDAjan taslağındaki alanları, taslakta bulunanların yerine koyarak hazırlar. Onay adımı olmadan çalışır: yayınlanan ajan deploy_agent kullanılana kadar değişmez ve discard_agent_draft taslağı geri alır.
deploy_agentagent_id, isteğe bağlı if_updated_atD, ITaslağı üretim ortamına yükseltir.
discard_agent_draftagent_id, isteğe bağlı if_updated_at, ikinci istekte confirmation_tokenD, IHazırlanan değişiklikleri iptal eder. İki adımlıdır, bkz. Yıkıcı işlemleri onaylama.
duplicate_agentagent_id, isteğe bağlı name—Bir ajanı kuruluş içinde kopyalar.
delete_agentagent_id, ikinci istekte confirmation_tokenD, IBir ajanı kalıcı olarak siler. İki adımlıdır.
list_agent_versionsagent_idR, IYayınlanan yapılandırma sürümlerini listeler.

Telefon numaraları ve operatörler

AraçAna bağımsız değişkenlerEk açıklamalarİşlevi
list_phone_numbers—R, IKuruluş numaralarını ve yönlendirmeyi listeler.
get_phone_number_limits—R, IYönetilen numara kullanımını ve sınırlarını getirir.
provision_phone_numberisteğe bağlı area_code, city, state, idempotency_keyD, OThunderPhone tarafından yönetilen bir gelen numara satın alır.
list_voip_connections—R, IBağlı müşteri operatörlerini listeler.
search_voip_numbersconnection_id, country, type, isteğe bağlı area_codeR, I, OOperatör envanterinde arama yapar.
import_voip_numbersconnection_id, numbersD, OOperatörde hâlihazırda sahip olunan numaraları içe aktarır.
update_phone_numberphone_number_id, yönlendirme/etiket/webhook alanlarıDYapay zeka ajanı ataması dâhil olmak üzere numara yönlendirmesini günceller.
delete_phone_numberphone_number_id, confirm, isteğe bağlı release_at_provider, ikinci istekte confirmation_tokenD, I, OBir numarayı serbest bırakır. İki adımlıdır.

SMS

AraçAna bağımsız değişkenlerAçıklamalarNe yapar
send_smsfrom_number, to, body, idempotency_keyD, I, OBağlı bir Twilio veya Telnyx numarası üzerinden tek bir düz metin SMS gönderir.

Aramalar

AraçAna bağımsız değişkenlerAçıklamalarİşlevi
list_callsisteğe bağlı filtreler, limit, offsetR, IREST çağrı geçmişi filtreleriyle çağrıları listeler.
get_callcall_idR, IÇağrı durumunu ve meta verileri alır.
get_call_transcriptcall_id, isteğe bağlı liveR, IÇağrı dökümünü alır.
get_call_audio_urlcall_id, isteğe bağlı downloadR, I, Oİmzalı bir ses URL'si döndürür; sesi hiçbir zaman MCP üzerinden akıtmaz.
get_call_gradecall_idR, IEn son çağrı değerlendirmesini alır.
place_callagent_id, from_number, to_numberD, Oİdempotent olmayan tek bir giden çağrı başlatır.
export_callsçağrı filtreleri, export_formatR, IREST uç noktasının sınırına kadar olan çağrıları JSON veya CSV olarak dışa aktarır.

Test ve doğrulama

AraçAna bağımsız değişkenlerAçıklamalarNe yapar
list_test_scenariosagent_idR, ITest senaryolarını listeler.
create_test_scenarioagent_id, title, scenario_prompt, isteğe bağlı koşullar—Bir senaryo oluşturur.
generate_test_scenariosagent_id, isteğe bağlı count, include_edge_cases, localeOAjan isteminden senaryolar oluşturur.
run_agent_testsagent_id, channel, consent_to_charge, isteğe bağlı seçim/matrisD, OSenaryoları web veya telefon üzerinden yürütür.
get_test_runagent_id, batch_idR, IToplu işlem durumunu ve senaryo başına sonuçları alır.
list_validation_runsagent_idR, ISon taslak doğrulama çalıştırmalarını listeler.
get_validation_statusagent_idR, IEn güncel doğrulama durumunu ve taslak eşleşmesini alır.

Bilgi

AraçAna bağımsız değişkenlerEk açıklamalarNe yapar
list_knowledge_bases—R, IBilgi tabanlarını listeler.
create_knowledge_basename, isteğe bağlı description—Bir bilgi tabanı oluşturur.
add_knowledge_documentknowledge_base_id, name, content—Metin veya Markdown ekler.
import_knowledge_urlurl, isteğe bağlı nameOGüvenli alma işlemi için herkese açık bir sayfayı kuyruğa alır.
search_knowledgeknowledge_base_id, queryR, IÜretim alma sistemi üzerinden arama yapar.

Entegrasyonlar, webhook'lar ve uzak MCP sunucuları

AraçAna bağımsız değişkenlerEk açıklamalarİşlevi
list_integrations—R, IHTTP işlev entegrasyonlarını listeler.
create_integrationdisplay_name, işlev spec, isteğe bağlı uç nokta alanları—Bir HTTP aracı oluşturur. Kimlik doğrulama üst bilgilerini panodan ekleyin.
test_integrationurl, isteğe bağlı yöntem/gövde/zaman aşımı, header_names içeren integration_id, ikinci istekte confirmation_tokenD, OSınırlı, SSRF korumalı bir test isteği gönderir. Kaydedilen üst bilgi değerleri entegrasyondan doldurulur ve yalnızca kendi ana makinesine gönderilir. POST (varsayılan), PUT, PATCH ve DELETE iki aşamalıdır; GET hemen çalışır.
list_webhook_endpoints—R, Iİmzalı webhook uç noktalarını listeler.
list_webhook_deliveriesisteğe bağlı agent_id, isteğe bağlı endpoint_idR, ISon yük içermeyen webhook teslim sonuçlarını listeler.
create_webhook_endpointlabel, url, isteğe bağlı olaylar/durumOİmzalı bir webhook uç noktası oluşturur.
test_webhook_endpointendpoint_idONormal teslim yoluyla sentetik bir olay gönderir.
list_mcp_servers—R, ISesli AI ajanlarının çağırabileceği uzak sunucuları listeler.
create_mcp_serverdisplay_name, urlOUzak bir sunucuyu kaydeder ve senkronize eder. Kimlik doğrulama üst bilgilerine ihtiyaç duyan sunucular panodan eklenir.
sync_mcp_server_toolsserver_idD, OUzak bir sunucunun araç kataloğunu yeniler.

Kampanyalar

AraçAna bağımsız değişkenlerEk açıklamalarNe yapar
list_campaigns—R, IGiden arama kampanyalarını listeler.
create_campaignkampanya alanları—Taslak bir kampanya oluşturur.
add_campaign_contactscampaign_id, contacts—En fazla 5.000 JSON kişisi ekler.
campaign_actioncampaign_id, action, isteğe bağlı consent_to_charge, ikinci istekte confirmation_tokenD, Ostart, pause, resume veya stop çalıştırır. start ve resume iki adımlıdır; pause ve stop hemen çalışır.
get_campaign_statscampaign_idR, ISayaçları ve son sonuçları getirir.

Sesler, faturalandırma ve dokümantasyon

AraçAna parametrelerNotlarİşlevi
list_voices—R, ISesleri ve desteklenen dilleri listeler.
preview_voicevoice, language, textOBir örnek oluşturur ve imzalı bir URL döndürür.
list_voice_clones—R, IÖzel ses klonlarını listeler.
get_billing_summary—R, IBakiyeyi ve resmi katman fiyatlarını getirir; ödeme değişikliği işlemleri sunulmaz.
search_docsquery, isteğe bağlı limitR, I, OHerkese açık dokümantasyon dizininde arama yapar.
get_doc_pagepathR, I, OHerkese açık bir Markdown dokümantasyon sayfasını getirir.

Tüm ürün araçları, herkese açık API ile aynı REST kod yollarını kullanır. Bu nedenle REST doğrulaması, kuruluş kapsamlandırması, roller, faturalandırma kabulü, kotalar, TCPA onayı, sağlayıcı güvenliği ve denetim davranışı değişmeden uygulanır.

Yıkıcı işlemleri onaylama

D ile işaretlenmiş araçlar bir şeyi değiştirir veya kaldırır ya da gerçek kişileri aramaya başlar. Geri alınamayan işlemler iki istek gerektirir. İlk istek hiçbir şeyi değiştirmez ve şunu döndürür:

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

Yapay zeka ajanı, kullanıcıya neyin etkilendiğini gösterir ve onay ister. Ardından aynı bağımsız değişkenlerle, ayrıca confirmation_token ekleyerek isteği tekrarlar. Bir belirteç 10 dakika boyunca geçerlidir ve tek bir kuruluşu, tek bir aracı ve tam olarak tek bir bağımsız değişken kümesini kapsar; bu nedenle üç ajanı silmek için üç onay gerekir. pause veya stop içeren campaign_action, çalışan bir kampanyanın her zaman anında durdurulabilmesi için bu adımı atlar; GET içeren test_integration da aynısını yapar. Bazı D araçları tek istekte çalışır; çünkü D, sunucu tarafı onayı değil, etkilerini belirtir: update_agent taslaktaki içeriği değiştirir (discard_agent_draft bunu geri alır), deploy_agent canlı yapılandırmayı değiştirir, update_phone_number canlı çağrıları yeniden yönlendirir, sync_mcp_server_tools uzak bir sunucunun araç kataloğunu değiştirir, import_voip_numbers numaraları operatörünüze yeniden yönlendirir, run_agent_tests kredi harcayabilir, send_sms ve place_call gerçek bir kişiye ulaşır (place_call kendi onay doğrulamasını korur) ve provision_phone_number bir numara satın alır. MCP istemciniz yine de bunları onaylamanızı isteyebilir.

Başlangıç istemleri

prompts/list, yeniden kullanılabilir beş iş akışını sunar:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_url_to_agent_knowledge

Çalıştırmaya hazır bir kullanıcı mesajı almak için listelenen istem adı ve bildirilen bağımsız değişkenleriyle prompts/get kullanın.

Kaynaklar

resources/list, herkese açık, önbelleğe alınmış başvuruları sunar:

URIİçerik
thunderphone://docs/llms.txtHerkese açık dokümantasyon dizini.
thunderphone://docs/quickstartHızlı başlangıç Markdown'ı.
thunderphone://pricingGüncel herkese açık fiyatlandırma Markdown'ı.

Birini resources/read ile okuyun. Herkese açık getirme işlemleri kısa bir zaman aşımı, 2 MiB sınırı ve işlem içi on dakikalık önbellek kullanır.

Protokol ve hatalar

Sunucu, 2025-06-18 ve 2025-03-26 protokol sürümlerini destekler; desteklenen bir istemci sürümünü yansıtır, aksi durumda 2025-06-18 sürümünü seçer. initialize, ping, araçlar, istemler, kaynaklar ve bildirimleri uygular. Bildirimler 202 Accepted döndürür. Bu durumsuz sunucu bir SSE dinleyicisi veya oturum silme işlemi sunmaz; bu nedenle GET ve DELETE, Allow: POST ile birlikte 405 Method Not Allowed döndürür.

Araç hataları, isError: true içeren başarılı JSON-RPC yanıtları olarak kalır. Metinleri, ardından bir JSON bloğu gelen kısa bir cümle içerir:

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

Ayırt edici outbound_tcpa_confirmation_required: öneki place_call için korunur. Bilinmeyen JSON-RPC yöntemleri, HTTP 200 yanıtında -32601 döndürür. JSON-RPC toplu istekleri MCP 2025-06-18 tarafından desteklenmez ve temiz bir -32600 geçersiz istek hatası döndürür.