mentionwell-cli
v0.3.3
Published
CLI for Mentionwell — browser login, full API access (sites, posts, headlines, jobs), framework auto-wire, and webhook verification.
Maintainers
Readme
mentionwell-cli
CLI for Mentionwell. Browser-based login, full API control over every site/post/headline/image, framework auto-wire, and end-to-end webhook verification. Pair it with the MCP server to drive Mentionwell from Claude / Cursor / ChatGPT.
Always invoke the CLI with
npx mentionwell-cli@latest. That guarantees you get the newest commands and bugfixes without managing a global install. Every example in these docs usesnpx. If you'd rather install once withnpm i -g mentionwell-cli, drop the prefix and usementionwell ….
Quick start
# Authorize the CLI on this machine (browser device flow):
npx mentionwell-cli@latest login
# Pick which site to work on:
npx mentionwell-cli@latest sites list
npx mentionwell-cli@latest use <slug>
# See the world:
npx mentionwell-cli@latest whoami
npx mentionwell-cli@latest dashboard
npx mentionwell-cli@latest posts listConnect a destination repo
# In the repo you want to wire up to Mentionwell:
npx mentionwell-cli@latest init # detects Next.js / Astro / Nuxt / SvelteKit / Remix
# paste real keys into .env.local from app.mentionwell.com/sites/<slug>/integration
npx mentionwell-cli@latest verify # confirms read auth + signed webhook pinginit writes the framework's webhook route with raw-body HMAC verification
and timing-safe signature comparison, then verify sends a signed ping so you
can catch bad env vars before publishing.
What you can do
Auth & site selection
login/logout/whoamiuse <slug>— set the default site (so you don't pass it every time)--site <slug>— per-command override
Sites
sites list/get/create/update/deletesites integration <slug>— API key + webhook secretsites verify-webhook <slug>— signed test ping
Posts
posts list/get/publish/unpublish/deleteposts update [--title …] [--meta-title …] [--meta-description …] [--excerpt …] [--image <file|url>] [--regenerate-image]posts rerender— strip cruft from already-published HTMLposts regenerate-image(single) /posts regenerate-images(bulk, with--watch/--dry-run)posts pull <slug> [--out ./post.md]— markdown round-trip outposts push <slug> --from ./post.md— round-trip backposts new --from ./post.md— create a fresh post from a markdown file
Style / images
style get— current brand colors + image promptstyle set --colors "#0F172A,#FFD23F" --prompt "…"style optimize [--prompt …] [--colors …] [--apply]— AI-tuned promptstyle preview— one-off preview image URL
Headlines / drafts
headlines list/generate/add/approve/reject/schedule/deletedraft <headlineId> [--geo]— generate an article from a headline
GEO / AI search visibility
geo capabilities— supported enginesgeo analyze "<prompt>" [--engines chatgpt,perplexity] [--brand B] [--wait]geo analyses/geo get <id>geo sov— share-of-voice for a sitegeo scan/geo scansgeo prompts list/geo prompts add "<prompt>"geo citations
Jobs / queue
jobs list/get/cancel/clearjobs watch [<id>…]— live SSE stream
Account
dashboard/usagetokens list/create <name> [--scopes …]/revoke <id>export [--out ./dump.json]— full account JSON dumpopen [<slug>|billing|tokens|docs]— open a Mentionwell URL in your browser
Imports
import <feed-url>— RSS / wp-json / Ghost
Universal escape hatch
api <METHOD> <PATH> [--query k=v …] [--header "X: v" …] [--json '{…}']Anything in the API that isn't yet wrapped — and any future endpoint — is reachable through this one command.
Auth model
login opens your browser, authorizes the CLI on
app.mentionwell.com, and saves a personal
access token to ~/.config/mentionwell/auth.json (chmod 600). Multiple
profiles supported via MENTIONWELL_PROFILE. CI/scripts can skip the
browser flow with MENTIONWELL_API_KEY=mw_pat_….
Interactive login requests the standard CLI scope set by default:
sites:read, sites:write, articles:read, citations:read, scans:read,
sov:read, and bot-crawls:read. Pass --scopes a,b only when you want a
narrower token.
MCP parity
Every CLI command is exposed via the MCP server in
packages/mcp-account so Claude / Cursor / ChatGPT can drive
Mentionwell with the exact same surface and the exact same auth
(personal access tokens). If a thing works in the CLI, it works in MCP.
