---
title: "CLI"
description: "@rumoro-dev/cli on npm. The Rumoro API in your terminal, with browser sign-in, a live mention feed and MCP setup."
canonical: https://docs.rumoro.dev/cli
markdown: https://docs.rumoro.dev/cli.mdx
---

# CLI

@rumoro-dev/cli on npm. The Rumoro API in your terminal, with browser sign-in, a live mention feed and MCP setup.

`rumoro` puts the Rumoro API in your terminal. Each endpoint is a `noun:verb` command, generated from the OpenAPI document. Three more commands, `auth:*`, `mentions:watch` and `mcp:config`, do what one request can't. It needs Node 22 or newer.

```bash
npm install -g @rumoro-dev/cli
rumoro --help
```

You can also run it without installing, as in `npx @rumoro-dev/cli mentions:search --relevant true`.

## Sign in

```bash
rumoro auth:login
```

This opens the dashboard in your browser. A workspace owner approves once. The key, named after your computer, reaches the CLI over a local port only and is saved in `~/.rumoro/config.json` (mode 600). Revoke it any time on the **API keys** page.

- `--scope read` asks for a read-only key.
- `--no-open` prints the address instead. On a remote machine, approve in any browser and run the `rumoro auth:set --key …` command the page shows.
- Members who aren't owners save a key an owner created, with `auth:set`.

There are three other ways to give the CLI a key. The first one wins.

```bash
rumoro keywords:list --api-key ref_...   # for one command
export RUMORO_API_KEY=ref_...            # in the environment, for CI
rumoro auth:set --key ref_...            # saved on this computer
```

`auth:check` shows the key's workspace and source, and `auth:logout` deletes it. To use another host, set `--api-url`, `RUMORO_API_URL` or `auth:set --url`. A key from `rumoro api-keys:create --name reports --scope read` can only run read commands.

## Commands

Each area has a page with every command and flag. See [keywords](/cli/keywords), [mentions](/cli/mentions), [people and segments](/cli/people), [alerts and channels](/cli/alerts), [analytics](/cli/analytics) and [account](/cli/account).

```bash
rumoro keywords:create --term "driftwood" --kind brand --platforms reddit,github
rumoro keywords:update kw_... --muted true
rumoro mentions:search --sentiment negative --limit 20
rumoro mentions:update mm_... --status done --note "Answered in the thread"
rumoro people:list --minFollowers 10000 --sort reach
rumoro analytics:summary --range 7d
rumoro alerts:create --name "Pricing questions" --mode instant --filter '{"intents":["pricing"]}' --channelIds dest_...
```

- Ids are positional. Everything else is a flag with the API's field name.
- Every flag takes a value, including booleans (`--muted false`).
- Lists are comma-separated, objects are JSON, and `null` clears a field that allows it (`--note null`).
- `--json '{...}'` sends a whole body, and `--json -` reads it from stdin. Flags you add override fields in it.

## Output

Output is JSON, compact when piped and indented on a terminal or with `--pretty`. `--table` prints lists in columns.

```bash
rumoro keywords:list --table
rumoro mentions:search --limit 5 | jq '.data[].post.url'
rumoro mentions:export --platform reddit --out reddit.csv
```

API errors go to stderr as the [error envelope](/errors) and exit with 1. So does an unknown option or command. An invalid value or a missing required flag exits with 2 and a `usage` error, and a missing key with 2 and `no_api_key`. CSV exports print to stdout, or go to a file with `--out`.

## Follow the feed

```bash
rumoro mentions:watch --platform github --relevant true --interval 30
```

`mentions:watch` checks the newest mentions again and again and prints each new one as a line of JSON, oldest first. It takes the filters of `mentions:search` except `--since`, `--until`, `--sort`, `--cursor` and `--limit`. `--from-start` prints the current page first.

## MCP setup

To connect an AI client to the [MCP server](/mcp), run `mcp:config`. It includes your key.

```bash
rumoro mcp:config                    # a claude mcp add command
rumoro mcp:config --client cursor    # JSON for .cursor/mcp.json
rumoro mcp:config --client vscode    # JSON for .vscode/mcp.json
```

## Restish

[Restish](https://rest.sh) is a general-purpose API command line. It can read the same OpenAPI document.

```bash
restish api configure rumoro https://api.rumoro.dev/v1/openapi.json
```
