
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
rankcontrol
Advanced tools
RankControl CLI + MCP server: drive your SEO/AI-visibility workspace from the terminal or any AI agent
RankControl from the terminal or any AI agent. One package, two faces:
npx rankcontrol <command> (or the short alias rctrl once installed)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.
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.
# 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
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_..." }
}
}
}
Visibility and citations
| Tool | What it does |
|---|---|
get_overview_funnel | AI crawls / AI visits, last 30 days |
get_visibility_score | Composite score blending AI citations with Google and Bing rank share, with subscores |
get_visibility_trend | Daily visibility score from stored weekly citation checks |
get_share_of_voice | Your citation rate vs competitor mention rates + your share |
get_web_total_history | Monthly web total for you and each competitor, last 3 months |
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 |
get_citation_sources | Cited domains typed brand / competitive / UGC / editorial |
get_citation_sentiment | Positive / neutral / negative framing with recent receipts |
get_citability_report | Published pages by citability score, worst first, with fixes |
list_citations | Recent citation checks per AI model |
get_crawler_access | Daily AI-crawler reachability probe (edge blocks, robots.txt) |
list_tracked_queries | The queries checked weekly across the AI engines |
get_query_slots | Tracking slots in use and the plan's limit |
add_tracked_query / update_tracked_query / set_query_tracking / remove_tracked_query | Manage the query pool and its plan slots |
hide_content_idea | Hide an idea from Content Ideas; a tracked query keeps its weekly checks and its slot |
get_competitors / add_competitor / remove_competitor | Manage share-of-voice competitors (max 10) |
Content pipeline
| Tool | What it does |
|---|---|
get_planning_capacity | Remaining calendar slots (check before planning) |
plan_content | Generate candidate titles (capacity-gated, nothing scheduled) |
commit_planned_titles | Approve reviewed titles onto the calendar |
get_content_ideas / plan_content_idea | Scored idea backlog; put an idea on the calendar |
delete_planned_title | Remove a planned title (returns to the idea pool) |
generate_article | Write a planned article's body now; dry run by default |
publish_content | Dry run by default; confirm: true publishes to the CMS |
archive_content | Archive an article (reversible in the dashboard) |
reschedule_article | Move a planned article to another day (flexible schedule) |
update_planned_article | Change 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_settings | Read / merge-patch the article policy |
get_topics / set_topics | Read / replace the pillar list (full-list replace, up to 20 topics) |
get_internal_links | Who links to this article internally, and its outbound count |
list_site_pages / add_site_pages / detect_site_links | Pages used for in-article internal links |
set_site_page_linking | Turn 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_page | Remove 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_content | Content pages with status |
Analytics
| Tool | What it does |
|---|---|
get_traffic_overview | Page views, visitors, sessions, bounce rate, time on page |
get_rankings | Verified 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_engagement | Per-page views, citations, and a view sparkline |
get_analytics_sources / set_analytics_source | Which source writes traffic and crawler data |
activate_analytics_screen | One-time activation of the Analytics or Reports screen |
Reports
| Tool | What it does |
|---|---|
get_exec_summary | Last 30 days vs the 30 before: cite rate, views, crawls |
get_top_wins | Most-cited page, best cite-rate jump, biggest ranking climb |
get_agent_activity | Recent pipeline runs per agent lane |
list_jobs | Async job status (agent runs) |
Backlinks and outreach
| Tool | What it does |
|---|---|
list_backlinks / get_backlink_stats | Backlink table and totals |
list_outreach_prospects / get_outreach_stats | Outreach pipeline per published article, with Domain Rating |
find_outreach_contact | Scrape a prospect site for an outreach email |
draft_outreach_reply | AI-draft the next reply in a live conversation |
queue_outreach_email | Queue an email from the workspace's own mailbox |
cancel_outreach_email | Cancel a queued outreach email (a first email, a reply or a follow-up) before it sends. Refused once it has gone out. |
update_outreach_status | Move a prospect through the pipeline |
get_link_network | Credit balance, membership, placements |
set_link_network_opt_in / remove_network_placement | Join/leave, retire placements; dry run by default |
Social and repurposing
| Tool | What it does |
|---|---|
list_repurpose_queue / get_repurpose_drafts | Published articles + social drafts (8 platforms) |
generate_repurpose_drafts / update_repurpose_draft | Draft and edit platform-native posts |
list_postiz_channels / push_repurpose_draft | Push to Buffer or Postiz; dry run by default |
mark_repurpose_posted | Record a draft as posted manually |
list_social_threads / get_social_stats | Reddit/X threads where your articles fit |
update_social_thread_status / draft_social_reply / open_social_thread / set_social_x_handle / set_reddit_profile | Work 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
| Tool | What it does |
|---|---|
get_brand | Brand profile, links/CTAs, products, ICPs and brand guidelines in one read |
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 |
confirm_brand_reviewed | Mark the brand as reviewed |
add_brand_guideline | Add a brand guideline |
set_brand_guideline_active | Turn a brand guideline on or off |
remove_brand_guideline | Delete a brand guideline |
update_brand_identity | Name, industry, description, authors (EEAT bylines), style refs |
update_brand_profile | Voice, colors, meta fields, locale |
write_brand_product / write_brand_icp | Create/update/delete products and buyer profiles |
suggest_brand_icps / draft_brand_icp | Suggest 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_member | Seats, invites, per-screen permissions |
contact_support | Message the RankControl team with the workspace identified |
get_help_page | 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. |
get_billing | 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. |
Integration helpers
| Tool | What it does |
|---|---|
get_cloudflare_connect_url / list_cloudflare_zones / select_cloudflare_zone | Connect read-only Cloudflare crawler analytics |
install_framer_embed / install_webflow_custom_code | Install 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.
FAQs
RankControl CLI + MCP server: drive your SEO/AI-visibility workspace from the terminal or any AI agent
The npm package rankcontrol receives a total of 257 weekly downloads. As such, rankcontrol popularity was classified as not popular.
We found that rankcontrol demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.