New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

rankcontrol

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rankcontrol

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

latest
npmnpm
Version
0.26.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

rankcontrol

RankControl from the terminal or any AI agent. One package, two faces:

  • CLI — npx rankcontrol <command> (or the short alias rctrl once installed)
  • MCP server — npx rankcontrol mcp (stdio, for Claude Code, Claude Desktop, Cursor, Codex)

Every command calls the same authed, rate-limited, org-scoped API the RankControl dashboard uses. Quotas and approval gates apply server-side no matter which client calls.

Auth

The easy way (browser approval; you must be logged in to RankControl):

npx rankcontrol login

That opens your dashboard, you check the confirmation code matches and approve. The CLI stores a key in ~/.rankcontrol/config.json. npx rankcontrol logout removes it (revoke the key itself in Settings → API).

The headless way (CI, servers, MCP env blocks): create a key in RankControl → Settings → API, then:

export RANKCONTROL_API_KEY=rctrl_pk_...

The env var wins over the stored config when both exist. Scopes are set per key; read-only keys work for all get_*/list_* tools.

CLI

# Visibility and citations
npx rankcontrol funnel                 # AI crawls / AI visits (30d)
npx rankcontrol score                  # composite visibility score + subscores (AI/Google/Bing)
npx rankcontrol visibility --days 60   # daily AI visibility score trend
npx rankcontrol sov --days 30          # share of voice vs competitors
npx rankcontrol web-totals             # monthly web total for you + competitors, last 3 months
npx rankcontrol footprint              # web footprint (0-10) for your domain and every competitor you track
npx rankcontrol sources --days 30      # cited domains typed brand/competitive/ugc/editorial
npx rankcontrol sentiment --days 30    # how AI answers frame your brand
npx rankcontrol citations --model chatgpt
npx rankcontrol crawler-access         # can AI crawlers reach your site (daily probe)
npx rankcontrol optimizer              # published pages ranked by citability score, worst first, with their open fixes
npx rankcontrol queries                # tracked queries, each with how many of the 6 engines cite it
npx rankcontrol query-slots            # tracking slots in use and the plan's limit
npx rankcontrol query-add "best crm for agencies"
npx rankcontrol query-add "Do luggage trackers work abroad?" --covered-by <contentId>  # an article already answers it
npx rankcontrol query-edit <queryId> "new text"
npx rankcontrol query-track <queryId> off      # pause weekly checks (frees a slot)
npx rankcontrol query-remove <queryId>
npx rankcontrol competitors
npx rankcontrol competitor-add "Acme"                 # site resolved from the name; pass a URL to override
npx rankcontrol competitor-remove <competitorId>

# Content pipeline
npx rankcontrol capacity               # remaining content-plan slots
npx rankcontrol content                # pages with status
npx rankcontrol plan-content                 # the next batch (dry run)
npx rankcontrol plan-content --confirm       # add it to the calendar
npx rankcontrol plan-content --topics "Travel insurance" --subject "ski trips"
npx rankcontrol commit-titles --file titles.json
npx rankcontrol remove-title <titleId>       # waits for the workspace owner
npx rankcontrol ideas                  # scored content-idea backlog
npx rankcontrol idea-hide <queryId>    # hide an idea; a tracked query keeps its checks
npx rankcontrol insights               # what to work on next on your own pages
npx rankcontrol insight-plan <itemId> --confirm # plan 3 articles that link to the page
npx rankcontrol plan-idea "query text" # put an idea on the calendar
npx rankcontrol delete-planned <contentId>     # its keyword returns to Content Ideas
npx rankcontrol generate <contentId> --confirm # write a planned article now
npx rankcontrol write --next 4 --publish --confirm  # write and publish the next 4, one after another
npx rankcontrol write-runs             # each article's state in recent write runs
npx rankcontrol write-stop <runId>     # stop a write run
npx rankcontrol publish <contentId> --confirm  # dry run without --confirm
npx rankcontrol archive <contentId>
npx rankcontrol reschedule <contentId> 2026-08-04
npx rankcontrol article-set <contentId> --length long
npx rankcontrol settings               # article policy (auto-write, auto-publish, images, ...)
npx rankcontrol settings-set --auto-generate off --auto-publish off
npx rankcontrol topics                 # pillar list (topic clusters)
npx rankcontrol topics-set "Topic A" "Topic B"  # replaces the FULL list; up to 20 topics
npx rankcontrol internal-links <contentId>     # who links here / links out
npx rankcontrol site-pages             # pages used for internal links
npx rankcontrol detect-links https://example.com/sitemap.xml
npx rankcontrol add-pages https://example.com/pricing
npx rankcontrol site-page-linking <pageId> off
npx rankcontrol site-page-remove <pageId>

