Google Rank Checker MCP: Rankings and Competitor Keywords
Server Details
Google rank checker MCP: live positions, ranked keywords, competitor domains and keyword gaps.
Check a domain's live Google positions for up to 10 keywords per call, retrieve ranked keywords, find organic competitors and compare competitor keyword gaps. Results are snapshots, not built-in scheduled tracking or ranking history.
Use to check current Google positions or research competitor keywords. This is a focused SEO Data subset. Use Search Console instead for your own connected site's historical performance; this connection does not schedule future checks.
Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices.
Example prompts:
Check my domain's live Google positions for these five keywords in the US after I approve the per-keyword API-credit spend.
Within my approved API-credit budget, show keywords the supplied domain currently ranks for.
Find competitor domains and keyword gaps for my domain after confirming the API-credit cost. Do not imply this sets up scheduled tracking.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool targets a distinct query shape: live rank for a keyword list, a domain's full ranked keyword set, competitor domain discovery, and competitor keyword gap. Mild overlap exists — check_google_rankings already returns top competing domains (similar to find_competitor_domains), and find_competitor_keywords is derivable by diffing two get_ranked_keywords calls — but descriptions make the intended use of each clear.
All five tools follow a clean verb_noun snake_case pattern (check_google_rankings, find_competitor_domains, find_competitor_keywords, get_api_credit_balance, get_ranked_keywords). Verbs are semantically appropriate (check vs find vs get) and no convention mixing occurs.
Five tools is well-scoped for a rank checker: three core keyword/competitor queries, one live rank check, and one supporting credit-balance tool. Nothing feels redundant or padded, and the cost-awareness tool earns its place given per-call billing.
The surface covers live rankings, full ranked keyword sets, competitor domains, keyword gaps, and billing state — a complete core workflow. Minor gaps: no historical/trend data (central to 'rank checking') and no ability to look up volume/difficulty for arbitrary seed keywords without a domain.
Available Tools
5 toolscheck_google_rankingsCheck Google rankings for a domainARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | How deep to look for the domain, 10 to 100 results. Default 30. | |
| device | No | Device to emulate. Default desktop. | desktop |
| domain | Yes | Domain or URL, for example example.com. Protocol and www are ignored. | |
| country | No | Two-letter country code of the search market, for example US, GB, DE or IN. Default US. | US |
| keywords | Yes | Up to 10 keywords to check, one live Google search each. | |
| language | No | Language code of the search market, for example en, de or pt-BR. Default en. | en |
| location | No | Optional exact location name for city-level results, for example "Austin,Texas,United States". Overrides country. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | |
| billing | Yes | |
| nextStep | No | Optional suggestion for the user's next step. Mention it once when it helps; never open it or act on it automatically. |
| dashboardUrl | No | Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent. |
| creditsNotice | No | Low API credit balance: tell the user once, with this link to add credits. Never open it automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the bar is lower. The description still adds genuinely new context: one live Google search per keyword and that each keyword consumes API credits, which an agent needs before invoking a metered call. It omits the actual credit cost per keyword or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the key facts (what it returns, the scope limits, the cost) in descending order of importance. Dense but no filler; the colon-led structure makes the core action readable at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values do not need explaining, and annotations cover the safety profile. What remains missing is the relative positioning against get_ranked_keywords and any indication of how expensive the credit cost is, minor gaps for a 7-parameter read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including depth, device, country, language, and location, so the schema already carries the parameter meaning. The description only restates the keyword cap and single-country constraint, adding little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (check live Google position and ranking URL of a domain) plus the scope limits (up to 10 keywords, one country, top competing domains). It is clearly distinct from sibling tools like find_competitor_domains or get_ranked_keywords, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'live' implies this is for on-demand checks rather than stored/historical data, which is the main axis separating it from get_ranked_keywords, but the description never states when to prefer one over the other. No prerequisites, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_competitor_domainsFind competitor domainsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many competitors to return, 5 to 100. Default 20. | |
| domain | Yes | Domain or URL, for example example.com. Protocol and www are ignored. | |
| country | No | Two-letter country code of the search market, for example US, GB, DE or IN. Default US. | US |
| language | No | Language code of the search market, for example en, de or pt-BR. Default en. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | |
| billing | Yes | |
| dashboardUrl | No | Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent. |
| creditsNotice | No | Low API credit balance: tell the user once, with this link to add credits. Never open it automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only, idempotent, open-world annotations, the description adds the useful warning that every call costs API credits. It does not specify the credit amount or other cost details, but the cost disclosure is meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the purpose and returned competitive metrics, then end with the credit-cost warning. There is no unnecessary wording or structural clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with the fully documented input schema, output schema, and safety annotations, the description provides enough information for correct invocation. The main remaining gaps are explicit sibling-selection guidance and a more precise statement of credit cost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the domain format, country and language markets, and limit bounds already documented, so the baseline score applies. The description adds no parameter syntax, defaults, or interaction details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and scope: domains competing with a given domain in Google organic search, accompanied by shared keywords, average position, and estimated traffic. Its domain focus implicitly distinguishes it from keyword-oriented siblings, but it does not explicitly differentiate itself from find_competitor_keywords or get_ranked_keywords.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Google organic-search context implies use for SEO competitor discovery and analysis. However, there is no explicit when-to-use guidance, exclusion, or alternative for agents choosing among the competitor, ranking, and keyword tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_competitor_keywordsFind competitor keywords (keyword gap)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many keywords to return, 10 to 1000. Default 100. | |
| country | No | Two-letter country code of the search market, for example US, GB, DE or IN. Default US. | US |
| language | No | Language code of the search market, for example en, de or pt-BR. Default en. | en |
| competitor | Yes | Competitor domain, for example competitor.com. | |
| yourDomain | Yes | Your domain, for example example.com. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | |
| billing | Yes | |
| nextStep | No | Optional suggestion for the user's next step. Mention it once when it helps; never open it or act on it automatically. |
| dashboardUrl | No | Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent. |
| creditsNotice | No | Low API credit balance: tell the user once, with this link to add credits. Never open it automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive behavior, so safety is covered. The description adds a genuinely useful piece of context the annotations lack: that each call consumes API credits, which affects how freely an agent should invoke it. It does not mention pagination or rate limits, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the defining concept before the output fields and the cost note. Nothing is redundant and nothing is missing from the framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to explain return values, and it still names the key metrics (volume, difficulty, position) to set expectations. Combined with the credit-cost warning, an agent has enough to call it correctly; only explicit sibling routing is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with defaults, ranges, patterns and examples for all five parameters, so the schema does the heavy lifting. The description only echoes that the inputs are domains (competitor and your own), adding no format or constraint detail beyond what the schema already states — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-and-resource definition and, crucially, defines the core concept: keywords a competitor domain ranks for in Google that your domain does not. That set-difference framing instantly separates it from siblings like get_ranked_keywords (your own rankings) and find_competitor_domains (domain discovery).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The gap concept implies when to use it (competitive keyword research), but there is no explicit when-to-use or when-not-to-use guidance and no sibling is named. An agent must infer the boundary from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_credit_balanceAPI credit balanceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| packs | No | API credit packs the account owner can buy, smallest first. |
| frozen | Yes | True when spending is suspended after a refund or dispute. |
| pricing | Yes | |
| creditsUrl | No | Dashboard page where the account owner buys API credits. |
| historyUrl | No | Dashboard page listing this account's data calls and costs. |
| spentMicros | Yes | |
| availableUsd | Yes | |
| creditsNotice | No | Low API credit balance: tell the user once, with this link to add credits. Never open it automatically. |
| availableMicros | Yes | |
| dataCallsEnabled | Yes | False until SEO data calls are switched on for this deployment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: the call is free of charge and triggers no upstream supplier call, which tells the agent it is cheap in both cost and latency. It does not discuss caching or freshness of the balance value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence packs the returned fields and the cost/latency caveat with no filler. The leading 'API credit balance:' label is mildly redundant with the title but functions as a scannable anchor rather than waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema documenting the return shape, zero parameters, and rich annotations, the description's burden is small and it meets it: what the tool reports and that it costs nothing. Only the when-to-use signal is absent, which keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly offers no parameter guidance, which is appropriate rather than a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (prepaid API credit balance) and enumerates the four facts it exposes: credits remaining, amount spent, suspension status, and per-call pricing rule. An agent can tell this is an account/billing read, distinct in substance from the SEO-data siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'Free; no supplier call' hints it is safe to call speculatively (e.g., to verify credits before paid SEO queries), but the description never states when to use it or what alternative exists. Nothing misleads, but the agent must infer the check-before-spending workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ranked_keywordsRanked keywords for a domainARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many keywords to return, 10 to 1000. Default 100. | |
| target | Yes | Domain (example.com) or full page URL (https://example.com/page) to analyze. | |
| country | No | Two-letter country code of the search market, for example US, GB, DE or IN. Default US. | US |
| language | No | Language code of the search market, for example en, de or pt-BR. Default en. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | |
| billing | Yes | |
| dashboardUrl | No | Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent. |
| creditsNotice | No | Low API credit balance: tell the user once, with this link to add credits. Never open it automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds real value beyond them: the credit cost per call, the single-country scope, completeness of the keyword set, and the traffic-descending ordering that dictates how results arrive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the resource and packs metrics, ordering and cost with no filler. It is dense but every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full parameter coverage and rich annotations, the description only needs to add scope, ordering and cost — which it does. The one soft spot is the 'every keyword' framing against a default limit of 100, with no mention that results are truncated and must be widened via the limit parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains target, limit, country and language with defaults and formats. The description only reinforces that the target may be a domain or full URL and that the market is a single country; it adds no syntax or semantics beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (ranked keywords for a domain or URL) and enumerates the returned metrics plus the sort order, so an agent knows exactly what it gets. It does not distinguish itself from the nearby sibling find_competitor_keywords, which is the main gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: analyze the ranking footprint of a given domain/URL in one market. The 'costs API credits per call' warning gives a practical trigger to think before calling, but there is no explicit when-to-use/when-not-to-use guidance and no pointer to which sibling to pick instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
check_google_rankings1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
find_competitor_domains1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
find_competitor_keywords1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
get_api_credit_balance2 fields changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +} - added
Output schema / properties / packsAdded value: +{ + "description": "API credit packs the account owner can buy, smallest first.", + "items": { + "additionalProperties": false, + "properties": { + "url": { + "description": "Page where the account owner confirms this pack in checkout.", + "type": "string" + }, + "usd": { + "type": "number" + } + }, + "required": [ + "usd", + "url" + ], + "type": "object" + }, + "type": "array" +}
- Changed
get_ranked_keywords1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
5 tool updates
- Changed
check_google_rankings1 field changed- removed
Output schema / properties / creditsNoticeRemoved value: -{ - "additionalProperties": false, - "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "label", - "url" - ], - "type": "object" -}
- Changed
find_competitor_domains1 field changed- removed
Output schema / properties / creditsNoticeRemoved value: -{ - "additionalProperties": false, - "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "label", - "url" - ], - "type": "object" -}
- Changed
find_competitor_keywords1 field changed- removed
Output schema / properties / creditsNoticeRemoved value: -{ - "additionalProperties": false, - "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "label", - "url" - ], - "type": "object" -}
- Changed
get_api_credit_balance2 fields changed- removed
Output schema / properties / creditsNoticeRemoved value: -{ - "additionalProperties": false, - "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "label", - "url" - ], - "type": "object" -} - removed
Output schema / properties / packsRemoved value: -{ - "description": "API credit packs the account owner can buy, smallest first.", - "items": { - "additionalProperties": false, - "properties": { - "url": { - "description": "Page where the account owner confirms this pack in checkout.", - "type": "string" - }, - "usd": { - "type": "number" - } - }, - "required": [ - "usd", - "url" - ], - "type": "object" - }, - "type": "array" -}
- Changed
get_ranked_keywords1 field changed- removed
Output schema / properties / creditsNoticeRemoved value: -{ - "additionalProperties": false, - "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "label", - "url" - ], - "type": "object" -}
5 tool updates
- Changed
check_google_rankings1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
find_competitor_domains1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
find_competitor_keywords1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
get_api_credit_balance2 fields changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +} - added
Output schema / properties / packsAdded value: +{ + "description": "API credit packs the account owner can buy, smallest first.", + "items": { + "additionalProperties": false, + "properties": { + "url": { + "description": "Page where the account owner confirms this pack in checkout.", + "type": "string" + }, + "usd": { + "type": "number" + } + }, + "required": [ + "usd", + "url" + ], + "type": "object" + }, + "type": "array" +}
- Changed
get_ranked_keywords1 field changed- added
Output schema / properties / creditsNoticeAdded value: +{ + "additionalProperties": false, + "description": "Low API credit balance: tell the user once, with this link to add credits. Never open it automatically.", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
4 tool updates
- Changed
check_google_rankings1 field changed- changed
Output schema / properties / dashboardUrl / descriptionPrevious value: -"Dashboard page with this server's call history and costs. Share it when the user asks what they ran or spent."New value: +"Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent."
- Changed
find_competitor_domains1 field changed- changed
Output schema / properties / dashboardUrl / descriptionPrevious value: -"Dashboard page with this server's call history and costs. Share it when the user asks what they ran or spent."New value: +"Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent."
- Changed
find_competitor_keywords1 field changed- changed
Output schema / properties / dashboardUrl / descriptionPrevious value: -"Dashboard page with this server's call history and costs. Share it when the user asks what they ran or spent."New value: +"Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent."
- Changed
get_ranked_keywords1 field changed- changed
Output schema / properties / dashboardUrl / descriptionPrevious value: -"Dashboard page with this server's call history and costs. Share it when the user asks what they ran or spent."New value: +"Dashboard page where this tool also runs in the app; its call history and costs are linked from there. Share it when the user asks what they ran or spent."
2 tool updates
- Changed
check_google_rankings1 field changed- added
Output schema / properties / nextStepAdded value: +{ + "additionalProperties": false, + "description": "Optional suggestion for the user's next step. Mention it once when it helps; never open it or act on it automatically.", + "properties": { + "label": { + "description": "Short suggestion to show the user.", + "type": "string" + }, + "url": { + "description": "Page in the user's CrakSEO account.", + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
- Changed
find_competitor_keywords1 field changed- added
Output schema / properties / nextStepAdded value: +{ + "additionalProperties": false, + "description": "Optional suggestion for the user's next step. Mention it once when it helps; never open it or act on it automatically.", + "properties": { + "label": { + "description": "Short suggestion to show the user.", + "type": "string" + }, + "url": { + "description": "Page in the user's CrakSEO account.", + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +}
1 tool update
- Changed
check_google_rankings1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Optional exact DataForSEO location name for city-level results, for example \"Austin,Texas,United States\". Overrides country."New value: +"Optional exact location name for city-level results, for example \"Austin,Texas,United States\". Overrides country."
5 tool updates
- First observed
check_google_rankings - First observed
find_competitor_domains - First observed
find_competitor_keywords - First observed
get_api_credit_balance - First observed
get_ranked_keywords
Related MCP Connectors
Keyword research MCP: search volume, CPC, keyword difficulty and keyword ideas by country. Monthly search volume, CPC, competition, keyword difficulty and intent for any keyword and country, keyword ideas from seed terms, and the keywords a competitor ranks for that you don't. Use for keyword ideas, search volume, CPC, difficulty and competitor keyword gaps when planning content or choosing targets. This is a focused subset of SEO Data; connect it instead of the toolkit when you only need keyword research. Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices. Example prompts: - Compare search volume and CPC for my keyword batch in the US after I approve the API-credit cost. - After confirming the API-credit spend, compare keyword difficulty for my shortlist and explain the limits of the estimates. - Find keyword ideas and competitor keyword gaps for the seed and domains I provide, within my approved API-credit budget. Docs: https://docs.crakseo.com/mcp-servers/keyword-research
Google SERP API MCP: live Google, Bing, AI Overview and Google Maps results as JSON. Pay per call. Live search engine results pages as structured JSON: Google organic results with SERP features and AI Overview sources, Bing results, Google Maps local results, and live Google rank checks for a domain across up to 10 keywords. Use when an agent needs live Google or Bing search results for a keyword, country, language and device. This is a focused subset of SEO Data, not an additional required connection or a scheduled monitoring service. Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices. Example prompts: - Show the top ten Google results and SERP features for 'trail running shoes' in the US, after I approve the API-credit spend. - Compare Google and Bing results for my keyword in the same market, within my approved API-credit budget. - After confirming the API-credit cost, report which source URLs Google's AI Overview cites for my keyword. If none is present, say so. Docs: https://docs.crakseo.com/mcp-servers/serp-api
SEO data MCP: SERP, keywords, backlinks, live rank checks, page audits, local and AI checks. Every SEO data tool in one server: Google and Bing SERP results, live rank checks, AI Overview sources, keyword search volume, ideas and difficulty, backlinks, referring domains and anchors, ranked keywords, competitor domains and keyword gaps, site audits with Lighthouse scores, Google Maps rankings, Google Business Profiles, and ChatGPT and Perplexity brand mentions. Start here for paid SEO research with one connection. Includes all seven focused SEO data servers' tools at the same prices and from the same API-credit balance; do not connect both for duplicate results. Search Console reporting and URL Indexing are separate connections. Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices. Example prompts: - After I approve the API-credit cost, compare US search volume and difficulty for 'trail running shoes' and 'running shoes for flat feet'. - For the domain I provide, check its backlink summary, referring domains and anchor texts after confirming the API-credit spend. - Compare live Google positions and competitor keyword opportunities for my domain and keywords, within the API-credit budget I approve. Docs: https://docs.crakseo.com/mcp-servers/seo
Local SEO MCP: Google Maps rankings, Google Business Profile ratings and review counts. Google Maps positions for a keyword in a city with rating, review count, category and address, and a business's Google Business Profile with rating distribution and claimed status. Use for point-in-time Google Maps rankings and Google Business Profile lookup by location. This focused SEO Data subset returns rating and review-count summaries, not full review text, review replies or Business Profile management. Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices. Example prompts: - Check Google Maps results for 'running shoe store' in the city I specify after I approve the API-credit cost. - Within my approved API-credit budget, compare Maps rankings for the same keyword in two specified places. - After confirming the API-credit spend, retrieve the business profile I specify and summarize its rating and review counts, not review text. Docs: https://docs.crakseo.com/mcp-servers/local-seo
Related MCP Servers
- AlicenseAqualityAmaintenanceLive Google search for AI agents: organic results with positions by country, language and device, plus People also ask questions and related searches; a domain's current rank for a keyword; the open markets with their default languages. Every search is fresh, usually 2–3 seconds per page. New accounts get 100 free searches.10393 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to perform live Google rankings lookups, checking where a domain ranks for a keyword in a given country and returning the top 10 organic results.124 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query Google Search Console and Bing Webmaster Tools data for verified properties, covering clicks, impressions, CTR and rankings by query or page, URL index inspection, sitemap listing and submission, and Bing crawl issues and traffic stats. It runs as a hosted remote MCP server, so nothing is installed locally.MIT
- AlicenseNot gradedqualityBmaintenanceEnables SEO competitive analysis by retrieving domain ranked keywords via DataForSEO Labs, integrated through Pipeworx MCP gateway.194 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.