meetbot / docs
AI Tools

CLI (npm + Claude Skill)

Install @meetbot/cli to dispatch bots, fetch recordings, manage keys, and forward webhooks from the terminal. Also distributable as an Anthropic Claude Skill so Claude.ai can drive the same operations from natural language.

The @meetbot/cli npm package gives you the meetbot API on the command line. It also ships an Anthropic Claude Skill so Claude (Claude.ai, Claude Code, Claude Agents) can run the same commands from natural-language prompts — same auth, same shape, no extra wiring.

The package is MIT-licensed and lives at github.com/meetbot-dev/meetbot.

Use it from your terminal

Install

npm install -g @meetbot/cli
# or: pnpm add -g @meetbot/cli
# or: bun add -g @meetbot/cli

The binary is meetbot. One-off without installing:

npx @meetbot/cli --help

Authenticate

Browser flow:

meetbot login

…or paste a key from /account/keys:

meetbot login --token mb_live_xxxxxxxxxxxxxxxxxxxxxxxx

…or set an env var (env wins over the saved token):

export MEETBOT_API_KEY=mb_live_xxxxxxxxxxxxxxxxxxxxxxxx

The token saves to ~/.config/meetbot/token (mode 0600).

Top commands

# bots
meetbot bot dispatch <url>           # URL defaults to clipboard contents
meetbot bot get <id>
meetbot bot ls --status in_meeting
meetbot bot watch <id>               # stream status until completion
meetbot bot leave <id>               # finalize + leave
meetbot bot pause|resume|stop <id>
meetbot bot chat <id> "recording is on"

# recordings
meetbot recordings ls
meetbot recordings get <id>
meetbot recordings download <id>     # → ./meetbot-<id>/
meetbot recordings rm <id>           # GDPR-style delete

# webhooks
meetbot webhooks listen --port 4242  # forward prod webhooks to localhost
meetbot webhooks verify <sig> --body file --secret $MEETBOT_WEBHOOK_SECRET

# keys, calendar, usage, doctor
meetbot keys ls / create / revoke
meetbot calendar connect google
meetbot usage
meetbot doctor

Every command supports --help and --json. JSON mode emits one ndjson record per result on stdout — pipe to jq, xargs, etc.

Output and exit codes

ExitMeaning
0success
1user error (bad input)
2server error / network failure
3not authenticated
4quota exceeded

CI scripts can branch on these without parsing stderr.

Configuration

env vardefaultpurpose
MEETBOT_API_KEYIf set, overrides the saved token.
MEETBOT_API_BASE_URLhttps://api.meetbot.devSelf-hosted / staging override.
MEETBOT_WEB_BASE_URLhttps://meetbot.devUsed by meetbot login.
MEETBOT_API_TIMEOUT_MS30000Per-request timeout.
MEETBOT_NO_UPDATE_CHECKunset1 in CI to skip the daily version check.
MEETBOT_WEBHOOK_SECRETDefault for meetbot webhooks verify.

Use it from Claude

The same package ships a Claude Skill bundle at skill/meetbot.skill/. After npm install -g @meetbot/cli (so meetbot is on your PATH), upload the skill folder to Claude:

  1. Open claude.ai/settings/skills.
  2. Click Upload skill and select the meetbot.skill/ directory inside the installed package — typically at:
    $(npm root -g)/@meetbot/cli/skill/meetbot.skill
  3. Confirm the trigger phrases (e.g. "send a meetbot to...", "record this google meet").

Claude will then shell out to the meetbot CLI when you say things like:

  • "Have a meetbot record this Meet: https://meet.google.com/abc-defg-hij"
  • "List all my meetbots that are still in a meeting."
  • "Make the meetbot leave call 01HX9N8K and send me the recording URL when it's done."
  • "Verify this meetbot webhook signature against my secret."

Claude Code users get the skill via the package's bundled skill/ directory; no separate upload step.

CLI vs MCP — which do I use?

Both wrap the same orchestrator API.

  • Use the CLI if you want to drive meetbot from your terminal, from a shell script, from CI/CD, or from Claude (via the Skill). It's the friendliest path and the best fit for the typical AI-agent product backend.

  • Use the MCP server if you want meetbot inside an IDE-embedded coding assistant — Cursor, Windsurf, or Cline — that speaks Model Context Protocol natively but doesn't shell out.

Claude Code can use either; the Skill is preferred (richer, more robust, fewer permission prompts) but the MCP server still works.

See also

On this page