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.

io.github.abhibavishi/rankparse-mcp

REMOTE · MCP.RANKPARSE.COM

SEO MCP server — backlinks, domain authority, tech stack, and 18+ tools via Common Crawl.

−46 this week 38 Trust /100

Last scanned (4 hours ago)

Scores higher than 28% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security95
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

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.

  • 5 Nov 26 −46
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: partial → pass ▲ security
    • First check of Authorization: pass security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 29 Oct 26 −1
    • Tool “get_ai_visibility” rewrote its description, which is the text the model reads security
    • Tool “recheck_ai_visibility” rewrote its description, which is the text the model reads security
    • Schema quality: 10553 → 11730 ▼ functional
    • New tool “get_indexing_status” functional
    • New tool “list_site_issues” functional
    • “get_gsc_top_queries” added an optional parameter “searchType” cosmetic
    • “get_gsc_country_breakdown” added an optional parameter “searchType” cosmetic
    • “get_gsc_date_trends” added an optional parameter “searchType” cosmetic
    • “get_gsc_device_breakdown” added an optional parameter “searchType” cosmetic
    • “get_gsc_low_ctr_pages” added an optional parameter “searchType” cosmetic
    • “get_gsc_low_ctr_queries” added an optional parameter “searchType” cosmetic
    • “get_gsc_opportunity_queries” added an optional parameter “searchType” cosmetic
    • “get_gsc_page_queries” added an optional parameter “searchType” cosmetic
    • “get_gsc_page_segment” added an optional parameter “searchType” cosmetic
    • “get_gsc_page_trend” added an optional parameter “searchType” cosmetic
    • “get_gsc_query_page_pairs” added an optional parameter “searchType” cosmetic
    • “get_gsc_query_pages” added an optional parameter “searchType” cosmetic
    • “get_gsc_query_trend” added an optional parameter “searchType” cosmetic
    • “get_gsc_search_appearance” added an optional parameter “searchType” cosmetic
    • “get_gsc_top_pages” added an optional parameter “searchType” cosmetic
  • 26 Oct 26 +2
    • DNSSEC: fail → pass ▲ security
    • New tool “get_ai_visibility” functional
    • New tool “recheck_ai_visibility” functional
  • 23 Oct 26 0
    • Tool “outreach_add_contacts” rewrote its description, which is the text the model reads security
    • Tool “outreach_create_campaign” rewrote its description, which is the text the model reads security
    • New tool “outreach_update_contacts” functional
  • 22 Oct 26 −1
    • Tool “outreach_configure_sending” rewrote its description, which is the text the model reads security
    • Tool “outreach_sending_status” rewrote its description, which is the text the model reads security
    • “outreach_configure_sending” added an optional parameter “mailbox_id” cosmetic
    • “outreach_sending_status” added an optional parameter “mailbox_id” cosmetic
    • “outreach_configure_sending” reworded the description of “auto_send_enabled” cosmetic
    • “outreach_configure_sending” reworded the description of “max_sends_per_day” cosmetic
  • 21 Oct 26 0
    • Tool “outreach_create_campaign” rewrote its description, which is the text the model reads security
    • Tool “outreach_launch_campaign” rewrote its description, which is the text the model reads security
    • Tool “propose_outreach_send” rewrote its description, which is the text the model reads security
  • 3 Oct 26 84
    • Tool “get_domain_authority” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_country_breakdown” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_date_trends” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_device_breakdown” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_low_ctr_pages” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_low_ctr_queries” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_opportunity_queries” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_page_queries” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_page_segment” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_page_trend” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_properties” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_query_page_pairs” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_query_pages” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_query_trend” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_search_appearance” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_sitemaps” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_top_pages” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_top_queries” rewrote its description, which is the text the model reads security
    • Tool “get_gsc_url_inspection” rewrote its description, which is the text the model reads security
    • Tool “outreach_configure_sending” rewrote its description, which is the text the model reads security
    • Tool “outreach_create_campaign” rewrote its description, which is the text the model reads security
    • Tool “outreach_launch_campaign” rewrote its description, which is the text the model reads security
    • Tool “outreach_list_campaigns” rewrote its description, which is the text the model reads security
    • Schema quality: 7956 → 9512 ▼ functional
    • New tool “complete_agent_task” functional
    • New tool “get_agent_tasks” functional
    • New tool “list_proposals” functional
    • New tool “list_websites” functional
    • New tool “log_activity” functional
    • New tool “propose_indexnow_submit” functional
    • New tool “propose_outreach_send” functional
    • “outreach_create_campaign” added an optional parameter “site_id” cosmetic
    • “outreach_list_campaigns” added an optional parameter “site_id” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
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 5 Nov 2026 · Probed https://mcp.rankparse.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=rankparse.com CN=WE1,O=Google Trust Services,C=US 19 Oct 2026 17 Jan 2027 ECDSA 256 ECDSA-SHA256 b7c251857f7150da135329fb45233387
SANs: rankparse.com, mcp.rankparse.com, *.mcp.rankparse.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of mcp.rankparse.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
rankparse.com. present 2371 13 Verified
mcp.rankparse.com. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.rankparse.com/.well-known/oauth-protected-resource/mcp", scope="seo:read account:read workspace:read workspace:write offline_access"

