@arenza/cli
v0.1.1
Published
Command-line interface for Arenza — run a one-shot AI visibility / GEO scan against any public domain and print a markdown report of how ChatGPT, Claude, Gemini, Perplexity, Copilot, and Grok describe the brand.
Downloads
203
Readme
arenza-cli
Command-line interface for Arenza — run a one-shot AI visibility / GEO scan against any public domain and print a markdown report of how ChatGPT, Claude, Gemini, Perplexity, Copilot, and Grok describe the brand.
Arenza is a Generative Engine Optimization (GEO) platform that measures brand visibility across the 6 major AI assistants. This CLI wraps the Arenza MCP server so you can scan a domain from the terminal, drop the result into a Slack thread, or chain it into CI to fail a build when share-of-voice drops.
Install
You usually do not need to install — just run with npx:
npx arenza-cli scan stripe.comFor frequent use install globally:
npm install -g arenza-cli
arenza scan stripe.comQuick start
# 1. set your API token (get one at https://app.arenza.ai/settings/api)
export ARENZA_TOKEN=sk_arenza_...
# 2. run a scan against any domain you have in your tenant
arenza scan stripe.com
# 3. or list your tracked brands first
arenza brands
# 4. drill into open GEO opportunities for one brand
arenza opps brand_01HZ...The scan command emits a markdown report to stdout, so you can pipe it anywhere:
arenza scan stripe.com | tee /tmp/stripe-geo.md
arenza scan stripe.com --json | jq '.overview.share_of_voice'
arenza scan stripe.com | gh issue create --title "GEO weekly: stripe.com" --body-file -Sample output
# Arenza GEO scan: Stripe (stripe.com)
Scanned: 2026-05-04T11:02:14.918Z
Region: global
## Visibility
- **Share of voice (vs tracked competitors):** 41.3%
- **Wrong claims surfaced:** 4
- **Last scan:** 2026-05-04T03:00:00Z
## Mention rate by LLM
| LLM | Mentions |
|---|---:|
| ChatGPT | 87 |
| Claude | 71 |
| Gemini | 64 |
| Perplexity | 92 |
| Copilot | 58 |
| Grok | 33 |
## Top GEO opportunities (3 of 12 open)
1. **[CRITICAL] !! wrong_claim** — Claude says Stripe Atlas costs $800; correct is $500. (claim: `clm_01HZ...`)
2. **[HIGH] ! missing_canonical_page** — No canonical page for "Stripe vs Adyen pricing 2026".
3. **[HIGH] ! listicle_gap** — Absent from Perplexity's "best payment APIs" listicle.Commands
arenza scan <domain>
Run a one-shot AI visibility scan and print a markdown report.
| Flag | Default | Purpose |
|---|---|---|
| --token <token> | $ARENZA_TOKEN | Arenza API token. |
| --endpoint <url> | https://mcp.arenza.ai/rpc | Override MCP endpoint. |
| --top <n> | 10 | How many top opportunities to surface. |
| --json | off | Emit raw JSON instead of markdown. |
arenza brands
List the brands in your authenticated tenant's portfolio.
arenza opps <brand-id>
List open GEO opportunities for a brand. Severity-coloured (critical / high / medium / low) and grouped by type (wrong_claim, missing_canonical_page, listicle_gap, discussion_seed).
Authentication
Get an API token at app.arenza.ai/settings/api and either:
- Export it:
export ARENZA_TOKEN=sk_arenza_... - Pass it per-command:
arenza scan stripe.com --token sk_arenza_...
For multi-tenant CI, prefer OAuth — the Arenza MCP server publishes its OAuth metadata at mcp.arenza.ai/.well-known/oauth-authorization-server. For OAuth-based programmatic access, see @arenza/mcp-client.
Use in CI: fail a build when SoV drops
# .github/workflows/geo-guard.yml
name: GEO guard
on:
schedule: [{ cron: '0 8 * * 1' }] # Mondays 08:00 UTC
jobs:
scan:
runs-on: ubuntu-latest
steps:
- run: |
SOV=$(npx -y arenza-cli scan stripe.com --json | jq '.overview.share_of_voice')
echo "Stripe SoV across ChatGPT/Claude/Gemini/Perplexity/Copilot/Grok = $SOV%"
test "$(echo "$SOV >= 35" | bc)" = "1" || exit 1
env:
ARENZA_TOKEN: ${{ secrets.ARENZA_TOKEN }}Use in Slack: weekly digest
Pipe the markdown directly into a Slack incoming webhook with slackcat, or post via gh issue create and let your existing Slack-issue bridge mirror it. The report is intentionally pure markdown so it renders identically in Slack, Linear, GitHub, and Notion.
Why this exists
Most "AI SEO" tools either (a) optimise web copy for crawlers without ever asking an LLM what it actually says about you, or (b) eyeball ChatGPT once and call it research. Arenza measures across all 6 assistants on a fixed cadence, surfaces specific wrong claims, and ships measurement-led prescriptions you can verify. This CLI is the easiest way to feel the difference: one command, one domain, real numbers.
If you maintain a marketing agency portfolio, see the agency dashboard guide — @arenza/cli is the scriptable cousin of that workflow.
Related projects
@arenza/mcp-client— TypeScript client this CLI is built on.arenza-mcp-client-python— Python equivalent.@arenza/langchain— Arenza tools as LangChain tools.@arenza/llamaindex— same for LlamaIndex.@arenza/vercel-ai-sdk— Vercel AI SDK provider.arenza-zapier-actions— Zapier integration manifest.- awesome-geo — curated list of GEO and AI-visibility resources.
Resources
- Arenza homepage: https://arenza.ai
- Long-form GEO guides: https://arenza.ai/guides
- AI brand reference: https://arenza.ai/llms.txt + https://arenza.ai/llms-full.txt
- MCP server: https://mcp.arenza.ai
- API methodology: https://app.arenza.ai/methodology
License
MIT (c) 2026 Arenza
