---
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 डिव्हाइस-फ्लो रोलआउटची आवश्यकता असते. संस्थेची API
की `THUNDERPHONE_API_KEY` मध्ये असल्यास ती कमांडना प्रमाणीकरणासाठी वापरता येते आणि संग्रहित
लॉग इन क्रेडेन्शियल्सपेक्षा तिला प्राधान्य दिले जाते.

क्रेडेन्शियल्स प्रोफाइलनुसार `~/.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` | US इनबाउंड नंबर प्रोव्हिजन करा |
| `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` सह तपासा आणि ते तयार झाल्यावरच तसेच
मॅप केलेल्या फील्ड्स व चेतावण्यांचे पुनरावलोकन केल्यानंतरच कमिट करा. [एजंट इंपोर्ट्स](/mr/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`. प्रोजेक्ट स्कोप हा डीफॉल्ट आहे. Desktop आणि 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 किंवा त्यानंतरची आवृत्ती आवश्यक आहे.