Bearer resource_metadata="https://mcp.rankparse.com/.well-known/oauth-protected-resource/mcp", scope="seo:read account:read workspace:read workspace:write offline_access"
Header Value
www-authenticate Bearer resource_metadata="https://mcp.rankparse.com/.well-known/oauth-protected-resource/mcp", scope="seo:read account:read workspace:read workspace:write offline_access"

Protected resource metadata

Document https://mcp.rankparse.com/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://mcp.rankparse.com/mcp
Authorisation server https://connect.rankparse.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.rankparse.com/mcp Auth required 401
http (plaintext) http://mcp.rankparse.com/mcp HTTPS enforced 301 https://mcp.rankparse.com/mcp
MCP tools · 85 exposed · ~11,730 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
get_similar_domains ~42

Find domains with similar link profiles, useful for competitor discovery. May return partial results when the query fan-out hits time budget.

NameTypeReqDescription
domainstringyes–

No output schema declared.

No examples provided.

get_site_explorer ~35

Full SEO overview for a domain (backlinks, authority, top pages, anchor text)

NameTypeReqDescription
domainstringyes–

No output schema declared.

No examples provided.

get_site_health ~58

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

NameTypeReqDescription
domainstringyes–

No output schema declared.

No examples provided.

get_sitemap ~43

Discover and parse a domain's sitemap. Returns URLs with lastmod, changefreq, and priority

NameTypeReqDescription
domainstringyes–
limitnumber––

No output schema declared.

No examples provided.

get_tech_stack ~47

Real-time technology detection for a domain: frameworks, CMS, analytics, CDN, hosting, e-commerce, payments, and more (50+ technologies)

NameTypeReqDescription
domainstringyes–

No output schema declared.

No examples provided.

get_top_pages ~31

Get most-linked pages for a domain

NameTypeReqDescription
domainstringyes–
limitnumber––

No output schema declared.

No examples provided.

list_proposals ~115

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), payload_changed_since_approval (it changed after approval, so propose again) or approver_lost_permission (tell the user).

NameTypeReqDescription
limitinteger––
site_idstring––
statusstring––

No output schema declared.

No examples provided.

list_rank_change_alerts ~177

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 with no events simply had no significant moves. Events exist only while alerts are enabled for the site (see get_rank_alert_settings) and only for engines whose data was actually available -- provider-limited or pending engines generate nothing rather than false "lost ranking" alerts.

NameTypeReqDescription
limitinteger–Max events to return (default 100, max 100)
offsetinteger–Pagination offset (default 0)
site_idstringyesLogical RankParse website ID, from list_rank_tracking_sites

No output schema declared.

No examples provided.

list_rank_tracking_sites ~48

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_site_issues ~394

