Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

RankControl

NPM · RANKCONTROL · 2 COMPONENTS

Plan, write and publish SEO articles on your own site, and track your Google and AI search traffic.

66 Trust /100

Last scanned (4 hours ago)

Scores higher than 38% of npm servers

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 94 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 6938 tokens (~67/item across 103 items; 103 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 48% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_tracked_query" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 103 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 14 Oct 26 66

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Oct 2026 · Analysed npm/rankcontrol@0.19.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 94 packages
Packages resolved 94
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 103 exposed · ~6,938 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activate_analytics_screen ~39

Turn on the Analytics or Reports screen for this workspace (they ship disabled; activation is one-time per screen).

NameTypeReqDescription
screenstringyes–

No output schema declared.

No examples provided.

add_brand_guideline ~78

Add a brand guideline the writer follows in every article, as Brand Control, Writing, Brand Guidelines does: its type (tone, terminology, topic, style or factual), what to avoid and what to write instead (300 characters each).

NameTypeReqDescription
avoidstringyes–
insteadstringyes–
typestringyes–

No output schema declared.

No examples provided.

add_competitor ~78

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 the name.

NameTypeReqDescription
namestringyesCompetitor name
websiteUrlstring–Competitor website URL (optional; resolved from the name when omitted)

No output schema declared.

No examples provided.

add_site_pages ~44

Add site page URLs for internal linking. Duplicates and articles RankControl published are skipped; page titles fill in automatically in the background.

NameTypeReqDescription
urlsarrayyes–

No output schema declared.

No examples provided.

add_tracked_query ~96

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 is one of that article's question headings, so Content Ideas does not offer it again.

NameTypeReqDescription
coveredByContentIdstring–contentPage id of the article that already answers this query
queryTextstringyesThe search/AI query to track

No output schema declared.

No examples provided.

archive_content ~66

Archive an article: it moves to the Archived tab and RankControl stops refreshing it. The published post stays live on your site; remove it there separately to take it down. It can't be restored. Refused while the article is still being written.

NameTypeReqDescription
contentIdstringyes–

No output schema declared.

No examples provided.

cancel_outreach_email ~56

Cancel a queued outreach email (a first email, a reply or a follow-up) before it sends. Refused once it has gone out.

NameTypeReqDescription
backlinkIdstringyesProspect id from list_outreach_prospects

No output schema declared.

No examples provided.

commit_planned_titles ~73

Approve reviewed titles onto the content calendar (the approval half of the plan→commit gate). Pass rejected candidates in `discarded` so their keywords recycle into Content Ideas.

NameTypeReqDescription
discardedarray–Rejected candidates
runIdstring––
titlesarrayyesTitles to schedule

No output schema declared.

No examples provided.

confirm_brand_reviewed ~34

Mark the brand as reviewed: the Confirm your brand step of Expedition I, as the Overview's Mark reviewed button does.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

contact_support ~106

Send a message or bug report to the RankControl team (emails support with the workspace identified; the org owner is set as reply-to). Use when an API call errors unexpectedly or data looks wrong — include the failing request, ids, and what you expected. Capped at 3/min.

NameTypeReqDescription
messagestringyesDetails: what happened, errors, ids, steps to reproduce
pageUrlstring–Related dashboard or API URL
subjectstringyes–

No output schema declared.

No examples provided.

delete_planned_title ~62

Remove a planned title from the content calendar. The title's keyword returns to Content Ideas as a saved query, so the topic is not lost. Only planned rows qualify; use archive for generated articles.

NameTypeReqDescription
contentIdstringyesPlanned contentPage id

No output schema declared.

No examples provided.

detect_site_links ~95

Scan the customer's sitemap (nested indexes handled) or crawl a blog root page and return same-site page URLs, minus the articles RankControl published (those are linked already). The source is remembered and re-read daily. Costly (3/min); review the URLs, then call add_site_pages with the keepers.

NameTypeReqDescription
sourcestringyes–
urlstringyesSitemap XML URL or a page URL to crawl

No output schema declared.

No examples provided.

draft_brand_icp ~146

Draft one buyer profile from a one-sentence description or a suggestion from suggest_brand_icps. Returns the fields to review; nothing is saved until write_brand_icp. Fields passed in given are kept as written.

NameTypeReqDescription
describestring–Who the audience is, in one sentence
givenobject–Fields to keep as written (same keys as write_brand_icp, plus ageRange, seniority, department as strings). A key you pass is kept, empty included; a key you leave out is filled.
titlestring–Title of a suggestion from suggest_brand_icps
whostring–The suggestion's one-line description

No output schema declared.

No examples provided.

draft_outreach_reply ~73

AI-draft the next reply to a prospect who answered (status replied or rejected; auto-replies don't count). Returns subject and body only. Nothing sends: pass that subject and body to queue_outreach_email to send it.

NameTypeReqDescription
backlinkIdstringyesProspect id from list_outreach_prospects

No output schema declared.

No examples provided.

draft_social_reply ~74

AI-draft a reply for a social thread. Nothing posts — the draft lands on the thread for human review. Subject to the same warm-up/pacing guards as the dashboard.

NameTypeReqDescription
mentionModestring–Brand-mention mode; warm-up accounts are clamped to none
threadIdstringyes–

No output schema declared.

No examples provided.

find_outreach_contact ~51

Find an outreach email for one prospect site. Returns the stored contact or found:false. Capped at 5/min.

NameTypeReqDescription
backlinkIdstringyesProspect id from list_outreach_prospects

No output schema declared.

No examples provided.

generate_article ~125

Write a PLANNED article's body immediately instead of waiting for the scheduled pipeline (generate-only: its publish slot is unchanged). Allowed for past-due slots and up to 3 days ahead, and at most 5 articles in any 24 hours (the dry run reports withinDailyLimit and nextWriteAt). Defaults to a DRY RUN; a human should approve before calling again with confirm=true since generation is costly.

NameTypeReqDescription
confirmboolean–Set true to actually start generation (default: dry run)
contentIdstringyesThe planned content page id

No output schema declared.

No examples provided.

generate_repurpose_drafts ~70

Draft platform-native social posts for all eight platforms from a published article. Only for an article with no drafts yet; edit existing drafts in the dashboard. Defaults to a DRY RUN; confirm=true generates (costly).

NameTypeReqDescription
confirmboolean––
contentIdstringyes–

No output schema declared.

No examples provided.

get_agent_activity ~63

Recent pipeline runs per agent lane (brand control, radar, forge, recon, deploy, outreach, sentinel, social).

NameTypeReqDescription
perAgentnumber–Runs per lane, default 15
sinceDaysnumber–Window in days, default 30

No output schema declared.

No examples provided.

get_analytics_sources ~65

Per-workspace analytics source setup: the selected writer for human traffic and AI-crawler data, which sources the setup qualifies for, and install state (Cloudflare zone/sync, WordPress plugin version, embed liveness). Both Analytics and Reports screens ship disabled until activated.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_article_settings ~72

The workspace article policy: per-article defaults (auto-write, auto-publish, images, title-in-hero, section infographics, Related Reading, YouTube, emojis, link counts, global instructions) plus the flexible-scheduling flag. News and trending articles always publish manually, regardless of auto-publish.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_backlink_stats ~29

Backlink totals (live, lost, avg DA, unique domains) plus outreach pipeline counts.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_billing ~58

This workspace's billing as Settings, Billing shows it: status (trial, active or cancelling), billing cycle, next charge, add-ons, usage against the plan's limits and recent payments. Read-only; changes are made in Settings, Billing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_brand ~53

The workspace's brand data in one read: brand profile (voice, colors, meta), links/CTAs, products, buyer profiles (ICPs) and brand guidelines. This is the context RankControl's writers use.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_citability_report ~60

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 articles to improve.

NameTypeReqDescription
limitnumber–Max rows, default 25

No output schema declared.

No examples provided.

get_citation_sentiment ~52

How AI answers frame the brand when it's cited: positive / neutral / negative counts, daily trend, and recent answer snippets as receipts.

NameTypeReqDescription
daysnumber–Window in days, default 30

No output schema declared.

No examples provided.

get_citation_sources ~59

Which domains AI engines cite when answering the brand's tracked queries, typed brand / competitive / UGC / editorial with counts and share. Shows where citation presence must be earned.

NameTypeReqDescription
daysnumber–Window in days, default 30

No output schema declared.

No examples provided.

get_cloudflare_connect_url ~42

OAuth URL to connect read-only Cloudflare analytics (AI-crawler data source). Open it in a browser; the grant is scoped to Analytics:Read.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_competitors ~46

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 metrics and positioning analysis.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_content_ideas ~48

Scored content-idea backlog: uncovered tracked queries ranked by citation gaps, competitor citations, trending topics, and quick-win rankings. Each idea carries a suggested title and winnability metrics.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_crawler_access ~78

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 GPTBot/ClaudeBot. 'shielded' means browsers and bots are both challenged (site-wide shield, ambiguous for real, signed crawlers).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_exec_summary ~42

Executive report: last 30 days vs the 30 before — cite rate, citations, page views, AI-referred views, crawler hits, and articles published.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_help_page ~80

RankControl's help pages: setup guides for each publishing destination, the crawler and its IP address, AI crawler access, the API, CLI and MCP, getting started, and the plan and pricing. Without a page, lists the pages.

NameTypeReqDescription
pagestring–Page slug, such as nextjs, bot, wordpress or plan-and-pricing

No output schema declared.

No examples provided.

get_internal_links ~63

How the workspace's articles interlink: how many published articles link TO this page (with the source list) and how many internal links it sends out. Recorded from the real injected links at publish render time.

NameTypeReqDescription
contentIdstringyesThe content page id

No output schema declared.

No examples provided.

get_link_network ~36

Editorial Circle state: credit balance/earn/spend, membership (optedIn), and hosted/received placements with partners and anchors.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_outreach_stats ~93

Outreach funnel for the last 90 days by how each prospect was found (intersection = competitor linkers, footprint = resource pages, mention = topical mentions, fresh = fresh competitor links, brand_mention = brand mentions, legacy = earlier rows): prospects, sent, replied and placed with reply and placement rates per send, plus the total. The harvest reads the same numbers to weight its methods; nothing to configure.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_overview_funnel ~31

AI pipeline overview for the last 30 days: AI crawler hits and visits referred by AI engines.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_page_engagement ~34

Per-page engagement for the last 30 days: views, AI citations, and a view sparkline per published page.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_planning_capacity ~32

How many article titles can still be planned onto the content calendar within the scheduling horizon. Check before plan_content.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_query_slots ~30

Tracking slots in use and the plan's limit, as Query Control shows them (18/50 tracked).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_rankings ~131

Verified Google and Bing positions per keyword (top 30), with Search Console clicks, impressions and average position when connected (gscPosition is an average over the searches you appeared in, never a rank), which page earned each query and whether it is one of your articles (isOurs), and how often Google's AI Overview shows above each keyword and cites one of your pages (a rate over the last 8 weekly checks). Defaults to queries your published articles appear for.

NameTypeReqDescription
scopestring–"ours" (default): queries your published articles appear for. "site": everything on the domain.

No output schema declared.

No examples provided.

get_repurpose_drafts ~66

Full social drafts (title, body, images, status) for one published article across the 8 platforms (LinkedIn, X/Twitter, Pinterest, Instagram, Facebook, Threads, YouTube, TikTok).

NameTypeReqDescription
contentIdstringyesThe content page id

No output schema declared.

No examples provided.

get_setup_progress ~47

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 setting up.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_share_of_voice ~57

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 window.

NameTypeReqDescription
daysnumber–Window in days, default 30

No output schema declared.

No examples provided.

get_social_stats ~14

Social thread pipeline counts.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_team ~27

Workspace members and pending invites, with each member's per-screen permission matrix and the seat cap.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_top_wins ~39

Biggest wins of the last 30 days: most-cited page, best query cite-rate jump, biggest Google ranking climb, best new backlink.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_topics ~27

The workspace's topics. Tracked queries, content ideas and planned articles all group under these.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_traffic_overview ~53

Traffic overview from RankControl's own page analytics: total page views, unique visitors, sessions, bounce rate, and average time on page.

NameTypeReqDescription
daysstring–Window in days, default 30

No output schema declared.

No examples provided.

get_visibility_score ~58

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 the score of each part: AI citations, Google and Bing (the AI part includes a per-model breakdown).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the RankControl MCP server?

RankControl runs locally as an npm package, launched with npx -y rankcontrol. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · rankcontrol

# add to Claude Code
claude mcp add rankcontrol-rankcontrol -- npx -y rankcontrol
Common questions

What is the RankControl MCP server?

RankControl is an MCP server listed in the public MCP registry as io.github.rankcontrol/rankcontrol. Plan, write and publish SEO articles on your own site, and track your Google and AI search traffic. This page covers its npm package (rankcontrol).

Is the RankControl MCP server safe to use?

RankControl scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the RankControl MCP server expose?

RankControl exposes 103 tools: get_overview_funnel, get_visibility_trend, list_citations, get_web_footprint, get_web_total_history, and 98 more. Their descriptions and schemas cost roughly 6,938 tokens of context every time the server is loaded.

Is the RankControl MCP server still maintained?

RankControl is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the RankControl MCP server under?

RankControl declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.