> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# MeetStream CLI

> Install @meetstream/cli to create meeting bots, watch their status, fetch transcripts, and debug webhooks from your terminal — no code required.

The [`@meetstream/cli`](https://www.npmjs.com/package/@meetstream/cli) package puts the full MeetStream API in your terminal. Create bots that join Zoom, Google Meet, and Microsoft Teams meetings; record, transcribe, and interact — without writing a line of code.

```bash
npm install -g @meetstream/cli     # or: npx @meetstream/cli ...
meetstream auth set-key <YOUR_API_KEY>
meetstream bot create "https://meet.google.com/abc-defg-hij" -t deepgram
```

Get an API key from the [MeetStream dashboard](https://app.meetstream.ai/api-key).

## Authentication

Every command authenticates with `Authorization: Token <your-key>` — the API key is the credential, there is no separate CLI login.

| Source                                                  | Precedence  |
| ------------------------------------------------------- | ----------- |
| `MEETSTREAM_API_KEY` env var                            | wins if set |
| `~/.meetstream/config.json` (written by `auth set-key`) | fallback    |

Verify your setup:

```bash
meetstream auth status
```

## 60-second tour

```bash
# 1. Point a local webhook receiver at the world (great for dev)
meetstream listen --port 3333            # then: ngrok http 3333

# 2. Send a bot to a meeting with post-call transcription
meetstream bot create "https://zoom.us/j/123456789" \
  --name "Notetaker" -t deepgram -c https://<ngrok>.ngrok.io/webhook

# 3. Watch it join
meetstream bot status <bot_id> --watch

# 4. Grab the transcript the moment it's ready
meetstream transcript <bot_id> --wait
```

## Command groups

| Group                                          | What it covers                                                                                                                                                                                            |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auth`                                         | Store and validate your API key                                                                                                                                                                           |
| `bot`                                          | Create, list, watch, and remove bots; fetch audio, video, per-participant streams, participants, chats, screenshots, speaker timeline, and AI summaries; send chat messages and images into live meetings |
| `transcript` / `transcriptions` / `transcribe` | Fetch transcripts (with `--wait` polling), list transcription runs, and re-transcribe recordings with a different provider                                                                                |
| `calendar`                                     | Connect Google Calendar, schedule or auto-join meetings, reschedule and cancel bots                                                                                                                       |
| `mia`                                          | Create and manage MIA conversational agent configs, attach them to bots with `--agent-config-id`                                                                                                          |
| `listen`                                       | Run a local webhook receiver that pretty-prints every MeetStream event — pair with ngrok during development                                                                                               |

Every command supports `--json` for scripting, which also makes the CLI directly usable by coding agents.

`bot create` exposes the full create-bot surface as flags: transcription provider (`-t deepgram | assemblyai | sarvam | meetstream | ...`), webhooks (`-c`), scheduled joins (`--join-at`), per-participant streams (`--separate-audio` / `--separate-video`), live WebSocket streaming (`--live-audio-ws`, `--socket-ws`), MIA agents, idempotency keys, and leave-timeout tuning. Run `meetstream bot create --help` for the complete list.

## Related tooling

* [MeetStream MCP Server](/build-with-ai/meetstream-mcp-server) — the same capabilities as MCP tools for Claude and other agents.
* [Set Up Local Server for Webhook](/guides/webhooks/local-webhook-server) — the manual version of what `meetstream listen` automates.
* [Create Your First Bot](/guides/get-started/create-your-first-bot) — the raw API quickstart.