List the problems RankParse has found on the user's websites: the same list as the Issues tab in the RankParse dashboard, worst first. Types: not-indexed (tracked pages Google has not indexed, or has not confirmed yet), click-drop (tracked queries that lost at least 30% of their clicks or fell off page one, last 4 weeks against the 4 before), low-ctr (Google queries on page one with well under half the usual click-through rate for their position), connection (a Search Console, Bing or Yandex source that needs reconnecting or failed to sync), ai-visibility and site-health (failing checks from the daily site scan, paid plans only). Each issue has a title, detail, evidence lines, affected pages, a suggested_task to act on, links to the dashboard and, for not-indexed, indexnow_urls (pages not submitted to IndexNow in the last 24 hours: pass them to propose_indexnow_submit). For one page's Google index details use get_indexing_status or get_gsc_url_inspection; after fixing a scan issue use recheck_ai_visibility. Reads stored data (synced daily); it is not a live crawl. Without site_id it covers the workspace: not-indexed, click-drop, low-ctr and connection issues for the 25 most recently synced websites (truncated: true says other websites were left out of those four types), and ai-visibility and site-health issues for up to 500 websites. limit caps the list at 100 with no paging; total says how many matched. 0 credits.

NameTypeReqDescription
limitinteger–Max issues (default 50, max 100)
site_idstring–Logical RankParse website ID, from list_websites or list_rank_tracking_sites. Omit for every website in the workspace.
typearray–Only these issue types

No output schema declared.

No examples provided.

list_tracked_keywords ~85

List the tracked keyword IDs and text for one RankParse website. Call list_rank_tracking_sites first to obtain site_id.

NameTypeReqDescription
limitinteger–Max keywords to return (default 100, max 100)
offsetinteger–Pagination offset (default 0)
site_idstringyesLogical RankParse website ID, from list_rank_tracking_sites

No output schema declared.

No examples provided.

list_websites ~56

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

log_activity ~89

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.

NameTypeReqDescription
client_request_idstring––
kind_hintstring––
site_idstring––
summarystringyes–

No output schema declared.

No examples provided.

outreach_add_contacts ~297

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 guess addresses) plus a personalized subject and plain-text body (subject ≤500 chars, body ≤10,000). Write like a human: plain punctuation, and NEVER use em-dashes in subjects or bodies. Subjects must be 2-5 words that read like a note from a colleague and reference their content (e.g. "your AI tools guide"): never sales words like exclusive, lifetime, revenue, or deal. Internationalized (non-ASCII) domains must be given in punycode (xn--) form. Returns how many were added and which were skipped (invalid email, duplicate domain/email, copy too long, campaign full, already_contacted = this person was emailed in an earlier campaign). Contacts added to a launched campaign sit inert until you call outreach_launch_campaign again. A contact already in the campaign is skipped as duplicate_email or duplicate_domain and its copy is NOT changed: to rewrite the copy of existing contacts use outreach_update_contacts, do not create a new campaign.

NameTypeReqDescription
campaign_idstringyesCampaign id from outreach_create_campaign
contactsarrayyesContacts with their personalized copy

No output schema declared.

No examples provided.

outreach_configure_sending ~330

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 from that mailbox, true resumes it). Lowering the cap or turning sending off applies immediately. For most accounts, raising the cap or turning sending on needs the user's approval in RankParse: the response is 202 with ok true, status awaiting_approval and a review_url, and nothing has been increased yet, so show the user the review_url. For other accounts a raise applies directly and returns ok true. A request that mixes both applies the decrease or disable now and proposes the rest; the message then starts "Applied now: ...". If it fails with change_in_progress, another sending change is already approved or running. The increase was not applied, but any decrease or disable in the same request has been applied (see applied and message): send the increase again after it completes (check list_proposals). If status is approved, it is already approved; do not ask again. Confirm with the user before changing these; they control real email volume.

NameTypeReqDescription
auto_send_enabledboolean–Master switch for the hourly send sweep of the mailbox
mailbox_idstring–A mailbox_id from outreach_sending_status. Omit it for the workspace default mailbox.
max_sends_per_dayinteger–Daily send cap for the mailbox (1-100)

