MCP server + agent skill
RivlWatch inside Claude — and any AI agent
Connect your RivlWatch account to Claude Desktop, Claude Code, or any MCP-enabled agent with one API key. Ask about rivals' live sales, read any tracked store's ad creatives, and mine your swipe file — in plain language.
Set up in 2 minutes
1 · Create an API key
In RivlWatch go to Settings → API keys → Create API key. Copy the rivl_… token — it is shown once and never again (we store only a hash).
2 · Add the server to your client
Register rivlwatch-mcp in Claude Desktop, Claude Code, or any MCP client with your key in the environment — exact config below.
3 · Just ask
“Which of my rivals sold the most today?” · “What is allbirds running on Meta right now?” · “Summarize the hooks in my Q4 Winners collection.” The AI answers from your live account.
Claude Desktop — Settings → Developer → Edit Config (claude_desktop_config.json), then restart
{
"mcpServers": {
"rivlwatch": {
"command": "npx",
"args": ["-y", "rivlwatch-mcp"],
"env": { "RIVLWATCH_API_KEY": "rivl_your_key_here" }
}
}
}Claude Code — one command
claude mcp add rivlwatch -e RIVLWATCH_API_KEY=rivl_your_key_here -- npx -y rivlwatch-mcpWhat the AI gets access to
Nine tools. Eight are strictly read-only; track_store is the single action, and it does exactly what the “Add store” button does.
| Tool | What it reads | Cost |
|---|---|---|
| whoami | Your account email, plan tier, subscription status | Free |
| list_my_stores | Your tracked stores: today’s revenue + orders, lifetime orders, product counts, brand, country | Free |
| store_creatives | One tracked store’s full Meta ads library: headline, body copy, CTA, landing page, format, days running, EU reach, media URLs | Free |
| saved_ads | Your saved-ads swipe file: collections, labels, copy, targeting, archived media, cached AI creative reads | Free |
| saved_tiktok_finds | Your saved TikTok Shop products (frozen snapshots) and monitored TikTok videos (plays since saved) | Free |
| my_top_ads | Reach-ranked creatives across your tracked stores, or the global pool; per-country ranking for EU markets | Free |
| ad_audience | One ad’s EU demographics from Meta’s DSA disclosure: gender split, age bands, top countries | Free |
| winning_creatives | The global winning-creatives discovery feed, filterable by window, format, country, AI-generated | Free |
| track_store | Starts tracking a new store on your account — the only tool that changes anything | Uses a plan store slot |
Security model
Keys are least-privilege
The raw key is shown once and stored only as a SHA-256 hash. Every request re-checks your live subscription, so a lapsed plan disables the key instantly. Revoke any key in one click from Settings → API keys (max 10 active keys).
Rate-limited by design
All key traffic on your account shares one budget — 600 requests/hour across all keys — enforced durably across our whole infrastructure. Past it, calls return HTTP 429 with Retry-After, and well-behaved agents back off automatically.
An API key can never:
- ✕ Create, list, or revoke API keys (key management is session-only, in the web app)
- ✕ Access billing, change your plan, or see payment details
- ✕ Delete or modify stores, saved ads, collections, or any account data
- ✕ Read another account’s data — every call is scoped to the key’s owner
- ✕ Trigger scraping, re-syncs, audits, or anything that spends credits
- ✕ Exceed your plan: entitlement is re-checked on every single request
The RivlWatch agent skill
Bundled with the server is a ready-made skill (rivlwatch-skill/SKILL.md) that teaches your agent the proven workflows: portfolio checks, reading a competitor's ads library, mining the swipe file for patterns, and the guardrails (never retry a 402/429 in a loop, treat daysRunning as the winner signal). Drop it into ~/.claude/skills/rivlwatch/for Claude Code — it's OpenClaw-compatible too.
Frequently asked
Ready to ask your AI about your rivals?
Create your API key in Settings, paste the config above, and start asking.