# Analytics
npx rankcontrol traffic --days 30      # page views, visitors, bounce rate, time on page
npx rankcontrol traffic --scope site   # the whole site from Google Analytics, when connected
npx rankcontrol rankings               # Verified Google + Bing positions, GSC clicks/impressions/average, AI Overview rate per keyword (--scope ours|site)
npx rankcontrol google-vs-ai           # Every tracked question: its place in Google's top 30 beside whether each AI engine mentioned or cited you
npx rankcontrol engagement             # per-page views, citations, sparkline
npx rankcontrol analytics-sources      # which source writes traffic/crawler data
npx rankcontrol analytics-set-source <dataType> <source>
npx rankcontrol analytics-activate <screen>

# Reports
npx rankcontrol report                 # exec summary: last 30 days vs the 30 before
npx rankcontrol wins                   # biggest wins of the last 30 days
npx rankcontrol agent-activity         # recent runs per agent lane
npx rankcontrol jobs                   # async job status

# Backlinks and outreach
npx rankcontrol backlinks --status live
npx rankcontrol backlink-stats
npx rankcontrol outreach-prospects
npx rankcontrol outreach-stats
npx rankcontrol outreach-find-contact <backlinkId>
npx rankcontrol outreach-draft-reply <backlinkId>
npx rankcontrol outreach-queue <backlinkId> --confirm   # sends from YOUR mailbox
npx rankcontrol outreach-status <backlinkId> <status>
npx rankcontrol outreach-cancel <backlinkId>
npx rankcontrol network                # Editorial Circle credits + placements
npx rankcontrol network-opt-in on --confirm
npx rankcontrol network-remove-placement <placementId> --confirm

# Social and repurposing
npx rankcontrol repurpose [contentId]  # published articles + social drafts (8 platforms)
npx rankcontrol repurpose-generate <contentId> --confirm
npx rankcontrol repurpose-edit <draftId> --title "New hook"
npx rankcontrol repurpose-channels     # Postiz and Buffer channel ids
npx rankcontrol repurpose-push <draftId> --channels <id> --confirm            # --scheduler postiz|buffer when both are connected
npx rankcontrol repurpose-mark-posted <draftId>
npx rankcontrol social                 # Reddit/X threads where your articles fit
npx rankcontrol social-stats
npx rankcontrol social-status <threadId> skipped
npx rankcontrol social-draft-reply <threadId>
npx rankcontrol social-open <threadId> [--text "<edited reply>"]
npx rankcontrol social-x-handle <handle|clear>
npx rankcontrol social-reddit-profile --karma 1240 --age over2yr --goal "..." --story "..." --tone "..."

# Brand, team, workspace
npx rankcontrol brand                  # brand profile, products, ICPs and brand guidelines in one read
npx rankcontrol expedition             # the expeditions on the Overview: each step's name, whether it is done, and the next step
npx rankcontrol brand-set --industry "Software & Technology"    # name, industry, description, authors, style refs, --aliases / --not-us for brand mentions
npx rankcontrol brand-profile-set --json '{"tone":"conversational"}'
npx rankcontrol brand-product --json @product.json
npx rankcontrol brand-icp --json @icp.json
npx rankcontrol icp-suggest                    # up to 8 audiences for this site; saves nothing
npx rankcontrol icp-draft --describe "Ops leads at 50-500 person logistics firms"  # one profile to review; save with brand-icp
npx rankcontrol team
npx rankcontrol team-invite user@company.com --perms content=write,analytics=read --confirm
npx rankcontrol team-revoke <invitationId>
npx rankcontrol team-remove <memberId> --confirm
npx rankcontrol support "Subject" --message "..."
npx rankcontrol help-page nextjs       # a help page; without a page, list the pages
npx rankcontrol guides "how do I get cited by ChatGPT"  # search the guides on RankControl's blog
npx rankcontrol billing                # billing as Settings, Billing shows it (read-only)

# Integration helpers
npx rankcontrol cloudflare-connect     # OAuth URL for read-only crawler analytics
npx rankcontrol cloudflare-zones
npx rankcontrol cloudflare-zone <zoneId> <zoneName>
npx rankcontrol framer-install-embed --confirm
npx rankcontrol webflow-custom-code --confirm