No output schema declared.

No examples provided.

outreach_create_campaign ~453

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 prospect domain, 4) write a short personalized subject+body per contact, 5) outreach_create_campaign, 6) outreach_add_contacts, 7) show the user the emails you drafted and get their OK before launching, 8) outreach_launch_campaign: this tells RankParse the campaign is ready and returns status ready_for_review with a review_url (the campaign page), and nothing is sent until the user approves the emails there one by one; tell the user it is ready to review in RankParse and share the review_url (if status is approved it is already approved, so do not launch again). Shortcut: propose_outreach_send does steps 5, 6 and 8 in one call (creates or tops up the campaign, adds the contacts, marks it ready for review). Requires the user to have Gmail connected at rankparse.com/dashboard/integrations. To CONTINUE an existing campaign rather than start a new one, begin at outreach_suggest_prospects instead of step 1: campaigns are topped up, not replaced. To change the email copy of contacts already in a campaign (for example when the user asks for a rewrite), call outreach_update_contacts on the SAME campaign and then outreach_launch_campaign again; never create a second campaign for that, because the first one would keep its old unsent emails.

NameTypeReqDescription
goalstring–What the outreach is trying to achieve, for the campaign record
namestringyesCampaign name, e.g. "SaaS blogs - competitor gap Aug 2026"
site_idstring–Optional RankParse website id (from list_websites, or given to you in a website-scoped outreach prompt) to link this campaign to a website. Omit to leave it unassigned.
your_domainstringyesThe domain being promoted, e.g. "example.com"

No output schema declared.

No examples provided.

outreach_get_campaign ~51

Get a campaign's status and delivery counts (awaiting launch, queued, sending, sent, skipped). Use to answer "how is my campaign doing?".

NameTypeReqDescription
campaign_idstringyesCampaign id

No output schema declared.

No examples provided.

outreach_launch_campaign ~182

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 directly (queued/suppressed counts). Safe to call again; it never re-sends. When it returns ready_for_review, tell the user the emails are ready to review in RankParse and show them the review_url. If status is approved, it is already approved; do not launch again. If it returns queued/suppressed counts instead of ready_for_review, the emails are being sent now, so only call it after the user has seen the drafted emails and explicitly approved sending.

NameTypeReqDescription
campaign_idstringyesCampaign id to launch

No output schema declared.

No examples provided.

outreach_list_campaigns ~64

List this account's outreach campaigns with status and contact counts. Optionally filter to one website; an unknown site_id returns an empty list.

NameTypeReqDescription
site_idstring–Optional RankParse website id (from list_websites) to list only that website's campaigns

No output schema declared.

No examples provided.

outreach_pause_campaign ~49

Pause one campaign: its queued emails stop sending but stay queued, so resuming continues exactly where it left off. Other campaigns keep sending.

NameTypeReqDescription
campaign_idstringyesCampaign id to pause

No output schema declared.

No examples provided.

outreach_resume_campaign ~39

Resume a paused campaign; its queued emails become eligible for the next hourly send sweep again.

NameTypeReqDescription
campaign_idstringyesCampaign id to resume

No output schema declared.

No examples provided.

outreach_sending_status ~126

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 connected Gmail mailbox with its own account, cap and queue. Each website sends from the mailbox it is mapped to, or from the default one.

NameTypeReqDescription
mailbox_idstring–A mailbox_id from the mailboxes list. Omit it for the workspace default mailbox.

No output schema declared.

No examples provided.

outreach_suggest_prospects ~204

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 against exclude_domains. get_competitor_gap is cached and unpaginated, so calling it again returns the identical top-N: request a limit several times larger than recommended_batch_size, drop everything already in exclude_domains, and keep what is left. Widen the pool with get_similar_domains, get_link_intersect, or get_platform_domains when the competitor gap is exhausted. Then research one real contact per surviving domain, call outreach_add_contacts, and finish with outreach_launch_campaign to queue them. Note exclude_domains_truncated: when true the list is capped and you should prefer clearly-unseen domains.

