---
title: "ThunderPhone CLI"
description: "لاگ اِن کریں، وائس ایجنٹس اور کالز کا نظم کریں، MCP کلائنٹس کنفیگر کریں، اور ٹرمینل سے پروجیکٹس کا خاکہ تیار کریں۔"
---

CLI کے لیے Node.js 18.18 یا اس کے بعد کا ورژن درکار ہے۔ اسے `npx` کے ساتھ چلائیں، یا عالمی طور پر انسٹال کریں:

```bash
npm install -g thunderphone
thunderphone --help
```

## لاگ اِن کریں

```bash
npx thunderphone login
thunderphone whoami --json
```

لاگ اِن ایک توثیقی کوڈ پرنٹ کرتا ہے، براؤزر کھولتا ہے، اور اجازت کا انتظار کرتا ہے۔
ہیڈ لیس مشین پر `--no-browser` استعمال کریں اور پرنٹ شدہ URL کو کسی اور جگہ کھولیں۔
ڈیوائس لاگ اِن کے لیے API کے OAuth ڈیوائس فلو کا فعال ہونا ضروری ہے۔ `THUNDERPHONE_API_KEY` میں موجود تنظیم کی API
کلید بھی کمانڈز کی توثیق کر سکتی ہے اور محفوظ شدہ لاگ اِن اسناد پر ترجیح رکھتی ہے۔

اسناد پروفائل کے لحاظ سے `~/.config/thunderphone/credentials.json` میں
فائل موڈ `0600` کے ساتھ محفوظ کی جاتی ہیں۔ `XDG_CONFIG_HOME` اور `THUNDERPHONE_CONFIG_DIR` ڈائریکٹری کو اووررائیڈ کرتے ہیں۔
رسائی ٹوکن خودکار طور پر ریفریش ہوتے ہیں اور تبدیل ہونے والے ریفریش ٹوکن ایٹمی طور پر محفوظ کیے جاتے ہیں۔
لاگ اِن کبھی بھی ٹوکن پرنٹ نہیں کرتا۔

```bash
thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile work
```

`THUNDERPHONE_PROFILE` ڈیفالٹ پروفائل سیٹ کرتا ہے۔ لاگ آؤٹ مقامی اسناد ہٹا دیتا ہے؛
یہ سرور گرانٹ منسوخ نہیں کرتا۔ ڈیفالٹ API `https://api.thunderphone.com` ہے۔
کسی دوسرے API کے لیے `--api-base-url` یا `THUNDERPHONE_API_BASE_URL` استعمال کریں۔ کسی پروفائل کا ٹوکن
کسی مختلف کنفیگر شدہ API URL کو نہیں بھیجا جا سکتا؛ اس URL میں الگ پروفائل کے ساتھ لاگ اِن کریں۔

## کمانڈز

ہر کمانڈ `--json` قبول کرتی ہے۔ کامیاب ڈیٹا stdout پر جاتا ہے؛ غلطیاں غیر صفر ایگزٹ کوڈ کے ساتھ stderr پر جاتی ہیں۔
`--json` کے بغیر، آؤٹ پٹ ایک مختصر جدول یا فیلڈ فہرست ہوتا ہے۔
JSON، API کے جواب کی ساخت برقرار رکھتا ہے، جبکہ اسناد کے فیلڈز پوشیدہ رکھے جاتے ہیں۔ MCP سرونگ
stdout کو MCP پروٹوکول کے لیے مخصوص رکھتی ہے۔

