# rankcontrol

RankControl CLI + MCP server: drive your SEO/AI-visibility workspace from the terminal or any AI agent

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the package rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 0.21.0
- **Author:** Unknown
- **License:** MIT
- **npm:** rankcontrol
- **Endpoints:** streamable-http https://api.rctrl.com/mcp
- **Source:** https://github.com/rankcontrol/rankcontrol
- **Endpoint health:** reachable (last checked 2026-10-15T07:22:48.671Z, 1 sample) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the package rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-10-15T07:22:22.294Z
- **Version scanned:** 0.21.0
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `get_overview_funnel` — AI pipeline overview for the last 30 days: AI crawler hits and visits referred by AI engines.
- `get_visibility_trend` — Daily AI visibility score series across the 6 tracked AI engines, from RankControl's stored weekly citation checks.
- `list_citations` — Recent AI citation checks: which tracked queries were checked on which AI model and whether the brand was cited.
- `get_web_footprint` — Web footprint for the workspace and every competitor it tracks: how much of the web links to each domain, scored 0 to 10. A new domain scoring near zero is why 
- `get_web_total_history` — Web total history for the workspace and every competitor it tracks: each domain's monthly web total over the last 3 months, oldest month first. The web total co
- `get_visibility_score` — Composite AI visibility score for the workspace, blending AI citation rate across the tracked models with Google and Bing rank share. Returns the composite and 
- `get_setup_progress` — The workspace's expeditions on the Overview: the current expedition, each step's name and whether it is done, and the next step. Use it to help the user finish 
- `get_citability_report` — Published pages ranked by citability score (how extractable each page is for AI answers), worst first, each with its top open fixes. Use to decide which article
- `get_citation_sentiment` — How AI answers frame the brand when it's cited: positive / neutral / negative counts, daily trend, and recent answer snippets as receipts.
- `get_citation_sources` — Which domains AI engines cite when answering the brand's tracked queries, typed brand / competitive / UGC / editorial with counts and share. Shows where citatio
- `get_share_of_voice` — Share of voice vs competitors: the brand's citation rate, top competitor mention rates, and the brand's share of all brand appearances in AI answers over the wi
- `list_tracked_queries` — The workspace's tracked queries — the questions RankControl checks weekly across the 6 AI engines for brand citations — with their status and, for each tracked 
- `get_query_slots` — Tracking slots in use and the plan's limit, as Query Control shows them (18/50 tracked).
- `get_crawler_access` — Daily AI-crawler reachability probe result — a DIAGNOSTIC, not a traffic metric: whether the site's edge (e.g. Cloudflare Bot Fight Mode) or robots.txt blocks G
- `get_analytics_sources` — Per-workspace analytics source setup: the selected writer for human traffic and AI-crawler data, which sources the setup qualifies for, and install state (Cloud
- `set_analytics_source` — Select the active writer for a data type. Validated server-side against what the customer's setup supports. Switching aiCrawlers to cloudflare starts a backfill
- `activate_analytics_screen` — Turn on the Analytics or Reports screen for this workspace (they ship disabled; activation is one-time per screen).
- `get_cloudflare_connect_url` — OAuth URL to connect read-only Cloudflare analytics (AI-crawler data source). Open it in a browser; the grant is scoped to Analytics:Read.
- `list_cloudflare_zones` — Cloudflare zones visible to the connected grant, for picking which zone to poll.
- `select_cloudflare_zone` — Pick the Cloudflare zone to poll. A crawler source already set stays; Cloudflare becomes the source only when none is set, and its first sync backfills up to 7 
- `install_framer_embed` — Install site-wide visit tracking on the connected Framer project via its custom-code API. Dry run unless confirm is true. Confirming ALSO PUBLISHES the customer
- `install_webflow_custom_code` — Register and apply the tracking loader via Webflow's Custom Code API. Dry run unless confirm is true. Needs a site token with CMS + Custom code scopes (pass api
- `add_tracked_query` — Add a query. Weekly AI citation checks start immediately when a tracking slot is free; otherwise it is saved untracked. Pass coveredByContentId when the query i
- `hide_content_idea` — Hide an idea from Content Ideas. A tracked query keeps its weekly checks and its slot; use remove_tracked_query to delete a query outright.
- `get_insights` — List Insights: what to work on next on the workspace's own site: its product and service pages, searches Google shows it for that no page is about, and problems
- `hide_insight` — Hide an Insights item the person doesn't want. It moves under Done as Hidden and does not come back. Item ids come from get_insights.
- `move_insight_to_ideas` — Move a Search Console item (a search Google shows the site for, but no page is about) to Content Ideas: the Insights item's "Move to Content Ideas". The search 
- `plan_insight_articles` — Plan articles that link to one of the person's product or service pages: the Insights item's "Plan 3 articles that link here". Up to 3 articles about the page's
- `remove_tracked_query` — Delete a query. Frees its tracking slot if it was tracked.
- `set_query_tracking` — Pause or resume weekly AI citation checks on a saved query. Tracking uses one of the plan's tracking slots; pausing frees it. The query is kept either way.
- `update_tracked_query` — Rewrite a tracked query's text. Future weekly checks use the new text.
- `get_competitors` — Tracked competitors used in share-of-voice and visibility comparisons, with each one's AI visibility score, citations of checks over the last 30 days, domain me
- `add_competitor` — Track a competitor (max 10). They enter weekly share-of-voice comparisons against the org's own citation rate. Omit websiteUrl to have the site resolved from th
- `remove_competitor` — Stop tracking a competitor.
- `get_topics` — The workspace's topics. Tracked queries, content ideas and planned articles all group under these.
- `set_topics`
- `delete_planned_title`
- `get_traffic_overview`
- `get_rankings`
- `get_planning_capacity`

## Install

**Verdict: review** — Installable, but 1 thing to check first: No publisher has proved control of this listing; it is indexed, not vouched for.
**Cautions** (coverage gaps and advisories — never blocking)
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"rankcontrol\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"rankcontrol\"\n      ],\n      \"env\": {\n        \"RANKCONTROL_API_KEY\": \"<YOUR_RANKCONTROL_API_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `RANKCONTROL_API_KEY` — Rankcontrol API Key (optional)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 1 credential (0 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Critical blast radius — deletes data; runs locally and hosted.
- Floor 61, ceiling 61 (tier: critical)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/rankcontrol
- Install plan: https://forgeregistry.com/api/v1/packages/rankcontrol/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/rankcontrol
- HTML page: https://forgeregistry.com/registry/rankcontrol
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
