CrakSEO Google Rank Tracker MCP

Live Google rank checks, ranked keywords, competitor domains and keyword gaps. Hosted Streamable HTTP with OAuth or a scoped API key. Check availability and pricing before paid calls.

Размещённый MCP-сервер

npx add-mcp 'https://crakseo.com/mcp/rank-tracker'

Устанавливается в Claude Code, Codex, Cursor и другие

Документация

Agent Instructions

For SEO data and indexing, start with /seo-mcp/overview.md and /seo-mcp/connect.md, then read the focused server reference. The documentation search MCP at https://docs.crakseo.com/mcp searches documentation only. Product tools use https://crakseo.com/mcp/. Check tool availability and API credit balance before paid calls. Request owner approval for paid indexing. Never invent prices, indexing guarantees or directory approval.

Google Rank Tracker MCP: Ranked Keywords and Competitor Domains

Google rank tracker MCP: live rank checks, ranked keywords, competitor domains and keyword gaps.

Live Google positions of a domain for up to 10 keywords, every keyword a domain ranks for, the domains it competes with in organic search, and the keywords a competitor ranks for that you don't.

Endpointhttps://crakseo.com/mcp/rank-tracker
TransportStreamable HTTP
Sign-inOAuth, or an API key as a bearer token
Scopesseo-data:read
BillingPay as you go (API credits)

When to use

Use when checking positions, finding a competitor's best keywords or building a keyword gap list.

Connect

claude mcp add --transport http crakseo-rank-tracker https://crakseo.com/mcp/rank-tracker

Use crakseo-rank-tracker as the server name and https://crakseo.com/mcp/rank-tracker as the URL. Run /mcp in Claude Code to authenticate. For OAuth, scoped API keys and a free test, follow Connect and test.

Other clients: ChatGPT, Cursor, Codex, VS Code, Cline, Gemini CLI, Grok and Muse.

Connect using the URL above; no registry ID or marketplace listing is required.

Verify without spending

Use CrakSEO get_api_credit_balance to report my balance and dataCallsEnabled. Do not buy credits or make a paid call.

Tools

ToolWhat it doesPrice per call
check_google_rankingsCheck Google rankings for a domainTBD (placeholder)
get_ranked_keywordsRanked keywords for a domainTBD (placeholder)
find_competitor_keywordsFind competitor keywords (keyword gap)TBD (placeholder)
find_competitor_domainsFind competitor domainsTBD (placeholder)
get_api_credit_balanceAPI credit balanceFree

[!NOTE]

Tool names, titles and parameters on this page match the server's tools/list response, which stays authoritative. Example values are placeholders, not real measurements. Prices marked TBD are set at launch on API credits.

check_google_rankings

Check Google rankings for a domain. Check Google rankings: the live Google position and ranking URL of a domain for up to 10 keywords in one country, with the top competing domains. Costs API credits per keyword.

  • Price per call: TBD (placeholder)
  • Annotations: read-only, idempotent
  • Limits: Results are cached for 24 hours. Failed calls are free.
ParameterTypeRequiredDescription
domainstringYesDomain or URL, for example example.com. Protocol and www are ignored.
keywordsstring[]YesUp to 10 keywords to check, one live Google search each.
countrystringNoTwo-letter country code of the search market, for example US, GB, DE or IN. Default US.
languagestringNoLanguage code of the search market, for example en, de or pt-BR. Default en.
locationstringNoOptional exact DataForSEO location name for city-level results, for example "Austin,Texas,United States". Overrides country.
device"desktop" | "mobile"NoDevice to emulate. Default desktop.
depthintegerNoHow deep to look for the domain, 10 to 100 results. Default 30.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_google_rankings",
    "arguments": {
      "domain": "example.com",
      "keywords": [
        "best running shoes"
      ],
      "country": "US"
    }
  }
}
{
  "result": {
    "domain": "example.com",
    "rankings": [
      {
        "keyword": "best running shoes",
        "position": 7,
        "url": "https://example.com/running-shoes/",
        "topDomains": [
          "competitor.example"
        ]
      }
    ]
  },
  "billing": {
    "channel": "credits",
    "chargedMicros": 0,
    "chargedUsd": 0,
    "cacheHit": false,
    "balanceMicros": 0
  }
}

get_ranked_keywords

Ranked keywords for a domain. Ranked keywords: every Google keyword a domain or URL ranks for in one country, with position, ranking URL, search volume, difficulty and estimated traffic, highest traffic first. Costs API credits per call.

  • Price per call: TBD (placeholder)
  • Annotations: read-only, idempotent
  • Limits: Results are cached for 24 hours. Failed calls are free.
ParameterTypeRequiredDescription
targetstringYesDomain (example.com) or full page URL (https://example.com/page) to analyze.
countrystringNoTwo-letter country code of the search market, for example US, GB, DE or IN. Default US.
languagestringNoLanguage code of the search market, for example en, de or pt-BR. Default en.
limitintegerNoHow many keywords to return, 10 to 1000. Default 100.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ranked_keywords",
    "arguments": {
      "target": "example.com",
      "country": "US",
      "limit": 10
    }
  }
}
{
  "result": {
    "target": "example.com",
    "totalCount": 0,
    "keywords": [
      {
        "keyword": "example keyword",
        "position": 3,
        "url": "https://example.com/page",
        "searchVolume": 0,
        "keywordDifficulty": 0,
        "estimatedTraffic": 0
      }
    ]
  },
  "billing": {
    "channel": "credits",
    "chargedMicros": 0,
    "chargedUsd": 0,
    "cacheHit": false,
    "balanceMicros": 0
  }
}

