Open in
ThunderPhone کو MCP سرور کے طور پر استعمال کریں
Claude، ChatGPT، Claude Code، Codex، Cursor، VS Code، یا کسی دوسرے Streamable HTTP MCP کلائنٹ سے ThunderPhone وائس ایجنٹس بنائیں، ٹیسٹ کریں، توثیق کریں، اور چلائیں۔
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 کے طور پر فراہم کریں۔ کلید ایک تنظیم سے منسلک ہوتی ہے؛ کسی دوسری تنظیم کی ملکیت والا 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 کی اسناد استعمال کرتا ہے اور ختم شدہ ٹوکنز کو تازہ کرتا ہے، پھر
mcp-remote کے ذریعے OAuth استعمال کرتا ہے۔ ڈیوائس لاگ اِن اور OAuth کے لیے متعلقہ API
OAuth رول آؤٹ درکار ہے۔ API کلید کے راستے کے لیے یہ درکار نہیں ہے۔ براہ راست HTTP ترتیبات CLI
اسناد اسٹور کو نہیں پڑھتیں؛ ڈیوائس لاگ اِن دوبارہ استعمال کرنے کے لیے stdio ریپر استعمال کریں۔
یہ ذیل میں دی گئی دستی کلائنٹ ترتیبات کے متبادل ہیں۔
کلائنٹ کی کنفیگریشن
Claude اور ChatGPT OAuth کے ذریعے سائن اِن ہوتے ہیں؛ کوئی API کلید شامل نہیں ہوتی۔ اگر آپ کا ابھی تک ThunderPhone اکاؤنٹ نہیں ہے تو سائن اِن صفحے پر اکاؤنٹ بنائیں منتخب کریں؛ ای میل کی تصدیق کے بعد آپ منظوری کی اسکرین پر واپس آ جائیں گے۔
Claude (ویب، ڈیسک ٹاپ، اور موبائل)
- ترتیبات → کنیکٹرز کھولیں۔ اگر کنیکٹر ڈائریکٹری میں ThunderPhone نظر آئے تو اسے منتخب کریں۔ بصورت دیگر حسب ضرورت کنیکٹر شامل کریں منتخب کریں، اس کا نام
ThunderPhoneرکھیں، اورhttps://api.thunderphone.com/v1/mcpدرج کریں۔ - کنیکٹ کریں منتخب کریں، ThunderPhone میں سائن اِن کریں، تنظیم منتخب کریں، اور اجازتوں کی منظوری دیں۔
- چیٹ میں، ٹولز مینو سے ThunderPhone فعال کریں اور اپنی ضرورت کی درخواست کریں، مثلاً "میرے ایجنٹس کی فہرست دکھائیں"۔
حسب ضرورت کنیکٹرز کے لیے Claude کا بامعاوضہ پلان درکار ہے۔ Team اور Enterprise پلانز میں، پہلے کوئی مالک تنظیم کی کنیکٹر ترتیبات میں کنیکٹر شامل کرتا ہے، پھر ہر رکن اپنا ThunderPhone اکاؤنٹ کنیکٹ کرتا ہے۔
ChatGPT
- اگر ThunderPhone ChatGPT ایپ ڈائریکٹری میں نظر آئے تو اسے منتخب کریں اور کنیکٹ کریں۔
- بصورت دیگر ترتیبات → ایپس اور کنیکٹرز → اعلیٰ ترتیبات کھولیں، ڈیولپر موڈ فعال کریں، اور
https://api.thunderphone.com/v1/mcpURL اور 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
Claude Desktop کنفیگریشن میں mcp-remote برج شامل کریں:
{
"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_agents | — | R, I | ایجنٹس کی فہرست دیتا ہے۔ |
get_agent | agent_id | R, I | ایک ایجنٹ حاصل کرتا ہے۔ |
create_agent | ایجنٹ کی کنفیگریشن | — | ایک ایجنٹ بناتا ہے۔ |
update_agent | agent_id، تبدیل شدہ فیلڈز | — | ایجنٹ کے ڈرافٹ میں فیلڈز اسٹیج کرتا ہے۔ |
deploy_agent | agent_id، اختیاری if_updated_at | 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 | 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 | O | کیریئر کے پاس پہلے سے موجود نمبرز درآمد کرتا ہے۔ |
update_phone_number | phone_number_id، روٹنگ/لیبل/webhook فیلڈز | — | ایجنٹ اسائنمنٹ سمیت نمبر روٹنگ اپ ڈیٹ کرتا ہے۔ |
delete_phone_number | phone_number_id، confirm، اختیاری release_at_provider، دوسری درخواست میں confirmation_token | D, I, O | ایک نمبر جاری کرتا ہے۔ دو مرحلے۔ |
کالز
| ٹول | بنیادی آرگیومنٹس | تشریحات | یہ کیا کرتا ہے |
|---|---|---|---|
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 | O | ایک غیر یکساں نتیجہ دینے والی آؤٹ باؤنڈ کال کرتا ہے۔ |
export_calls | کال فلٹرز، export_format | R, I | REST اینڈپوائنٹ کی حد تک 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 | ایجنٹ prompt سے منظرنامے بناتا ہے۔ |
run_agent_tests | agent_id، channel، consent_to_charge، اختیاری انتخاب/میٹرکس | 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 | پروڈکشن ریٹریول میں تلاش کرتا ہے۔ |
انٹیگریشنز، webhooks، اور ریموٹ MCP سرورز
| ٹول | بنیادی آرگیومنٹس | تشریحات | یہ کیا کرتا ہے |
|---|---|---|---|
list_integrations | — | R, I | HTTP فنکشن انٹیگریشنز کی فہرست دیتا ہے۔ |
create_integration | display_name، فنکشن spec، اختیاری اینڈپوائنٹ فیلڈز | — | ایک HTTP ٹول بناتا ہے۔ |
test_integration | url، اختیاری طریقہ/ہیڈرز/باڈی/ٹائم آؤٹ | O | محدود، SSRF سے محفوظ ٹیسٹ درخواست بھیجتا ہے۔ |
list_webhook_endpoints | — | 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 | O | ریموٹ سرور کا ٹول کیٹلاگ تازہ کرتا ہے۔ |
کیمپینز
| ٹول | بنیادی آرگیومنٹس | تشریحات | یہ کیا کرتا ہے |
|---|---|---|---|
list_campaigns | — | R, I | آؤٹ باؤنڈ کیمپینز کی فہرست دیتا ہے۔ |
create_campaign | کیمپین فیلڈز | — | ایک ڈرافٹ کیمپین بناتا ہے۔ |
add_campaign_contacts | campaign_id، contacts | — | 5,000 تک JSON رابطے شامل کرتا ہے۔ |
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 | بیلنس اور مستند ٹیئر قیمتیں حاصل کرتا ہے؛ ادائیگی میں کوئی تبدیلی دستیاب نہیں ہے۔ |
create_agent_import | vendor، vendor_key | O | ایک خفیہ کردہ Vapi، Retell، ElevenLabs، یا Bland درآمد شروع کرتا ہے۔ |
get_agent_import | public_id | R, I | مجوزہ درآمدی فرق حاصل کرتا ہے۔ |
commit_agent_import | public_id | — | جائزہ شدہ پلان سے منتخب ایجنٹس کمٹ کرتا ہے۔ |
search_docs | query، اختیاری limit | R, I, O | عوامی دستاویزات کے انڈیکس میں تلاش کرتا ہے۔ |
get_doc_page | path | R, I, O | ایک عوامی Markdown دستاویزاتی صفحہ حاصل کرتا ہے۔ |
تمام پروڈکٹ ٹولز عوامی API جیسے ہی REST کوڈ پاتھز استعمال کرتے ہیں۔ لہٰذا 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 منٹ تک درست رہتا ہے اور ایک تنظیم، ایک ٹول، اور آرگیومنٹس کے ایک درست مجموعے کے لیے ہوتا ہے، اس لیے تین ایجنٹس حذف کرنے کے لیے تین تصدیقات درکار ہیں۔ pause یا stop کے ساتھ campaign_action اس مرحلے کو چھوڑ دیتا ہے تاکہ چلتی ہوئی مہم کو ہمیشہ فوراً روکا جا سکے۔
ابتدائی پرامپٹس
prompts/list دوبارہ استعمال کے قابل چھ ورک فلوز فراہم کرتا ہے:
create_inbound_receptionistrun_agent_testsimport_vapi_assistantsbuy_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 کی حد، اور پروسیس میں دس منٹ کی کیش استعمال کرتے ہیں۔
پروٹوکول اور خرابیاں
سرور پروٹوکول ورژنز 2025-06-18 اور 2025-03-26 کو سپورٹ کرتا ہے؛ یہ سپورٹ شدہ کلائنٹ ورژن کو واپس ظاہر کرتا ہے اور بصورت دیگر 2025-06-18 منتخب کرتا ہے۔ یہ initialize، ping، ٹولز، پرامپٹس، وسائل، اور نوٹیفکیشنز نافذ کرتا ہے۔ نوٹیفکیشنز 202 Accepted لوٹاتے ہیں۔ یہ اسٹیٹ لیس سرور SSE لسنر یا سیشن حذف کرنے کی سہولت فراہم نہیں کرتا، اس لیے GET اور DELETE، Allow: POST کے ساتھ 405 Method Not Allowed لوٹاتے ہیں۔
ٹول کی ناکامیاں isError: true کے ساتھ کامیاب JSON-RPC جوابات ہی رہتی ہیں۔ ان کے متن میں ایک مختصر جملہ اور اس کے بعد JSON بلاک شامل ہوتا ہے:
{
"code": "insufficient_balance",
"detail": "There is not enough prepaid balance.",
"next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}place_call کے لیے منفرد outbound_tcpa_confirmation_required: سابقہ برقرار رکھا جاتا ہے۔ نامعلوم JSON-RPC میتھڈز HTTP 200 جواب میں -32601 لوٹاتے ہیں۔ JSON-RPC بیچز کو MCP 2025-06-18 سپورٹ نہیں کرتا اور یہ صاف -32600 غلط-درخواست کی خرابی لوٹاتے ہیں۔