---
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 సర్వింగ్
MCP ప్రోటోకాల్ కోసం stdoutను కేటాయిస్తుంది.

| కమాండ్ | ఉద్దేశ్యం |
| --- | --- |
| `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`కు మద్దతు ఇస్తాయి. రెండవ ఆర్గ్యుమెంట్
రిమోట్ వెండర్ ID కాదు, వెండర్ JSON ఎక్స్‌పోర్ట్‌కు పాత్. API మ్యాపింగ్‌ను అసింక్రోనస్‌గా సిద్ధం చేస్తుంది;
`imports get UUID`తో దాన్ని పరిశీలించి, అది సిద్ధమైన తర్వాత మరియు మీరు మ్యాప్ చేసిన ఫీల్డ్‌లు, హెచ్చరికలను
సమీక్షించిన తర్వాత మాత్రమే కమిట్ చేయండి. [ఏజెంట్ ఇంపోర్ట్‌లు](/te/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 లేదా తర్వాతి వెర్షన్ అవసరం.
