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 · SCANNED SEP 20

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

0 this week 84 Trust /100
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 Security74
Transport & Reachability100
Schema Quality & AI Usability71
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 7936 tokens (~108/item across 73 items; 73 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage92
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 77% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 73 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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'
// .cursor/mcp.json
{
  "mcpServers": {
    "abhibavishi-rankparse-mcp": {
      "url": "https://mcp.rankparse.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "abhibavishi-rankparse-mcp": {
      "type": "http",
      "url": "https://mcp.rankparse.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.abhibavishi-rankparse-mcp]
url = "https://mcp.rankparse.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "abhibavishi-rankparse-mcp": {
      "type": "remote",
      "url": "https://mcp.rankparse.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add abhibavishi-rankparse-mcp --url 'https://mcp.rankparse.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  abhibavishi-rankparse-mcp:
    url: "https://mcp.rankparse.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "abhibavishi-rankparse-mcp": {
      "Transport": "http",
      "Url": "https://mcp.rankparse.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add abhibavishi-rankparse-mcp -t streamable-http -u 'https://mcp.rankparse.com/mcp'
// mcp.json
{
  "mcpServers": {
    "abhibavishi-rankparse-mcp": {
      "type": "http",
      "url": "https://mcp.rankparse.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 17 Sept 26 0
    • Schema quality: 7136 → 7936 functional
    • New tool “get_rank_alert_settings” functional
    • New tool “list_rank_change_alerts” functional
    • New tool “provision_indexnow_key” functional
    • New tool “submit_indexnow_urls” functional
    • New tool “update_rank_alert_settings” functional
    • “get_keyword_rank_history” added an optional parameter “dimension” cosmetic
  • 9 Sept 26 0
    • Tool “get_schema_markup” rewrote its description, which is the text the model reads security
  • 6 Sept 26 0
    • Schema quality: pass → fail functional
    • New tool “get_keyword_rank_history” functional
    • New tool “get_keyword_rankings” functional
    • New tool “list_rank_tracking_sites” functional
    • New tool “list_tracked_keywords” functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Aug 26 82
    • Tool “zeekeo_list_campaigns” rewrote its description, which is the text the model reads security
    • Tool “zeekeo_send_message” rewrote its description, which is the text the model reads security
    • Schema quality: 5604 → 6377 functional
    • New tool “zeekeo_activate_campaign” functional
    • New tool “zeekeo_create_campaign” functional
    • New tool “zeekeo_create_template” functional
  • 21 Aug 26 0
    • New tool “zeekeo_list_campaigns” functional
    • New tool “zeekeo_send_message” 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 20 Sept 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 21 Aug 2026 19 Nov 2026 ECDSA 256 ECDSA-SHA256 96fc8688c5ed8f931300de47a94dccef
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 insecure

Validation of mcp.rankparse.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
rankparse.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

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 Verified 200
http (plaintext) http://mcp.rankparse.com/mcp HTTPS enforced 301 https://mcp.rankparse.com/mcp
MCP tools · 73 exposed · ~7,936 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_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_rank_change_alerts ~175

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 by the daily digest pass. 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
limitintegerMax events to return (default 100, max 100)
offsetintegerPagination 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_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
limitintegerMax keywords to return (default 100, max 100)
offsetintegerPagination offset (default 0)
site_idstringyesLogical RankParse website ID, from list_rank_tracking_sites

No output schema declared.

No examples provided.

outreach_add_contacts ~257

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.

NameTypeReqDescription
campaign_idstringyesCampaign id from outreach_create_campaign
contactsarrayyesContacts with their personalized copy

No output schema declared.

No examples provided.

outreach_configure_sending ~100

Update the Gmail sending schedule: max_sends_per_day (1-100, applies account-wide across all campaigns) and/or auto_send_enabled (false stops ALL sending, true resumes it). Confirm with the user before changing these; they control real email volume.

NameTypeReqDescription
auto_send_enabledbooleanMaster switch for the hourly send sweep
max_sends_per_dayintegerDaily send cap across all campaigns (1-100)

No output schema declared.

No examples provided.

outreach_create_campaign ~239

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 and get their OK, 8) outreach_launch_campaign. 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.

NameTypeReqDescription
goalstringWhat the outreach is trying to achieve, for the campaign record
namestringyesCampaign name, e.g. "SaaS blogs - competitor gap Aug 2026"
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 ~124

LAUNCH a campaign: REAL EMAILS will be sent from the user's Gmail account, paced under their daily send cap by an hourly background sweep. Only call this after the user has seen the drafted emails and explicitly approved sending. Contacts already emailed in any previous campaign are automatically suppressed. Safe to call again on an already-launched campaign to queue newly added contacts: it arms only contacts not yet queued, and never re-sends anything. Returns queued/suppressed counts for THIS call and the estimated days to complete.

NameTypeReqDescription
campaign_idstringyesCampaign id to launch

No output schema declared.

No examples provided.

outreach_list_campaigns ~22

List this account's outreach campaigns with status and contact counts.

Input schema present but exposes no named parameters.

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 ~50

Get the Gmail sending pipeline status: connected account, auto-send on/off, daily cap, how many sent today, remaining budget today, total queued across campaigns, and estimated days to drain the queue.

Input schema present but exposes no named parameters.

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.

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.

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 ~182

Update rank-change alert settings for one RankParse website: enable/disable the daily 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 daily email.

NameTypeReqDescription
email_overridestring|nullEmail address to send this site's digest lines to instead of the account email; null clears it
enabledbooleanTurn the daily alert digest on or off for this site
move_thresholdnumberAverage-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_connectionsbooleanSkip people already connected to the user (default true)
exclude_past_campaigns_targetsbooleanSkip people already targeted in a previous campaign (default true)
filter_urlstringA LinkedIn search results URL to source profiles from. Provide this or profile_urls, not both.
followup_delay_hoursnumberHours to wait after connection before the follow-up (default 24)
followup_template_idstringTemplate 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_delaynumberSeconds to wait before the first invite (default 0)
invite_limitnumberMax invites to send (default 20)
invite_template_idstringyesTemplate id from zeekeo_create_template (type linkedin_invite)
namestringyesCampaign name
profile_urlsarraySpecific 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
subjectstringSubject 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
subjectstringSubject line, required when type is email_message
typestringyesChannel to send through

No output schema declared.

No examples provided.

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 84 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 73 tools: get_backlinks, get_referring_domains, get_outbound_links, get_domain_authority, get_domain_rank, and 68 more. Their descriptions and schemas cost roughly 7,936 tokens of context every time the server is loaded.

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

No. We connected to io.github.abhibavishi/rankparse-mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

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 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.