MCP

Claude Code:

claude mcp add rankcontrol --env RANKCONTROL_API_KEY=rctrl_pk_... -- npx rankcontrol mcp

Or in .mcp.json / Cursor mcp.json:

{
  "mcpServers": {
    "rankcontrol": {
      "command": "npx",
      "args": ["rankcontrol", "mcp"],
      "env": { "RANKCONTROL_API_KEY": "rctrl_pk_..." }
    }
  }
}

Tools (80+)

Visibility and citations

ToolWhat it does
get_overview_funnelAI crawls / AI visits, last 30 days
get_visibility_scoreComposite score blending AI citations with Google and Bing rank share, with subscores
get_visibility_trendDaily visibility score from stored weekly citation checks
get_share_of_voiceYour citation rate vs competitor mention rates + your share
get_web_total_historyMonthly web total for you and each competitor, last 3 months
get_web_footprintWeb footprint for the workspace and every competitor it tracks: how much of the web links to each domain, scored 0 to 10
get_citation_sourcesCited domains typed brand / competitive / UGC / editorial
get_citation_sentimentPositive / neutral / negative framing with recent receipts
get_citability_reportPublished pages by citability score, worst first, with fixes
list_citationsRecent citation checks per AI model
get_crawler_accessDaily AI-crawler reachability probe (edge blocks, robots.txt)
list_tracked_queriesThe queries checked weekly across the AI engines
get_query_slotsTracking slots in use and the plan's limit
add_tracked_query / update_tracked_query / set_query_tracking / remove_tracked_queryManage the query pool and its plan slots
hide_content_ideaHide an idea from Content Ideas; a tracked query keeps its weekly checks and its slot
get_insightsAction Items: what to work on next on your site (product and service pages, searches no page is about, problems across the whole site), with each item's evidence, suggested fix and action
plan_insight_articlesPlan up to 3 articles that link to an action item's page (dry run until confirm)
hide_insightHide an action item; it moves under Done as Hidden and does not come back
move_insight_to_ideasMove a search no page is about from Action Items to Content Ideas, tagged Search Console; the item moves under Done
get_competitors / add_competitor / remove_competitorManage share-of-voice competitors (max 10)

Content pipeline

ToolWhat it does
get_planning_capacityRemaining calendar slots (check before planning)
plan_contentThe next batch of titles, or this week's news with news: true. Dry run until confirm: true.
commit_planned_titlesAdd reviewed titles from a planning run (runId)
remove_batch_titleRemove a title from the next batch or this week's news for good (waits for the owner)
get_content_ideas / plan_content_ideaScored idea backlog; put an idea on the calendar
delete_planned_titleRemove a planned title (returns to the idea pool)
generate_articleWrite a planned article's body now; dry run by default
write_articlesWrite the next planned articles (or the ones named) one after another, publishing each when asked; dry run by default
get_write_runs / stop_write_runEach article's state in recent write runs; stop a run
publish_contentDry run by default; confirm: true publishes to the CMS
update_article_metaChange a written article's title, meta title or meta description; dry run by default
archive_contentArchive an article (reversible in the dashboard)
reschedule_articleMove a planned article to another day (flexible schedule)
update_planned_articleChange a planned article's own settings before it is written: length, tone, image style and custom instructions. Locked once writing starts.
get_article_settings / update_article_settingsRead / merge-patch the article policy
get_topics / set_topicsRead / replace the pillar list (full-list replace, up to 20 topics)
get_internal_linksWho links to this article internally, and its outbound count
list_site_pages / add_site_pages / detect_site_linksPages used for in-article internal links
set_site_page_linkingTurn linking to a site page on or off. Off keeps the page in your list, but articles published after this don't link to it.
remove_site_pageRemove a page from your site pages. Articles published after this don't link to it, and scans don't add it back; add_site_pages adds it again.
list_contentContent pages with status

Analytics

ToolWhat it does
get_traffic_overviewPage views, visitors, sessions, bounce rate, time on page; scope: "site": the whole site from Google Analytics
get_rankingsVerified Google and Bing positions per keyword, Search Console clicks, impressions and average position (never shown as a rank), which page earned each query and whether it is yours, how often Google's AI Overview shows and cites you; scope ours (default) or site
get_google_vs_aiEvery tracked question with its place in Google's top 30 from the weekly rank check, beside each of the six AI engines' latest check of it (cited, mentioned or none). Each row has a state: both, google (ranks on Google, no engine mentions or cites you), ai, neither, or pending (not checked yet). The same rows as Analytics' Google vs AI tab.
get_page_engagementPer-page views, citations, and a view sparkline
get_analytics_sources / set_analytics_sourceWhich source writes traffic and crawler data
activate_analytics_screenOne-time activation of the Analytics or Reports screen

