---
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 device-flow ലഭ്യമായിരിക്കണം. `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` എന്നിവ പിന്തുണയ്ക്കുന്നു. രണ്ടാമത്തെ ആർഗ്യുമെന്റ്
ഒരു വെണ്ടർ JSON എക്സ്പോർട്ടിലേക്കുള്ള പാതയാണ്, റിമോട്ട് വെണ്ടർ ID അല്ല. API ഒരു മാപ്പിംഗ്
അസിൻക്രണസായി തയ്യാറാക്കുന്നു; `imports get UUID` ഉപയോഗിച്ച് അത് പരിശോധിച്ച്, അത് തയ്യാറായതിനും
മാപ്പ് ചെയ്ത ഫീൽഡുകളും മുന്നറിയിപ്പുകളും നിങ്ങൾ അവലോകനം ചെയ്തതിനും ശേഷമേ കമ്മിറ്റ് ചെയ്യാവൂ.
[ഏജന്റ് ഇംപോർട്ടുകൾ](/ml/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` ഒഴിവാക്കുക; അവ്യക്തമായ കണ്ടെത്തൽ
ഇന്ററാക്ടീവായി prompt ചെയ്യും അല്ലെങ്കിൽ നോൺ-ഇന്ററാക്ടീവ് സെഷനിൽ നിർദേശങ്ങളോടെ പരാജയപ്പെടും.
സജ്ജീകരണം എഴുതിയ ഫയൽ പ്രിന്റ് ചെയ്യുകയും ബന്ധമില്ലാത്ത സെർവറുകൾ നിലനിർത്തുകയും ചെയ്യുന്നു. നിലവിലുള്ള 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 അല്ലെങ്കിൽ അതിന് ശേഷമുള്ള പതിപ്പ് ആവശ്യമാണ്.
