Open in
ใช้ ThunderPhone เป็นเซิร์ฟเวอร์ MCP
สร้าง ทดสอบ ตรวจสอบความถูกต้อง และใช้งานเอเจนต์เสียง ThunderPhone จาก Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code หรือไคลเอนต์ Streamable HTTP MCP อื่น
ThunderPhone เปิดให้ใช้งานเซิร์ฟเวอร์ Model Context Protocol แบบ Streamable HTTP ที่:
https://api.thunderphone.com/v1/mcpนี่เป็นทิศทางตรงข้ามกับการเชื่อมต่อเซิร์ฟเวอร์ MCP ระยะไกลกับเอเจนต์เสียง:
| ทิศทาง | ผลลัพธ์ |
|---|---|
| เซิร์ฟเวอร์ MCP ระยะไกล → เอเจนต์ ThunderPhone | เอเจนต์เสียงสามารถเรียกใช้เครื่องมือของเซิร์ฟเวอร์ระยะไกลได้ |
| ThunderPhone → ไคลเอนต์ MCP ของคุณ | เอเจนต์เขียนโค้ดของคุณสามารถสร้าง ทดสอบ และดำเนินการ ThunderPhone ได้ |
การยืนยันตัวตน
ใช้OAuthเป็นค่าเริ่มต้นสำหรับไคลเอนต์จากไดเรกทอรี: ลงชื่อเข้าใช้ เลือกองค์กร และอนุมัติสิทธิ์ที่ร้องขอ เพิกถอนการเข้าถึงได้ที่องค์กร → คีย์ API → แอปที่ได้รับอนุญาต
สำหรับไคลเอนต์ที่กำหนดค่าด้วยคีย์ API ให้สร้างคีย์ sk_live_ ที่องค์กร → คีย์และเปิดเผยให้ไคลเอนต์ MCP ของคุณเป็น THUNDERPHONE_API_KEY คีย์จะผูกกับองค์กรเดียว ID ที่เป็นขององค์กรอื่นจะมีลักษณะเสมือนไม่พบข้อมูล
ทางเลือก 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 ต้องอาศัยการเปิดใช้ API
OAuth ที่เกี่ยวข้อง แต่เส้นทางคีย์ API ไม่ต้องใช้ การกำหนดค่า HTTP โดยตรงจะไม่อ่าน
ที่เก็บข้อมูลรับรองของ CLI ให้ใช้ตัวครอบ stdio เพื่อใช้การเข้าสู่ระบบด้วยอุปกรณ์ซ้ำ
สิ่งเหล่านี้เป็นทางเลือกแทนการกำหนดค่าไคลเอนต์ด้วยตนเองด้านล่าง
การกำหนดค่าไคลเอนต์
Claude และ ChatGPT ลงชื่อเข้าใช้ด้วย OAuth โดยไม่ต้องใช้คีย์ API หากคุณยังไม่มีบัญชี ThunderPhone ให้เลือก สร้างบัญชี ในหน้าลงชื่อเข้าใช้ แล้วคุณจะกลับไปยังหน้าจออนุมัติหลังยืนยันอีเมลแล้ว
Claude (เว็บ เดสก์ท็อป และมือถือ)
- เปิด ปรับแต่ง → ตัวเชื่อมต่อ (การตั้งค่า → ตัวเชื่อมต่อ ในเวอร์ชันเก่า) หาก ThunderPhone ปรากฏในไดเรกทอรีตัวเชื่อมต่อ ให้เลือก ThunderPhone มิฉะนั้นให้เลือก เพิ่มตัวเชื่อมต่อแบบกำหนดเอง ตั้งชื่อเป็น
ThunderPhoneแล้วป้อนhttps://api.thunderphone.com/v1/mcp - เลือก เชื่อมต่อ ลงชื่อเข้าใช้ ThunderPhone เลือกองค์กร และอนุมัติสิทธิ์
- ในแชต ให้เปิดใช้ ThunderPhone จากเมนูเครื่องมือ แล้วขอสิ่งที่คุณต้องการ เช่น "แสดงรายการเอเจนต์ของฉัน"
Claude จะขอการอนุมัติก่อนใช้เครื่องมือแต่ละรายการเป็นครั้งแรก หากต้องการข้ามข้อความแจ้งส่วนใหญ่ ให้เปิด ปรับแต่ง → ตัวเชื่อมต่อ → ThunderPhone แล้วตั้งค่า เครื่องมือแบบอ่านอย่างเดียว เป็นอนุญาตเสมอ เครื่องมือเหล่านี้ใช้ค้นหาข้อมูลเท่านั้น ได้แก่ เอเจนต์ การโทร บทถอดเสียง ยอดคงเหลือ และเอกสาร ให้คง เครื่องมือเขียน/ลบ ไว้ที่ต้องอนุมัติ หากคุณต้องการตรวจสอบการเปลี่ยนแปลงแต่ละรายการก่อนดำเนินการ
ตัวเชื่อมต่อแบบกำหนดเองต้องใช้แพ็กเกจ Claude แบบชำระเงิน สำหรับแพ็กเกจ Team และ Enterprise เจ้าขององค์กรต้องเพิ่มตัวเชื่อมต่อในการตั้งค่าตัวเชื่อมต่อขององค์กรก่อน จากนั้นสมาชิกแต่ละคนจึงเชื่อมต่อบัญชี ThunderPhone ของตนเองได้
ChatGPT
- หาก ThunderPhone ปรากฏในไดเรกทอรีแอป ChatGPT ให้เลือกแล้วเชื่อมต่อ
- มิฉะนั้น ให้เปิด การตั้งค่า → แอปและตัวเชื่อมต่อ → การตั้งค่าขั้นสูง เปิด โหมดนักพัฒนา แล้วสร้างตัวเชื่อมต่อด้วย URL
https://api.thunderphone.com/v1/mcpและการยืนยันตัวตน OAuth - ลงชื่อเข้าใช้ 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 หมายถึงการโต้ตอบกับเครือข่ายหรือโลกภายนอก ขีดกลางหมายถึงไม่ได้ตั้งคำใบ้ไว้
การเชื่อมต่อ
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | การทำงาน |
|---|---|---|---|
get_connection_identity | — | R, I | ตรวจสอบข้อมูลรับรองและส่งคืนองค์กรพร้อมเมทาดาทาข้อมูลรับรองที่ปลอดภัย |
เอเจนต์
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_agents | — | R, I | แสดงรายการเอเจนต์ |
get_agent | agent_id | R, I | ดึงข้อมูลเอเจนต์หนึ่งรายการ |
create_agent | การกำหนดค่าเอเจนต์ | — | สร้างเอเจนต์ |
update_agent | agent_id, ฟิลด์ที่เปลี่ยนแปลง | D | จัดเตรียมฟิลด์ไว้ในฉบับร่างของเอเจนต์ โดยแทนที่ข้อมูลเดิมในฉบับร่าง ทำงานโดยไม่มีขั้นตอนการยืนยัน: เอเจนต์ที่ปรับใช้แล้วจะไม่เปลี่ยนแปลงจนกว่าจะเรียกใช้ deploy_agent และ discard_agent_draft จะคืนค่าฉบับร่าง |
deploy_agent | agent_id, if_updated_at ที่ระบุหรือไม่ระบุก็ได้ | D, I | เลื่อนฉบับร่างไปยังการใช้งานจริง |
discard_agent_draft | agent_id, if_updated_at ที่ระบุหรือไม่ระบุก็ได้, confirmation_token ในคำขอครั้งที่สอง | D, I | ยกเลิกการเปลี่ยนแปลงที่จัดเตรียมไว้ มีสองขั้นตอน ดู การยืนยันการดำเนินการที่ทำลายข้อมูล |
duplicate_agent | agent_id, name ที่ระบุหรือไม่ระบุก็ได้ | — | คัดลอกเอเจนต์ภายในองค์กร |
delete_agent | agent_id, confirmation_token ในคำขอครั้งที่สอง | D, I | ลบเอเจนต์อย่างถาวร มีสองขั้นตอน |
list_agent_versions | agent_id | R, I | แสดงรายการเวอร์ชันการกำหนดค่าที่ปรับใช้แล้ว |
หมายเลขโทรศัพท์และผู้ให้บริการเครือข่าย
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_phone_numbers | — | R, I | แสดงรายการหมายเลขขององค์กรและการกำหนดเส้นทาง |
get_phone_number_limits | — | R, I | ดึงข้อมูลการใช้งานและขีดจำกัดของหมายเลขที่จัดการ |
provision_phone_number | area_code, city, state, idempotency_key ที่ระบุหรือไม่ระบุก็ได้ | D, O | ซื้อหมายเลขขาเข้าที่ ThunderPhone จัดการ |
list_voip_connections | — | R, I | แสดงรายการผู้ให้บริการของลูกค้าที่เชื่อมต่ออยู่ |
search_voip_numbers | connection_id, country, type, area_code ที่ระบุหรือไม่ระบุก็ได้ | R, I, O | ค้นหาหมายเลขในคลังของผู้ให้บริการ |
import_voip_numbers | connection_id, numbers | D, O | นำเข้าหมายเลขที่มีอยู่แล้วกับผู้ให้บริการ |
update_phone_number | phone_number_id, ฟิลด์การกำหนดเส้นทาง/ป้ายกำกับ/webhook | D | อัปเดตการกำหนดเส้นทางของหมายเลข รวมถึงการกำหนด AI เอเจนต์ |
delete_phone_number | phone_number_id, confirm, release_at_provider ที่ระบุหรือไม่ระบุก็ได้, confirmation_token ในคำขอครั้งที่สอง | D, I, O | ปล่อยหมายเลข ต้องดำเนินการสองขั้นตอน |
SMS
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
send_sms | from_number, to, body, idempotency_key | D, I, O | ส่ง SMS ข้อความล้วนหนึ่งข้อความผ่านหมายเลข Twilio หรือ Telnyx ที่เชื่อมต่ออยู่ |
การโทร
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_calls | ตัวกรองที่ไม่บังคับ limit offset | R, I | แสดงรายการสายโดยใช้ตัวกรองประวัติการโทรของ REST |
get_call | call_id | R, I | ดึงสถานะและเมทาดาทาของสาย |
get_call_transcript | call_id live ที่ไม่บังคับ | R, I | ดึงข้อความถอดเสียงของสาย |
get_call_audio_url | call_id download ที่ไม่บังคับ | R, I, O | ส่งคืน URL เสียงที่ลงนามแล้ว โดยจะไม่สตรีมเสียงผ่าน MCP |
get_call_grade | call_id | R, I | ดึงคะแนนสายล่าสุด |
place_call | agent_id from_number to_number | D, O | โทรออกหนึ่งสายแบบไม่เป็น idempotent |
export_calls | ตัวกรองสาย export_format | R, I | ส่งออกข้อมูลได้สูงสุดตามขีดจำกัดของ REST endpoint ในรูปแบบ JSON หรือ CSV |
การทดสอบและการตรวจสอบความถูกต้อง
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | แสดงรายการสถานการณ์ทดสอบ |
create_test_scenario | agent_id, title, scenario_prompt, เงื่อนไขเพิ่มเติม | — | สร้างสถานการณ์ |
generate_test_scenarios | agent_id, count, include_edge_cases, locale เพิ่มเติม | O | สร้างสถานการณ์จากพรอมต์ของเอเจนต์ |
run_agent_tests | agent_id, channel, consent_to_charge, การเลือก/เมทริกซ์เพิ่มเติม | D, O | ดำเนินการสถานการณ์ผ่านเว็บหรือโทรศัพท์ |
get_test_run | agent_id, batch_id | R, I | รับสถานะแบทช์และผลลัพธ์รายสถานการณ์ |
list_validation_runs | agent_id | R, I | แสดงรายการการรันการตรวจสอบฉบับร่างล่าสุด |
get_validation_status | agent_id | R, I | รับสถานะการตรวจสอบล่าสุดและการจับคู่ฉบับร่าง |
ฐานความรู้
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | การทำงาน |
|---|---|---|---|
list_knowledge_bases | — | R, I | แสดงรายการฐานความรู้ |
create_knowledge_base | name, description ที่ระบุหรือไม่ระบุก็ได้ | — | สร้างฐานความรู้ |
add_knowledge_document | knowledge_base_id, name, content | — | เพิ่มข้อความหรือ Markdown |
import_knowledge_url | url, name ที่ระบุหรือไม่ระบุก็ได้ | O | เข้าคิวหน้าสาธารณะเพื่อรับข้อมูลอย่างปลอดภัย |
search_knowledge | knowledge_base_id, query | R, I | ค้นหาผ่านระบบเรียกคืนข้อมูลในสภาพแวดล้อมจริง |
การผสานรวม เว็บฮุก และเซิร์ฟเวอร์ MCP ระยะไกล
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_integrations | — | R, I | แสดงรายการการผสานรวมฟังก์ชัน HTTP |
create_integration | display_name, สเปกฟังก์ชัน spec, ฟิลด์ปลายทางที่ระบุหรือไม่ระบุก็ได้ | — | สร้างเครื่องมือ HTTP เพิ่มส่วนหัวการตรวจสอบสิทธิ์ในแดชบอร์ด |
test_integration | url, เมธอด/เนื้อหาคำขอ/ระยะหมดเวลาที่ระบุหรือไม่ระบุก็ได้, integration_id พร้อม header_names, confirmation_token ในคำขอครั้งที่สอง | D, O | ส่งคำขอทดสอบที่มีขอบเขตและป้องกัน SSRF ค่าส่วนหัวที่บันทึกไว้จะถูกเติมจากการผสานรวมและส่งไปยังโฮสต์ของการผสานรวมนั้นเท่านั้น POST (ค่าเริ่มต้น), PUT, PATCH และ DELETE เป็นแบบสองขั้นตอน ส่วน GET ทำงานทันที |
list_webhook_endpoints | — | R, I | แสดงรายการปลายทาง webhook ที่ลงนามแล้ว |
list_webhook_deliveries | agent_id ที่ระบุหรือไม่ระบุก็ได้, endpoint_id ที่ระบุหรือไม่ระบุก็ได้ | R, I | แสดงรายการผลลัพธ์การส่ง webhook ล่าสุดที่ไม่มีเพย์โหลด |
create_webhook_endpoint | label, url, เหตุการณ์/สถานะที่ระบุหรือไม่ระบุก็ได้ | O | สร้างปลายทาง webhook ที่ลงนามแล้ว |
test_webhook_endpoint | endpoint_id | O | ส่งเหตุการณ์สังเคราะห์ผ่านการส่งตามปกติ |
list_mcp_servers | — | R, I | แสดงรายการเซิร์ฟเวอร์ระยะไกลที่เอเจนต์เสียงเรียกใช้ได้ |
create_mcp_server | display_name, url | O | ลงทะเบียนและซิงค์เซิร์ฟเวอร์ระยะไกล เพิ่มเซิร์ฟเวอร์ที่ต้องใช้ส่วนหัวการตรวจสอบสิทธิ์ในแดชบอร์ด |
sync_mcp_server_tools | server_id | D, O | รีเฟรชแค็ตตาล็อกเครื่องมือของเซิร์ฟเวอร์ระยะไกล |
แคมเปญ
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | การทำงาน |
|---|---|---|---|
list_campaigns | — | R, I | แสดงรายการแคมเปญโทรออก |
create_campaign | ฟิลด์แคมเปญ | — | สร้างแคมเปญแบบร่าง |
add_campaign_contacts | campaign_id, contacts | — | เพิ่มรายชื่อติดต่อ JSON ได้สูงสุด 5,000 รายการ |
campaign_action | campaign_id, action, consent_to_charge ที่ระบุหรือไม่ระบุก็ได้, confirmation_token ในคำขอที่สอง | D, O | เรียกใช้ start, pause, resume หรือ stop โดย start และ resume เป็นกระบวนการสองขั้นตอน ส่วน pause และ stop ดำเนินการทันที |
get_campaign_stats | campaign_id | R, I | ดึงตัวนับและผลลัพธ์ล่าสุด |
เสียง การเรียกเก็บเงิน และเอกสาร
| เครื่องมือ | อาร์กิวเมนต์หลัก | คำอธิบายประกอบ | สิ่งที่ทำ |
|---|---|---|---|
list_voices | — | R, I | แสดงรายการเสียงและภาษาที่รองรับ |
preview_voice | voice, language, text | O | สร้างตัวอย่างและส่งคืน URL ที่ลงนามแล้ว |
list_voice_clones | — | R, I | แสดงรายการโคลนเสียงแบบกำหนดเอง |
get_billing_summary | — | R, I | ดึงยอดคงเหลือและราคาของแต่ละระดับที่เป็นข้อมูลอ้างอิง ไม่มีการเปิดเผยการเปลี่ยนแปลงการชำระเงิน |
search_docs | query, limit ที่ไม่บังคับ | R, I, O | ค้นหาดัชนีเอกสารสาธารณะ |
get_doc_page | path | R, 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": "…"
}AI เอเจนต์จะแสดงให้ผู้ใช้ทราบว่าสิ่งใดได้รับผลกระทบและขอการยืนยัน จากนั้นจะส่งคำขอเดิมอีกครั้งโดยใช้อาร์กิวเมนต์เดิมพร้อม confirmation_token โทเค็นมีอายุ 10 นาทีและครอบคลุมหนึ่งองค์กร หนึ่งเครื่องมือ และชุดอาร์กิวเมนต์ที่ตรงกันทุกประการ ดังนั้นการลบเอเจนต์สามรายการจึงต้องยืนยันสามครั้ง campaign_action ที่ใช้ pause หรือ stop จะข้ามขั้นตอนนี้ เพื่อให้สามารถหยุดแคมเปญที่กำลังทำงานได้ทันทีเสมอ เช่นเดียวกับ test_integration ที่ใช้ GET เครื่องมือ D บางรายการทำงานได้ด้วยคำขอครั้งเดียว เนื่องจาก D ระบุผลกระทบของเครื่องมือ ไม่ใช่การยืนยันฝั่งเซิร์ฟเวอร์: update_agent จะแทนที่สิ่งที่อยู่ในฉบับร่าง (discard_agent_draft จะคืนกลับ) deploy_agent จะแทนที่การกำหนดค่าที่ใช้งานอยู่ update_phone_number จะเปลี่ยนเส้นทางสายที่กำลังใช้งาน sync_mcp_server_tools จะแทนที่แค็ตตาล็อกเครื่องมือของเซิร์ฟเวอร์ระยะไกล import_voip_numbers จะชี้หมายเลขใหม่ไปยังผู้ให้บริการเครือข่ายของคุณ run_agent_tests อาจใช้เครดิต send_sms และ place_call จะติดต่อบุคคลจริง (place_call ยังคงมีการยืนยันความยินยอมของตัวเอง) และ provision_phone_number จะซื้อหมายเลข โทรศัพท์ ไคลเอนต์ MCP ของคุณอาจยังขอให้คุณอนุมัติการดำเนินการเหล่านี้
พรอมป์ต์เริ่มต้น
prompts/list แสดงเวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้ 5 รายการ:
create_inbound_receptionistrun_agent_testsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
ใช้ prompts/get พร้อมชื่อพรอมป์ต์ที่ระบุและอาร์กิวเมนต์ที่ประกาศไว้ เพื่อรับข้อความผู้ใช้ที่พร้อมเรียกใช้
ทรัพยากร
resources/list แสดงข้อมูลอ้างอิงสาธารณะที่แคชไว้:
| URI | เนื้อหา |
|---|---|
thunderphone://docs/llms.txt | ดัชนีเอกสารสาธารณะ |
thunderphone://docs/quickstart | Markdown สำหรับเริ่มต้นอย่างรวดเร็ว |
thunderphone://pricing | Markdown ราคาสาธารณะปัจจุบัน |
อ่านทรัพยากรหนึ่งรายการด้วย resources/read การดึงข้อมูลสาธารณะใช้ระยะหมดเวลาสั้น ขีดจำกัด 2 MiB และแคชในกระบวนการเป็นเวลา 10 นาที
โปรโตคอลและข้อผิดพลาด
เซิร์ฟเวอร์รองรับโปรโตคอลเวอร์ชัน 2025-06-18 และ 2025-03-26 โดยจะสะท้อนเวอร์ชันไคลเอ็นต์ที่รองรับ และหากไม่รองรับจะเลือก 2025-06-18 เซิร์ฟเวอร์ใช้ initialize, ping, เครื่องมือ พรอมป์ต์ ทรัพยากร และการแจ้งเตือน การแจ้งเตือนจะส่งคืน 202 Accepted เซิร์ฟเวอร์แบบไร้สถานะนี้ไม่มี SSE listener หรือการลบเซสชัน ดังนั้น 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 MCP 2025-06-18 ไม่รองรับแบตช์ JSON-RPC และจะส่งคืนข้อผิดพลาดคำขอไม่ถูกต้อง -32600 ที่ชัดเจน