NameTypeReqDescription
campaign_idstringyesCampaign id to top up

No output schema declared.

No examples provided.

outreach_update_contacts ~306

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. Contacts are matched by email address; the address itself never changes. Only emails still waiting for review (the awaiting_launch count in outreach_get_campaign) are rewritten, and any approval they had is cleared so the user reviews the new copy. Emails that are queued, sending, sent or skipped come back as not_editable and are left exactly as they were: if a queued email should change too, ask the user to take it back to review in RankParse (Unapprove), then call this again; a sent email cannot change and a skipped one must be restored in RankParse first. Same copy rules as outreach_add_contacts: plain punctuation, NEVER use em-dashes, subject 2-5 words that reads like a note from a colleague, subject ≤500 chars, body ≤10,000. Returns one result per contact (updated, not_found, not_editable with the state it is in, or invalid with the reason). After updating, call outreach_launch_campaign again so the rewritten emails go back to the user for review.

NameTypeReqDescription
campaign_idstringyesCampaign id the contacts are already in
contactsarrayyesContacts with their new copy

No output schema declared.

No examples provided.

propose_indexnow_submit ~141

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 in RankParse (unless they allowed it in website settings). Show them the review_url.

NameTypeReqDescription
notestring–Why, in one or two plain sentences. Shown to the user labelled as your note.
site_idstring––
urlsarrayyes–

No output schema declared.

No examples provided.

