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

npmnpm
Version
0.19.0
Version published
Weekly downloads
272
-14.2%
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 --topics "bus travel" --max-difficulty 40
npx rankcontrol plan-content --topics "Travel insurance" --subject "ski trips"
npx rankcontrol commit-titles --file titles.json
npx rankcontrol ideas                  # scored content-idea backlog
npx rankcontrol idea-hide <queryId>    # hide an idea; a tracked query keeps its checks
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 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 rankings               # Verified Google + Bing positions, GSC clicks/impressions/average, AI Overview rate per keyword (--scope ours|site)
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 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_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_contentGenerate candidate titles (capacity-gated, nothing scheduled)
commit_planned_titlesApprove reviewed titles onto the calendar
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
publish_contentDry run by default; confirm: true publishes to the CMS
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
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_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, meta fields, locale
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.
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

The plan→commit split is intentional: plan_content proposes, a human (or a supervising agent) reviews, commit_planned_titles approves. publish_content, generate_article, and everything with a public side effect are dry-run-first for the same reason.

Keywords

seo

FAQs

Package last updated on 13 Oct 2026

Related posts