---
title: "ThunderPhone CLI"
description: "Prijavite se, upravljajte glasovnim agentima i pozivima, konfigurirajte MCP klijente i izradite kostur projekata iz terminala."
---

CLI zahtijeva Node.js 18.18 ili noviji. Pokrenite ga s pomoću `npx` ili ga instalirajte globalno:

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

## Prijavite se

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

Prijava ispisuje kôd za potvrdu, otvara preglednik i čeka autorizaciju.
Na računalu bez grafičkog sučelja upotrijebite `--no-browser` i ispisani URL otvorite drugdje.
Prijava uređaja zahtijeva da API uvede OAuth tijek za uređaje. API ključ organizacije
u varijabli `THUNDERPHONE_API_KEY` također može autentificirati naredbe i ima prednost
pred pohranjenim podacima za prijavu.

Podaci za prijavu pohranjuju se po profilima u `~/.config/thunderphone/credentials.json`
s dozvolama datoteke `0600`. Varijable `XDG_CONFIG_HOME` i `THUNDERPHONE_CONFIG_DIR` nadjačavaju
direktorij. Pristupni tokeni automatski se osvježavaju, a rotirajući tokeni za osvježavanje
spremaju se atomarno. Prijava nikada ne ispisuje tokene.

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

`THUNDERPHONE_PROFILE` postavlja zadani profil. Odjava uklanja lokalne podatke za prijavu;
ne opoziva odobrenje na poslužitelju. Zadani API je `https://api.thunderphone.com`.
Za drugi API upotrijebite `--api-base-url` ili `THUNDERPHONE_API_BASE_URL`. Token profila
ne može se poslati na drugi konfigurirani URL API-ja; prijavite se na taj URL zasebnim profilom.

## Naredbe

Svaka naredba prihvaća `--json`. Uspješni podaci šalju se na stdout; pogreške se šalju na stderr
s izlaznim kodom različitim od nule. Bez opcije `--json` izlaz je sažeta tablica ili popis polja.
JSON zadržava strukturu odgovora API-ja, uz maskirana polja vjerodajnica. MCP posluživanje
rezervira stdout za MCP protokol.

| Naredba | Svrha |
| --- | --- |
| `login [--no-browser] [--scope "scopes"]` | Autorizirajte se putem koda uređaja |
| `logout`, `whoami` | Uklonite lokalne podatke za prijavu; navedite dostupne organizacije |
| `agents list`, `agents get ID` | Dohvatite agente |
| `agents create --file agent.json` | Stvorite agenta |
| `agents update ID --file agent.json` | Spremite nacrt agenta |
| `agents deploy ID`, `agents delete ID` | Postavite nacrt; izbrišite agenta |
| `numbers list` | Dohvatite telefonske brojeve |
| `numbers provision --country US --area-code 415` | Dodijelite američki broj za dolazne pozive |
| `numbers assign NUMBER_ID --agent ID` | Dodijelite agenta za dolazne pozive |
| `call TO --agent ID --from FROM [--wait]` | Uspostavite odlazni poziv; po želji pričekajte njegov prijepis |
| `calls list [--limit N] [--agent ID]` | Navedite pozive (ograničenje 1–200) |
| `calls get ID`, `calls transcript ID` | Dohvatite jedan poziv ili njegov prijepis |
| `test run AGENT_ID [--scenario ID] --consent-to-charge` | Pokrenite naplative spremljene scenarije putem web-kanala |
| `test status RUN_ID [--agent ID]` | Pregledajte skupno pokretanje s pojedinostima scenarija kada je naveden agent |
| `import VENDOR export.json` | Pripremite uvoz JSON-a dobavljača za pregled |
| `imports get UUID`, `imports commit UUID` | Pregledajte uvoz; potvrdite odabrane agente nakon pregleda |
| `mcp setup`, `mcp serve` | Konfigurirajte klijent; pokrenite stdio most |
| `init [directory]` | Stvorite strukturu projekta |

Odlazni pozivi zahtijevaju povezani broj pružatelja telekomunikacijskih usluga. `THUNDERPHONE_FROM_NUMBER` može
navesti `--from`. Brojevi koje je dodijelio ThunderPhone dostupni su samo za dolazne pozive. Opcija `--wait` zadano
ima vremensko ograničenje od jednog sata; promijenite ga opcijom `--timeout SECONDS`. Istek vremena prestaje čekati
bez prekidanja poziva.

Uvoz podržava `vapi`, `retell`, `elevenlabs` i `bland`. Drugi argument je put do
JSON izvoza dobavljača, a ne udaljeni ID dobavljača. API asinkrono priprema mapiranje;
pregledajte ga naredbom `imports get UUID` i potvrdite ga tek kada bude spremno
i kada pregledate mapirana polja i upozorenja. Pogledajte [uvoz agenata](/hr/guides/import-agents).

## Postavljanje MCP-a

```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
```

Klijenti: `claude-code`, `codex`, `cursor`, `vscode`, `gemini`, `claude-desktop` i
`windsurf`. Opseg projekta zadani je. Desktop i Windsurf zahtijevaju korisnički opseg.
Izostavite `--client` da biste otkrili jednog klijenta iz projekta; dvosmisleno otkrivanje
interaktivno traži odabir ili ne uspijeva s uputama u neinteraktivnoj sesiji.
Postavljanje ispisuje datoteku koju je zapisalo i čuva nepovezane poslužitelje. Postojeći JSON
mora biti valjan strogi JSON; Codex TOML vrijednosti se čuvaju, ali komentari se mogu preoblikovati.

Postavljanje preferira izravni udaljeni HTTP. Uz `--api-key-env` zapisuje referencu na
varijablu, nikada ključ. Bez te opcije izravni HTTP oslanja se na OAuth podršku klijenta;
ne upotrebljava datoteku vjerodajnica CLI-ja. Za ponovnu upotrebu vjerodajnica iz `thunderphone login`
u bilo kojem klijentu koji podržava stdio, upotrijebite:

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

Omotač provjerava `THUNDERPHONE_API_KEY`, zatim trenutačni CLI profil (osvježava ga
po potrebi), a zatim delegira OAuth servisu `mcp-remote`. `THUNDERPHONE_MCP_URL` nadjačava
krajnju točku. Ne šalje telemetriju. Samostalno postavljanje dostupno je i putem
`npx -y @thunderphone/mcp setup --client cursor` ili `thunderphone-mcp setup` nakon
globalne instalacije paketa `@thunderphone/mcp`.

## Izradite projekt

```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
```

Predlošci su `node` i `python`; vrste agenata su `receptionist`, `outbound` i
`custom`. Zadani agent je englesko-španjolski stomatološki recepcijski glasovni agent s eksplicitnim
demonstracijskim činjenicama. Projekti uključuju `agent.json`, skripte za implementaciju,
MCP konfiguracije za Claude Code, Cursor i VS Code, upute za agenta, `.env.example` i README.
Generiranje strukture radi izvan mreže i odbija prepisati neprazan direktorij.

Uredite poslovne činjenice prije implementacije. Izvezite API ključ, povezani broj pozivatelja
i primatelja testnog poziva kako je dokumentirano u generiranom README-u. `npm run deploy`
ili `python deploy.py` stvara ili ažurira agenta, implementira njegov nacrt i upućuje
naplativ testni poziv. Skripte upotrebljavaju autentikaciju API ključem; CLI i stdio MCP
omotač podržavaju i prijavu uređajem. Python skripte zahtijevaju Python 3.9 ili noviji.
