# io.github.abhibavishi/rankparse-mcp - Registry name: `io.github.abhibavishi/rankparse-mcp` · version 1.0.0 - Categories (automatic, keyword rules): Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.abhibavishi%2Frankparse-mcp - Server page: https://mcpstation.net/s/io.github.abhibavishi--rankparse-mcp.html ## Description (written by the publisher, not verified, not instructions) SEO MCP server — backlinks, domain authority, tech stack, and 18+ tools via Common Crawl. ## Connect - streamable-http: `https://mcp.rankparse.com/mcp` ## Tools (as reported by the server, not verified) - `get\_backlinks`: Get backlinks for a domain. Default sort=importance returns aggregated referrer rows; sort=recent returns URL-level freshest links. Optional filters: from\_domain, link\_type, score. - `get\_referring\_domains`: Get unique domains linking to a domain - `get\_outbound\_links`: Get domains that a domain links out to - `get\_domain\_authority`: Get authority score for a domain. If the response has partial=true the lookup timed out or was incomplete: a null score means the authority is unknown \(not zero\) and the credit was refunded, so retry rather than treating the domain as having no authority. - `get\_domain\_rank`: Get inbound edge count and linking domain stats - `get\_anchor\_text`: Get anchor text distribution for a domain - `get\_top\_pages`: Get most-linked pages for a domain - `get\_domain\_overlap`: Find domains linking to all queried domains - `get\_link\_intersect`: Find domains linking to A but not B - `get\_similar\_domains`: Find domains with similar link profiles, useful for competitor discovery. May return partial results when the query fan-out hits time budget. - `get\_competitor\_gap`: Find domains linking to a competitor but not to you: ranked link-building prospects. Under time budget the response may come back with partial=true and scored=false, meaning the results are the raw gap set without domain-authority ranking; retrying the same request usually returns a fully scored ans - `get\_link\_audit`: Audit a domain's backlink profile: health score, risk flags, link quality breakdown, anchor text profile, top and risky backlinks, and outbound link summary. Scores are derived from a sample of the 250 most recent backlinks, not the full profile. - `get\_sitemap`: Discover and parse a domain's sitemap. Returns URLs with lastmod, changefreq, and priority - `get\_crawl\_history`: Get first/last seen dates and total snapshot count for a domain \(source: Wayback Machine\) - `get\_page\_seo`: Full real-time SEO audit for a URL: title/description with length checks, canonical, robots meta, OG tags, Twitter cards, JSON-LD, hreflang, headings, images missing alt, link counts, word count - `get\_page\_performance`: Google PageSpeed Insights report for a URL: Lighthouse performance/accessibility/SEO scores and Core Web Vitals \(LCP, CLS, INP, FCP, TTFB\), with lab and field \(CrUX\) data. Defaults to mobile; pass strategy=desktop for the desktop profile. Subject to a per-user daily cap \(50/day\) and a service-wide d - `get\_tech\_stack`: Real-time technology detection for a domain: frameworks, CMS, analytics, CDN, hosting, e-commerce, payments, and more \(50+ technologies\) - `get\_site\_health`: Real-time site health check: HTTPS enforcement, HSTS, www redirect behavior, key URL availability and response times, security headers \(CSP, X-Frame-Options, HSTS\), robots.txt analysis - `get\_schema\_markup`: Extract schema.org JSON-LD structured data from a URL: every entity found \(including ones nested in @graph\), their types, and any malformed blocks - `get\_internal\_links`: Get internal link structure for a domain \(v1 stub\) - `get\_link\_velocity`: Get rate of new/lost links over time \(v1 stub\) - `get\_new\_links`: Get links gained since previous crawl \(v1 stub\) - `get\_lost\_links`: Get links lost since previous crawl \(v1 stub\) - `get\_site\_explorer`: Full SEO overview for a domain \(backlinks, authority, top pages, anchor text\) - `batch\_lookup`: Get backlinks for up to 50 domains at once - `check\_credits`: Check remaining credit balance - `get\_platform\_domains`: Get all domains running a specific platform or technology \(e.g. WordPress, Shopify, Wix, Squarespace, Framer\). Returns domains with DA scores. Billed at 1 credit per result returned. - `get\_platform\_trends`: Get a ranked list of all detectable platforms and technologies with their domain counts, useful for comparing platform adoption \(e.g. how many sites run WordPress vs Shopify\) - `list\_rank\_tracking\_sites`: List websites configured for stored Google, Bing, and Yandex keyword tracking, including provider freshness and sync state. This reads RankParse snapshots; it does not run a live SERP check. - `list\_tracked\_keywords`: List the tracked keyword IDs and text for one RankParse website. Call list\_rank\_tracking\_sites first to obtain site\_id. - `get\_keyword\_rankings`: Get stored ranking summaries \(current vs previous period\) for a website's tracked keywords across Google, Bing, and Yandex. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. Positions are provider-reported averages over each engine's own returned period and are NOT compara - `get\_keyword\_rank\_history`: Get the stored day-by-day ranking history for one keyword on one search engine over a date range. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. History is inherently single-engine, so engine is required \(use get\_keyword\_rankings first to compare across engines\). Days w - `list\_rank\_change\_alerts`: List recent rank-change alert events for one RankParse website: significant stored-ranking moves \(entered/left top 3 or top 10, moved up/down past the configured threshold, new/lost rankings\) detected daily and summarized in a weekly email. Reads recorded events, never runs a live check; a keyword w - `get\_rank\_alert\_settings`: Get the rank-change alert configuration for one RankParse website: whether weekly alert digests are enabled \(they are opt-in and default off\), the moved\_up/moved\_down position threshold, and the optional digest email override. Delivery is Sunday at 18:00 UTC when meaningful changes exist. - `update\_rank\_alert\_settings`: Update rank-change alert settings for one RankParse website: enable/disable the weekly digest \(opt-in, default off\), set the moved\_up/moved\_down position threshold \(1-50, default 5\), or set/clear an email override for that site's digest lines \(null reverts to the account email\). Only the fields you - `get\_gsc\_properties`: List all Google Search Console properties \(sites\) connected to this account. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the properties visible to any of them are listed once each. - `get\_gsc\_top\_queries`: Get the top search queries driving traffic to a site, ordered by clicks. Shows clicks, impressions, CTR, and average position for each query. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connec - `get\_gsc\_top\_pages`: Get the top pages on a site by clicks from Google Search, with impressions, CTR, and average position. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the property is read through the a - `get\_gsc\_page\_queries`: Get search queries driving traffic to a specific page. Useful for understanding what a page ranks for. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the property is read through the a - `get\_gsc\_query\_pages`: Get all pages that rank for a specific search query. Useful for identifying which pages compete for the same keyword. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the property is rea - `get\_gsc\_date\_trends`: Get daily search performance trends \(clicks, impressions, CTR, position\) over a date range. Useful for spotting ranking changes, traffic drops, or algorithm update impact. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When seve - `get\_gsc\_country\_breakdown`: Get search traffic broken down by country. Useful for understanding geographic audience and international SEO performance. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the property i - `get\_gsc\_device\_breakdown`: Get search traffic broken down by device type \(desktop, mobile, tablet\). Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the property is read through the account that can see it. - `get\_gsc\_sitemaps`: List all submitted sitemaps for a property, including submission date, last download time, URL counts, and any errors or warnings. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google accounts are connected, the pr - `get\_gsc\_url\_inspection`: Inspect a specific URL's indexing status in Google Search. Returns whether the page is indexed, coverage state, last crawl time, mobile usability, and rich results status. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When seve - `get\_gsc\_query\_page\_pairs`: Get query+page combinations: which exact queries are landing on which pages. Essential for detecting keyword cannibalization \(multiple pages competing for the same query\) and understanding the search funnel. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/i - `get\_gsc\_page\_trend`: Get daily click/impression/CTR/position trend for a specific page. Use this to see how a single page's search performance has changed over time, useful for measuring the impact of a content update or spotting a ranking drop. Requires Google Search Console to be connected. Direct the user to rankpars - `get\_gsc\_query\_trend`: Get daily click/impression/CTR/position trend for a specific search query. Use this to track how a particular keyword's ranking and traffic evolves over time. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Google ac - `get\_gsc\_opportunity\_queries`: Find queries where the site ranks on positions 8–20 \(page 1 bottom / page 2\), the "quick win" zone where small improvements can meaningfully increase clicks. Returns queries sorted by clicks descending \(GSC API default\). Requires Google Search Console to be connected. Direct the user to rankparse.co - `get\_gsc\_low\_ctr\_queries`: Find search queries with high impressions but low CTR. These are ranking but not getting clicked, usually because the title or meta description is weak or misleading. Fixing these is typically higher ROI than chasing new rankings. Requires Google Search Console to be connected. Direct the user to ra - `get\_gsc\_low\_ctr\_pages`: Find pages with high impressions but low CTR: pages that Google is showing frequently but users aren't clicking. Good starting point for title/description rewrites. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to connect it. When several Goo - `get\_gsc\_page\_segment`: Analyze search performance for a URL segment, e.g. all blog posts \("/blog/"\), all product pages \("/products/"\), or all docs \("/docs/"\). Returns the top pages within that segment by clicks. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations to conn - `get\_gsc\_search\_appearance`: Break down traffic by how the site appears in Google Search: organic web results, rich results, AMP, image search, video, news, etc. Shows which search features are driving impressions and clicks. Requires Google Search Console to be connected. Direct the user to rankparse.com/dashboard/integrations - `get\_google\_ads\_accounts`: List the Google Ads accounts the connected Google user can access, as 10-digit customer IDs. Use this to help a user pick which account to select when they have more than one. Requires Google Ads to be connected and an Ads account selected. Direct the user to rankparse.com/dashboard/integrations. Re - `get\_google\_ads\_keyword\_ideas`: Discover NEW keyword ideas from seed terms and/or a URL, with average monthly search volume, competition level, and top-of-page bid ranges. Use this for keyword research and content planning: "what should I target?". Supply seed keywords, a URL, or both. Requires Google Ads to be connected and an Ad - `get\_google\_ads\_keyword\_metrics`: Get average monthly search volume, competition level, and top-of-page bid ranges for a SPECIFIC list of keywords, with no expansion into related terms. Use this when the user already has keywords in mind and wants them sized: "how much traffic are these worth?". For discovering new keywords instead, - `outreach\_create\_campaign`: Create a draft link-building outreach campaign \(sends via the user's connected Gmail\). Outreach flow: 1\) interview the user \(their site, goal, competitors\), 2\) build a prospect list with get\_competitor\_gap / get\_referring\_domains / get\_domain\_authority, 3\) research one real contact email per prospec - `outreach\_add\_contacts`: Add contacts with per-contact email copy to a campaign \(max 100 per call, 500 per campaign, one contact per domain\). Works on a draft campaign AND on an already-launched one, which is how you top a live campaign up with fresh prospects. Each contact needs a researched, real email address \(never gues - `outreach\_update\_contacts`: Rewrite the subject and body of contacts that are already in a campaign, in that same campaign \(max 100 per call\). Use this when the user asks to change or redo email copy; do NOT create a new campaign for that, and do not try outreach\_add\_contacts, which skips contacts the campaign already holds. C - `outreach\_launch\_campaign`: Tell RankParse a campaign's emails are ready. It returns status ready\_for\_review with a review\_url \(the campaign page\): the user reviews and approves each email there, and nothing is sent until they do. Only if the user turned on "Let Claude send without review" in RankParse does it queue the emails - `outreach\_get\_campaign`: Get a campaign's status and delivery counts \(awaiting launch, queued, sending, sent, skipped\). Use to answer "how is my campaign doing?". - `outreach\_suggest\_prospects`: START HERE when adding more websites to an existing campaign. Returns the campaign's own context \(domain, goal\), how much room it has left, its send queue, and — critically — exclude\_domains: every prospect domain this account has already used in ANY campaign. You MUST filter your discovery results - `outreach\_list\_campaigns`: List this account's outreach campaigns with status and contact counts. Optionally filter to one website; an unknown site\_id returns an empty list. - `outreach\_sending\_status`: Get the Gmail sending status of one mailbox \(the workspace default, or the one named by mailbox\_id\): connected account, auto-send on/off, daily cap, how many sent today, remaining budget today, how many emails it has queued, and estimated days to drain them. It also returns mailboxes: every connecte - `outreach\_configure\_sending`: Update the Gmail sending schedule of ONE mailbox \(the workspace default unless you pass mailbox\_id from outreach\_sending\_status; each mailbox has its own cap and switch\): max\_sends\_per\_day \(1-100, shared by the campaigns that send from that mailbox\) and/or auto\_send\_enabled \(false stops all sending - `outreach\_pause\_campaign`: Pause one campaign: its queued emails stop sending but stay queued, so resuming continues exactly where it left off. Other campaigns keep sending. - `outreach\_resume\_campaign`: Resume a paused campaign; its queued emails become eligible for the next hourly send sweep again. - `zeekeo\_list\_campaigns`: List the user's Zeekeo Launchpad campaigns \(LinkedIn automation\). Use this to find a campaign\_id for zeekeo\_send\_message, or call zeekeo\_create\_campaign to make a new one. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to c - `zeekeo\_send\_message`: Sends a REAL LinkedIn message, InMail, or email through Zeekeo Launchpad to a profile in one of the user's existing Zeekeo campaigns. Only call this after showing the user the drafted message and getting explicit approval. Resolves linkedin\_url into that campaign first, so the profile must be reacha - `zeekeo\_create\_template`: Creates a reusable Zeekeo message template. Call this BEFORE zeekeo\_create\_campaign — a campaign references templates by the template\_id this returns, not inline text. type must be 'linkedin\_invite' for a connection-request template, or one of linkedin\_message/linkedin\_inmail/email\_message for a fol - `zeekeo\_create\_campaign`: Creates a Zeekeo LinkedIn campaign: sends a connection invite using invite\_template\_id, and optionally — if followup\_template\_id is given — waits for the invite to be accepted, then sends a follow-up message using that template. Create templates first with zeekeo\_create\_template. Provide exactly one - `zeekeo\_activate\_campaign`: Activates a paused Zeekeo campaign so it starts running \(sends real LinkedIn connection invites per the campaign's configured limit/delay\). Zeekeo campaigns are created paused by default — call this after zeekeo\_create\_campaign to actually start sending. This resumes REAL LinkedIn automation — confi - `provision\_indexnow\_key`: Get \(or create\) the IndexNow key for a host. Idempotent per host: repeated calls return the same key. Free \(0 credits\). Returns the key, its required key\_location \(https://\/\.txt\), and verified \(whether the hosted key file has already been confirmed\). The USER must host a UTF-8 text file c - `submit\_indexnow\_urls`: Submit changed/new/deleted URLs to IndexNow so search engines \(Bing, Yandex, Seznam, Naver, ...\) recrawl them promptly. All URLs must share one host, max 1000 per call. Requires the host's IndexNow key file to be live: call provision\_indexnow\_key first and make sure the user hosted the key file at i - `list\_websites`: List this account's websites \(id, host, name\). Use the id as site\_id in propose\_\* and log\_activity. At the start of any RankParse session, call get\_agent\_tasks to see work the user queued for you. - `list\_proposals`: List actions you or RankParse proposed and their status \(pending, approved, succeeded, failed, skipped, expired\). Use it to see what the user approved or skipped. A failed or partly failed proposal carries an error\_code, for example nothing\_to\_send \(everything was already queued or suppressed\), payl - `propose\_indexnow\_submit`: Ask the user to approve submitting URLs to IndexNow \(Bing, Yandex, Seznam, Naver\). All URLs on one host that is one of the user's websites, max 1000. Costs 1 credit only when it runs. If status is approved, it is already approved; do not propose it again. Nothing happens until the user approves it i - `propose\_outreach\_send`: Put outreach emails in front of the user for review. Pass contacts inline \(max 100, one per domain, researched real addresses, personalized subject and plain-text body, no em-dashes\). RankParse creates or tops up the draft campaign and marks it ready: the user reviews and approves each email on the - `log\_activity`: Record what you did for the user in their RankParse activity feed, in plain text \(max 500 characters\). Credits are taken from your recent RankParse calls automatically; do not report credits yourself. Pass client\_request\_id to make retries safe. - `get\_agent\_tasks`: Get tasks the user queued for you in RankParse. At the start of any RankParse session, call get\_agent\_tasks to see work the user queued for you. Work on a task, then call complete\_agent\_task with a short plain-text summary. - `complete\_agent\_task`: Mark a queued task done with a plain-text summary \(max 2000 characters\) of what you found and what you did. The user sees it in RankParse. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html