| کمانڈ | مقصد |
| --- | --- |
| `login [--no-browser] [--scope "scopes"]` | ڈیوائس کوڈ کے ذریعے اجازت دیں |
| `logout`, `whoami` | مقامی اسناد ہٹائیں؛ قابل رسائی تنظیموں کی فہرست دیکھیں |
| `agents list`, `agents get ID` | ایجنٹس پڑھیں |
| `agents create --file agent.json` | ایک ایجنٹ بنائیں |
| `agents update ID --file agent.json` | ایجنٹ کا ڈرافٹ محفوظ کریں |
| `agents deploy ID`, `agents delete ID` | ڈرافٹ ڈیپلائے کریں؛ ایک ایجنٹ حذف کریں |
| `numbers list` | فون نمبرز پڑھیں |
| `numbers provision --country US --area-code 415` | امریکی اِن باؤنڈ نمبر فراہم کریں |
| `numbers assign NUMBER_ID --agent ID` | ایک اِن باؤنڈ ایجنٹ تفویض کریں |
| `call TO --agent ID --from FROM [--wait]` | آؤٹ باؤنڈ کال کریں؛ اختیاری طور پر اس کے ٹرانسکرپٹ کا انتظار کریں |
| `calls list [--limit N] [--agent ID]` | کالز کی فہرست دیکھیں (حد 1 سے 200) |
| `calls get ID`, `calls transcript ID` | ایک کال یا اس کا ٹرانسکرپٹ پڑھیں |
| `test run AGENT_ID [--scenario ID] --consent-to-charge` | ویب چینل کے ذریعے قابل بل محفوظ شدہ منظرنامے چلائیں |
| `test status RUN_ID [--agent ID]` | ایک بیچ کا جائزہ لیں، اور ایجنٹ فراہم ہونے پر منظرنامے کی تفصیلات دیکھیں |
| `import VENDOR export.json` | جائزے کے لیے وینڈر JSON امپورٹ تیار کریں |
| `imports get UUID`, `imports commit UUID` | ایک امپورٹ کا جائزہ لیں؛ جائزے کے بعد منتخب ایجنٹس کمٹ کریں |
| `mcp setup`, `mcp serve` | ایک کلائنٹ کنفیگر کریں؛ stdio برج شروع کریں |
| `init [directory]` | ایک پروجیکٹ کا بنیادی ڈھانچہ بنائیں |

آؤٹ باؤنڈ کالز کے لیے منسلک کیریئر نمبر درکار ہے۔ `THUNDERPHONE_FROM_NUMBER`
`--from` فراہم کر سکتا ہے۔ ThunderPhone کے فراہم کردہ نمبرز صرف اِن باؤنڈ ہیں۔ `--wait` کا ڈیفالٹ
ایک گھنٹے کا ٹائم آؤٹ ہے؛ اسے تبدیل کرنے کے لیے `--timeout SECONDS` سیٹ کریں۔ ٹائم آؤٹ انتظار روک دیتا ہے
لیکن کال ختم نہیں کرتا۔

امپورٹس `vapi`، `retell`، `elevenlabs`، اور `bland` کو سپورٹ کرتے ہیں۔ دوسری آرگیومنٹ
وینڈر JSON ایکسپورٹ کا پاتھ ہے، ریموٹ وینڈر ID نہیں۔ API ایک میپنگ
غیر ہم وقت طور پر تیار کرتا ہے؛ `imports get UUID` کے ذریعے اس کا جائزہ لیں اور صرف اس کے تیار ہونے
اور میپ شدہ فیلڈز اور وارننگز کا جائزہ لینے کے بعد کمٹ کریں۔ [ایجنٹ امپورٹس](/ur/guides/import-agents) دیکھیں۔

## MCP سیٹ اپ

```bash
thunderphone mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
thunderphone mcp setup --client codex --scope user --api-key-env THUNDERPHONE_API_KEY
thunderphone mcp setup --client claude-desktop --scope user
```

کلائنٹس: `claude-code`، `codex`، `cursor`، `vscode`، `gemini`، `claude-desktop`، اور
`windsurf`۔ پروجیکٹ اسکوپ ڈیفالٹ ہے۔ ڈیسک ٹاپ اور Windsurf کے لیے صارف اسکوپ درکار ہے۔
پروجیکٹ سے ایک واحد کلائنٹ کا پتہ لگانے کے لیے `--client` کو چھوڑ دیں؛ مبہم شناخت
انٹرایکٹو طور پر پرامپٹ کرتی ہے یا غیر انٹرایکٹو سیشن میں ہدایات کے ساتھ ناکام ہو جاتی ہے۔
سیٹ اپ اس فائل کو پرنٹ کرتا ہے جو اس نے لکھی ہے اور غیر متعلقہ سرورز کو برقرار رکھتا ہے۔ موجودہ JSON
لازماً درست سخت JSON ہونا چاہیے؛ Codex TOML ویلیوز برقرار رہتی ہیں مگر تبصروں کی فارمیٹنگ تبدیل ہو سکتی ہے۔