find_competitor_keywords

Find competitor keywords (keyword gap). Competitor keywords: keywords a competitor domain ranks for in Google that your domain does not, with search volume, difficulty and the competitor's position. Costs API credits per call.

  • Price per call: TBD (placeholder)
  • Annotations: read-only, idempotent
  • Limits: Results are cached for 24 hours. Failed calls are free.
ParameterTypeRequiredDescription
competitorstringYesCompetitor domain, for example competitor.com.
yourDomainstringYesYour domain, for example example.com.
countrystringNoTwo-letter country code of the search market, for example US, GB, DE or IN. Default US.
languagestringNoLanguage code of the search market, for example en, de or pt-BR. Default en.
limitintegerNoHow many keywords to return, 10 to 1000. Default 100.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "find_competitor_keywords",
    "arguments": {
      "competitor": "competitor.example",
      "yourDomain": "example.com",
      "limit": 10
    }
  }
}
{
  "result": {
    "competitor": "competitor.example",
    "yourDomain": "example.com",
    "keywords": [
      {
        "keyword": "example keyword",
        "searchVolume": 0,
        "keywordDifficulty": 0,
        "competitorPosition": 4,
        "competitorUrl": "https://competitor.example/page"
      }
    ]
  },
  "billing": {
    "channel": "credits",
    "chargedMicros": 0,
    "chargedUsd": 0,
    "cacheHit": false,
    "balanceMicros": 0
  }
}

find_competitor_domains

Find competitor domains. Competitor domains: the domains competing with a domain in Google organic search, with shared keywords, average position and estimated traffic. Costs API credits per call.

  • Price per call: TBD (placeholder)
  • Annotations: read-only, idempotent
  • Limits: Results are cached for 24 hours. Failed calls are free.
ParameterTypeRequiredDescription
domainstringYesDomain or URL, for example example.com. Protocol and www are ignored.
countrystringNoTwo-letter country code of the search market, for example US, GB, DE or IN. Default US.
languagestringNoLanguage code of the search market, for example en, de or pt-BR. Default en.
limitintegerNoHow many competitors to return, 5 to 100. Default 20.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "find_competitor_domains",
    "arguments": {
      "domain": "example.com",
      "country": "US",
      "limit": 5
    }
  }
}
{
  "result": {
    "domain": "example.com",
    "competitors": [
      {
        "domain": "competitor.example",
        "sharedKeywords": 0,
        "avgPosition": 0,
        "organicKeywords": 0,
        "estimatedTraffic": 0
      }
    ]
  },
  "billing": {
    "channel": "credits",
    "chargedMicros": 0,
    "chargedUsd": 0,
    "cacheHit": false,
    "balanceMicros": 0
  }
}

get_api_credit_balance

API credit balance. API credit balance: prepaid credits left for SEO data calls, amount spent, whether spending is suspended, and the per-call pricing rule. Free; no supplier call.

  • Price per call: Free
  • Annotations: read-only, idempotent
  • Limits: Free; reads the wallet only.
ParameterTypeRequiredDescription
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_api_credit_balance",
    "arguments": {}
  }
}
{
  "availableMicros": 0,
  "availableUsd": 0,
  "spentMicros": 0,
  "frozen": false,
  "dataCallsEnabled": true,
  "pricing": {
    "creditMarkup": 0,
    "minimumPerCallUsd": 0
  }
}

Errors

CodeMeaningWhat to do
insufficient_creditsThe API credits wallet can't cover the call's maximum price.Add credits at https://crakseo.com/app/indexing/credits, then retry the same call. The failed call isn't charged.
forbiddenThe connection doesn't have the scope this tool needs, for example seo-data:read or console:write.Reconnect and grant the scope named in the message, or use an API key that has it.
not_connectedGoogle Search Console or Bing Webmaster Tools isn't connected, or no connected property covers the URL.Open the connect link in the message and sign in with the account that owns the property.
invalid_inputA parameter is missing or out of range.Read the message, which names the field, fix the argument and retry.
confirmation_requiredA paid indexing submission doesn't have the account owner's approval for this exact quote.submit_indexing_urls returns status: "needs_confirmation" with a confirmationUrl. Send the owner there to approve, then retry with the same quoteId and idempotencyKey. The agent can't approve spend.
wallet_frozenAPI credit spending is suspended on this account after a refund or dispute.Contact support@crakseo.com.
budget_exceededThe account's daily API credit spending limit, or the service's daily data budget, is used up.Retry tomorrow.
disabledSEO data calls aren't switched on for this deployment yet.Use the free Search Console and URL indexing tools meanwhile. get_api_credit_balance reports dataCallsEnabled.
supplier_unavailableThe data supplier couldn't be reached or is rate limiting.Retry later. Failed data calls are free.
supplier_unknownThe data supplier didn't answer in time or sent an unreadable response.Retry later. Failed data calls are free.
supplier_errorThe data supplier refused the request or returned no data.Check the arguments (for example the location name) and retry. Failed data calls are free.

Technical registry details

Intended MCP Registry ID: com.crakseo/rank-tracker.

The namespace com.crakseo is the reverse-domain form of crakseo.com, used to identify the publisher. It is not a website address, product name or connection URL. You do not need it to connect.

This identifier is recorded in our publishing drafts, not a claim of registry acceptance or directory approval.

This documentation is built and hosted on Mintlify, a developer documentation platform.