propose_outreach_send ~254

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 campaign page (the review_url), and nothing is sent until they do. Use site_id from list_websites (required when creating a campaign; with campaign_id it must match that campaign's website). To propose the copy-ready contacts a campaign already has, pass campaign_id without contacts. If status is approved, it is already approved; do not propose it again. Nothing is sent until the user approves it in RankParse. Show them the review_url.

NameTypeReqDescription
campaign_idstring–Existing campaign to top up; omit to create one
campaign_namestring–Required when campaign_id is omitted
contactsarray–Required when campaign_id is omitted
notestring–Why, in one or two plain sentences. Shown to the user labelled as your note.
site_idstring–Website id from list_websites. Required when campaign_id is omitted

No output schema declared.

No examples provided.

provision_indexnow_key ~130

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://<host>/<key>.txt), and verified (whether the hosted key file has already been confirmed). The USER must host a UTF-8 text file containing exactly the key at key_location before submit_indexnow_urls will work — tell them the location and the key, then submit.

NameTypeReqDescription
domainstringyesThe website host to provision a key for, e.g. "example.com"

No output schema declared.

No examples provided.

recheck_ai_visibility ~141

Queue a fresh AI visibility scan for one verified RankParse website, for example after the user fixed robots.txt or published llms.txt. The scan runs in the background within a few minutes; read the result with get_ai_visibility. Limited to one re-check per website per 10 minutes: a throttled call answers status "throttled" with retry_after_seconds and changes nothing. Fails with site_scan_not_verified for a website that is not verified and site_scan_plan_required (403) on the Free plan. 0 credits.

NameTypeReqDescription
site_idstringyesLogical RankParse website ID, from list_rank_tracking_sites or list_websites

No output schema declared.

No examples provided.

submit_indexnow_urls ~147

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 its key_location (indexnow_key_not_verified means the file is missing or wrong). Costs 1 credit, refunded automatically when the submission fails.

NameTypeReqDescription
urlsarrayyesFull URLs to submit, e.g. ["https://example.com/a", "https://example.com/b"] — all on the same host

No output schema declared.

No examples provided.

update_rank_alert_settings ~186

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 pass change. Confirm with the user before enabling -- this turns on a real weekly email when meaningful changes exist.

NameTypeReqDescription
email_overridestring|null–Email address to send this site's digest lines to instead of the account email; null clears it
enabledboolean–Turn the weekly alert digest on or off for this site
move_thresholdnumber–Average-position delta that counts as moved_up/moved_down (default 5)
site_idstringyesLogical RankParse website ID, from list_rank_tracking_sites

No output schema declared.

No examples provided.

zeekeo_activate_campaign ~132

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 — confirm with the user before calling. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.

NameTypeReqDescription
campaign_idstringyesZeekeo campaign id from zeekeo_list_campaigns or zeekeo_create_campaign

No output schema declared.

No examples provided.

zeekeo_create_campaign ~387

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 of filter_url (a LinkedIn search results URL) or profile_urls (specific profiles) as the target. This starts REAL LinkedIn automation once the campaign has profiles in it — confirm with the user before calling. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.

NameTypeReqDescription
exclude_first_degree_connectionsboolean–Skip people already connected to the user (default true)
exclude_past_campaigns_targetsboolean–Skip people already targeted in a previous campaign (default true)
filter_urlstring–A LinkedIn search results URL to source profiles from. Provide this or profile_urls, not both.
followup_delay_hoursnumber–Hours to wait after connection before the follow-up (default 24)
followup_template_idstring–Template id from zeekeo_create_template (type linkedin_message) for a follow-up message sent after the invite is accepted. Omit for an invite-only campaign. Must be a linkedin_message template — emai…
invite_delaynumber–Seconds to wait before the first invite (default 0)
invite_limitnumber–Max invites to send (default 20)
invite_template_idstringyesTemplate id from zeekeo_create_template (type linkedin_invite)
namestringyesCampaign name
profile_urlsarray–Specific LinkedIn profile URLs to target. Provide this or filter_url, not both.

No output schema declared.

No examples provided.

zeekeo_create_template ~183

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 follow-up/reply template. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.

NameTypeReqDescription
bodystringyesMessage text. Supports Zeekeo merge variables like {{FIRST_NAME}} and {{COMPANY}}.
namestringyesTemplate name, for your own reference in the Zeekeo dashboard
subjectstring–Subject line, required when type is email_message
typestringyesWhat kind of message this template is for

No output schema declared.

No examples provided.

zeekeo_list_campaigns ~82

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 connect it.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

zeekeo_send_message ~191

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 reachable from it (use zeekeo_list_campaigns to pick campaign_id). Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.

NameTypeReqDescription
bodystringyesMessage text
campaign_idstringyesZeekeo campaign id from zeekeo_list_campaigns
linkedin_urlstringyesLinkedIn profile URL or public identifier of the recipient
subjectstring–Subject line, required when type is email_message
typestringyesChannel to send through

No output schema declared.

No examples provided.

Install

How do I install the io.github.abhibavishi/rankparse-mcp server?

io.github.abhibavishi/rankparse-mcp is a hosted endpoint at https://mcp.rankparse.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.rankparse.com

# add to Claude Code
claude mcp add --transport http abhibavishi-rankparse-mcp 'https://mcp.rankparse.com/mcp'
Common questions

What is the io.github.abhibavishi/rankparse-mcp server?

io.github.abhibavishi/rankparse-mcp is listed in the public MCP registry as io.github.abhibavishi/rankparse-mcp. SEO MCP server, backlinks, domain authority, tech stack, and 18+ tools via Common Crawl. This page covers its hosted endpoint (https://mcp.rankparse.com/mcp).

Is the io.github.abhibavishi/rankparse-mcp server safe to use?

io.github.abhibavishi/rankparse-mcp scores 38 out of 100 on VerifyMCP. 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 io.github.abhibavishi/rankparse-mcp server expose?

io.github.abhibavishi/rankparse-mcp exposes 85 tools: get_backlinks, get_referring_domains, get_outbound_links, get_domain_authority, get_domain_rank, and 80 more. Their descriptions and schemas cost roughly 11,730 tokens of context every time the server is loaded.

Does the io.github.abhibavishi/rankparse-mcp server require authentication?

Yes. io.github.abhibavishi/rankparse-mcp asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the io.github.abhibavishi/rankparse-mcp server still maintained?

io.github.abhibavishi/rankparse-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.