Reports

ToolWhat it does
get_exec_summaryLast 30 days vs the 30 before: cite rate, views, crawls
get_top_winsMost-cited page, best cite-rate jump, biggest ranking climb
get_agent_activityRecent pipeline runs per agent lane
list_jobsAsync job status (agent runs)

Backlinks and outreach

ToolWhat it does
list_backlinks / get_backlink_statsBacklink table and totals
list_outreach_prospects / get_outreach_statsOutreach pipeline per published article, with Domain Rating
find_outreach_contactScrape a prospect site for an outreach email
draft_outreach_replyAI-draft the next reply in a live conversation
queue_outreach_emailQueue an email from the workspace's own mailbox
cancel_outreach_emailCancel a queued outreach email (a first email, a reply or a follow-up) before it sends. Refused once it has gone out.
update_outreach_statusMove a prospect through the pipeline
get_link_networkCredit balance, membership, placements
set_link_network_opt_in / remove_network_placementJoin/leave, retire placements; dry run by default

Social and repurposing

ToolWhat it does
list_repurpose_queue / get_repurpose_draftsPublished articles + social drafts (8 platforms)
generate_repurpose_drafts / update_repurpose_draftDraft and edit platform-native posts
list_postiz_channels / push_repurpose_draftPush to Buffer or Postiz; dry run by default
mark_repurpose_postedRecord a draft as posted manually
list_social_threads / get_social_statsReddit/X threads where your articles fit
update_social_thread_status / draft_social_reply / open_social_thread / set_social_x_handle / set_reddit_profileWork a thread: draft, then open it to post yourself (X gets a pre-filled composer link); the thread marks itself Posted once your reply is found. Drafts never auto-post; Posted is never set by hand

Brand, team, workspace

ToolWhat it does
get_brandBrand profile, links/CTAs, products, ICPs and brand guidelines in one read
get_setup_progressThe workspace's expeditions on the Overview: the current expedition, each step's name and whether it is done, and the next step
confirm_brand_reviewedMark the brand as reviewed
add_brand_guidelineAdd a brand guideline
set_brand_guideline_activeTurn a brand guideline on or off
remove_brand_guidelineDelete a brand guideline
update_brand_identityName, industry, description, authors (EEAT bylines), style refs
update_brand_profileVoice, colors, locale, scheduling, the Local business switch
write_brand_product / write_brand_icpCreate/update/delete products and buyer profiles
suggest_brand_icps / draft_brand_icpSuggest audiences for this site and draft one buyer profile to review; nothing is saved until write_brand_icp
get_team / invite_team_member / revoke_team_invite / remove_team_memberSeats, invites, per-screen permissions
contact_supportMessage the RankControl team with the workspace identified
get_help_pageRankControl'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.
search_guidesSearch the guides on RankControl's blog about SEO and AI search: getting cited by ChatGPT, Perplexity, Claude, Gemini and Google's AI answers, ranking on Google, and growing and measuring search traffic. Returns the sections that best answer the question, each with its guide's title, date and link.
get_billingThis 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.

Integration helpers

ToolWhat it does
get_cloudflare_connect_url / list_cloudflare_zones / select_cloudflare_zoneConnect read-only Cloudflare crawler analytics
install_framer_embed / install_webflow_custom_codeInstall visit tracking; dry run by default
get_approvalWhere a change that waits for the workspace owner stands, and what happened

plan_content shows the next batch and adds it with confirm: true. Titles about a subject go on the calendar through commit_planned_titles. Tools with a cost or a public side effect (writing, publishing, emails, posts) are dry-run-first: when the user asked for the action, call them with confirm: true.

Removals and team changes always wait for the workspace owner. So does every change for 2 hours after a key reads text written outside the workspace: prospect replies, AI answers, social threads, competitor pages. These answer approval_required with an approveUrl; the owner approves in RankControl, and get_approval (CLI: approval <approvalId>) shows where each stands.

Keywords

seo

FAQs

Package last updated on 18 Oct 2026

Related posts