سیٹ اپ براہ راست ریموٹ HTTP کو ترجیح دیتا ہے۔ `--api-key-env` کے ساتھ، یہ کلید کبھی نہیں بلکہ
ویری ایبل ریفرنس لکھتا ہے۔ اس آپشن کے بغیر، براہ راست HTTP کلائنٹ کی
OAuth سپورٹ پر انحصار کرتا ہے؛ یہ CLI کریڈینشل فائل استعمال نہیں کرتا۔ کسی بھی stdio-قابل کلائنٹ میں
`thunderphone login` کریڈینشلز دوبارہ استعمال کرنے کے لیے، یہ استعمال کریں:

```json
{
  "mcpServers": {
    "thunderphone": {
      "command": "npx",
      "args": ["-y", "@thunderphone/mcp"]
    }
  }
}
```

ریپر پہلے `THUNDERPHONE_API_KEY` چیک کرتا ہے، پھر موجودہ CLI پروفائل کو چیک کرتا ہے (ضرورت پڑنے پر
ریفریش کرتے ہوئے)، پھر OAuth کو `mcp-remote` کے حوالے کر دیتا ہے۔ `THUNDERPHONE_MCP_URL` اینڈ پوائنٹ کو اووررائیڈ کرتا ہے۔
یہ کوئی ٹیلی میٹری خارج نہیں کرتا۔ اسٹینڈ الون سیٹ اپ
`npx -y @thunderphone/mcp setup --client cursor` یا عالمی طور پر `@thunderphone/mcp` انسٹال کرنے کے بعد
`thunderphone-mcp setup` کے ذریعے بھی دستیاب ہے۔

## ایک پروجیکٹ بنائیں

```bash
npx create-thunderphone-agent my-receptionist
npx create-thunderphone-agent my-outbound --template python --agent-type outbound
# Equivalent:
thunderphone init my-receptionist --template node --agent-type receptionist
```

ٹیمپلیٹس `node` اور `python` ہیں؛ ایجنٹ کی اقسام `receptionist`، `outbound`، اور
`custom` ہیں۔ ڈیفالٹ ایجنٹ واضح ڈیمو حقائق کے ساتھ ایک انگریزی/ہسپانوی ڈینٹل ریسپشنسٹ ہے۔
پروجیکٹس میں `agent.json`، ڈیپلائے اسکرپٹس، Claude Code، Cursor اور VS Code کے لیے MCP کنفیگریشنز،
ایجنٹ کی ہدایات، `.env.example`، اور ایک README شامل ہوتے ہیں۔
اسکیفولڈنگ آف لائن ہے اور کسی غیر خالی ڈائریکٹری کو اووررائٹ کرنے سے انکار کرتی ہے۔

ڈیپلائے کرنے سے پہلے کاروباری حقائق میں ترمیم کریں۔ تیار کردہ README میں درج طریقے کے مطابق API کلید، منسلک کالر
نمبر، اور اپنا ٹیسٹ وصول کنندہ ایکسپورٹ کریں۔ `npm run deploy`
یا `python deploy.py` ایجنٹ بناتا یا اپ ڈیٹ کرتا ہے، اس کا ڈرافٹ ڈیپلائے کرتا ہے، اور قابلِ بل ٹیسٹ کال کرتا ہے۔
اسکرپٹس API-کلید کی تصدیق استعمال کرتی ہیں؛ CLI اور stdio MCP
ریپر ڈیوائس لاگ اِن کو بھی سپورٹ کرتے ہیں۔ Python اسکرپٹس کے لیے Python 3.9 یا اس کے بعد کا ورژن درکار ہے۔
