Skip to main content
Glama

SEO Data MCP (SteadyScrape)

Server Details

Keyword volume, live SERP ranks, domain traffic, ranked keywords, backlinks, Google Trends, YouTube.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
steadyscrape/seo-data-mcp
GitHub Stars
0
Server Listing
SEO Data MCP Server

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation4/5

Each tool maps to a distinct resource+action: backlink detail, domain-level aggregate, live SERP, trends, keyword metrics, domain→keyword list, and two YouTube tools. The only fuzziness is backlinks vs domain_overview (which includes summary backlink stats) and ranked_keywords vs keyword_metrics (opposite directions: domain→keywords vs keyword→metrics), but the descriptions make the granularity and direction clear.

Naming Consistency4/5

All snake_case and readable, with source-prefixed names (google_serp, google_trends, youtube_search, youtube_video) for source-specific tools and noun-phrase names (backlinks, domain_overview, keyword_metrics, ranked_keywords) for others. Not a single verb_noun convention throughout, but the pattern is predictable enough for an agent.

Tool Count5/5

Eight tools covering SEO data domains is well within the ideal 3-15 range. Each tool earns its place; none appear redundant padding, and no domain is served by multiple near-identical endpoints.

Completeness4/5

Strong coverage of the core SEO data lifecycle: backlink profiles, domain traffic/rank, live SERP and rank checks, trends, keyword metrics, and domain keyword rankings, plus YouTube discovery/stats. Gaps exist around keyword discovery/ideas, competitor gap or intersection analysis, and channel-level YouTube listing, but agents can work around these by chaining existing tools.

Available Tools

8 tools
domain_overviewDomain SEO overviewA
Read-onlyIdempotent
Inspect

For up to 100 domains: estimated monthly organic traffic and number of ranking keywords in one country (Google), paid keywords, plus backlink profile: domain rank (0-1000), backlinks, referring domains, spam score, first seen. Billed per started block of 10 domains that have data.

NameRequiredDescriptionDefault
countryNo2-letter country code (US, GB, DE...) or English name. Default US.
domainsYes
languageNoLanguage code, e.g. en, es, de. Default en.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, so the description's added value is the billing rule ('billed per started block of 10 domains that have data') and the data-source scope (Google, one country). It does not cover throttling, partial-data handling, or whether domains without data still consume the block.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with zero filler, front-loaded with the batch limit and payload scope. The colon-separated metric list is slightly run-on but every item earns its place because it defines the payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only aggregate lookup with no output schema, the description supplies the metric set, billing model, and geographic scoping needed to call it correctly. The remaining gap is input formatting of domain strings and behavior on domains with no data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Country and language are already documented in the schema (67% coverage); the description usefully restates the 100-domain cap and the 'one country' scoping. However, the undocumented 'domains' array remains ambiguous in both places — it does not say whether entries should be bare domains or full URLs, or whether subdomains are accepted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (domain-level SEO overview) and enumerates exactly which metrics come back: organic traffic, ranking keywords, paid keywords, domain rank, backlinks, referring domains, spam score, first seen. That makes it distinguishable from narrow siblings like backlinks or 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the aggregate metric list plus the 'up to 100 domains' batching hint at bulk overview lookups, while the siblings (backlinks, ranked_keywords, keyword_metrics) suggest the detailed single-metric alternatives but are never referenced. There is no explicit when-to-use / when-not-to-use statement or prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_serpGoogle search results (live SERP)A
Read-onlyIdempotent
Inspect

Live Google organic results for one keyword: position, title, URL, domain and snippet, plus which SERP features appear (AI Overview, People Also Ask, local pack, video...) and the AI Overview text. Optionally give target_domain to get that domain's best position (rank check). Billed per 10 results of depth.

NameRequiredDescriptionDefault
depthNoResults to fetch: 10-100 (default 10). Deeper is slower (100 takes ~15 s).
deviceNoDefault desktop.
countryNo2-letter country code (US, GB, DE...) or English name. Default US.
keywordYesThe search query.
languageNoLanguage code, e.g. en, es, de. Default en.
target_domainNoOptional domain to find in the results, e.g. example.com.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower. The description adds genuinely non-obvious context: billing is 'per 10 results of depth', tying cost to the depth parameter, and the schema notes the latency tradeoff. Auth requirements and failure modes are still unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences: what you get, the optional rank-check mode, and the cost model. No filler and the primary purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so adequately by listing the result fields and SERP feature types. Cost is covered; only edge cases like empty results or error behavior are absent, which is minor for a read-only search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description goes beyond the schema by explaining the outcome of target_domain (that domain's best position, i.e. a rank check) rather than just 'domain to find in the results', and by linking billing to depth.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource ('Live Google organic results for one keyword') and enumerates the returned fields (position, title, URL, domain, snippet) plus SERP features. This clearly separates it from youtube_search and keyword_metrics among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the optional target_domain mode ('get that domain's best position (rank check)'), which is real usage guidance for one parameter. However, it never states when to pick this over keyword_metrics or ranked_keywords, nor any exclusions or prerequisites, leaving sibling selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

keyword_metricsKeyword metrics (Google)A
Read-onlyIdempotent
Inspect

Google search volume, CPC, competition, keyword difficulty (0-100), search intent and the last 12 months of volume for up to 100 keywords in one country. Keywords without data are listed in noData and not charged. Billed per started block of 10 keywords that have data.

NameRequiredDescriptionDefault
countryNo2-letter country code (US, GB, DE...) or English name. Default US.
keywordsYes1-100 keywords.
languageNoLanguage code, e.g. en, es, de. Default en.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses the cost model ('billed per started block of 10 keywords that have data') and the partial-failure contract (no-data keywords are returned in noData and not charged). These are operational facts an agent cannot infer from structured fields and directly affect batching decisions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three packed sentences with no filler, front-loaded with the returned metrics, then constraints, then billing/exclusions. Every clause carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the returned metric fields. It never states whether results are keyed per keyword or the shape of the noData list, a minor residual gap for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so country, language and keyword formats are already documented in the schema with defaults and the 1-100 bound. The description restates the 100-keyword/one-country constraint but adds no syntax or format detail beyond it, making the schema baseline of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: returns Google search volume, CPC, competition, keyword difficulty (with its 0-100 scale), search intent and 12 months of volume. That is far more specific than siblings such as domain_overview or ranked_keywords, so an agent can tell which tool produces keyword-level metrics without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives usable context: up to 100 keywords, one country per call, and what happens to keywords lacking data. It does not name an alternative tool or state when a sibling should be preferred, so it stops short of explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ranked_keywordsKeywords a domain ranks forA
Read-onlyIdempotent
Inspect

The Google keywords a domain (or URL) ranks for in one country, sorted by estimated traffic: keyword, position, ranking URL, search volume, CPC and estimated visits. Up to 100 keywords per call, plus position distribution totals. Billed per call with data.

NameRequiredDescriptionDefault
limitNoKeywords to return (default 20).
domainYesDomain (example.com) or page URL.
countryNo2-letter country code (US, GB, DE...) or English name. Default US.
languageNoLanguage code, e.g. en, es, de. Default en.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context: billing occurs per call with data, results are capped at 100 keywords per call, and the output is sorted by estimated traffic with position distribution totals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with scope and return fields. Every sentence carries useful information: the first defines the resource and output columns, and the second adds the per-call limit and billing note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the returned fields and mentions position distribution totals, billing, and the 100-keyword cap. It is sufficiently complete for an agent to decide and invoke, though it lacks details on empty-result behavior or whether results beyond 100 are accessible via pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the domain, country, language, and limit parameters with defaults. The description reinforces that domain can be a URL and that results are scoped to one country, but it adds little parameter syntax or meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: Google keywords a domain or URL ranks for in one country, sorted by estimated traffic. It clearly distinguishes this from keyword_metrics or google_serp by focusing on domain-ranking keywords, though it does not name sibling tools explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives like keyword_metrics, domain_overview, or google_serp. The usage is implied by the description, but no exclusions, prerequisites, or alternative-selection criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_videoYouTube video stats and transcriptA
Read-onlyIdempotent
Inspect

Public stats for one YouTube video (views, likes, comment count, channel subscribers, tags, category, description, duration, publish date) and optionally its transcript. Billed per video; the transcript is billed separately and only if the video has captions.

NameRequiredDescriptionDefault
videoYesYouTube URL or 11-character video ID.
languageNoLanguage code, e.g. en, es, de. Default en.
include_transcriptNoAlso return the captions text (default false).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safe-read profile (readOnlyHint, idempotentHint, non-destructive), so the description's main value-add is the billing model: charged per video, transcript billed separately, and transcripts only exist when captions are present. That is meaningful operational context beyond the annotations. Missing rate-limit or quota details keeps it from 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Effectively two sentences, front-loaded with the returned fields and followed by the transcript and billing caveat. There is no filler, and each clause conveys usable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only fetch tool with complete schema coverage and no output schema, the description does well by enumerating the returned fields and explaining transcript availability. Minor gaps remain around error behavior when no captions exist or language fallback, but the essentials are covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each of the three parameters documented and defaults stated. The description only reinforces the optional transcript behavior and says nothing about the language parameter, so it adds little beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-resource pair: 'Public stats for one YouTube video', and enumerates exactly what the stats include. The phrase 'one YouTube video' also separates it from the sibling youtube_search, which searches videos rather than fetching a single video's metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the use case clear: fetch stats for a known video, optionally with transcript. It does not explicitly name youtube_search as the alternative or say when-not to use it, so it stops just short of full routing guidance.

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.

  1. 8 tool updates
    • First observedbacklinks
    • First observeddomain_overview
    • First observedgoogle_serp
    • First observedgoogle_trends
    • First observedkeyword_metrics
    • First observedranked_keywords
    • First observedyoutube_search
    • First observedyoutube_video

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Free keyword research with live search volume, CPC, competition and 12-month trends.
    11
    11 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to query live trend data and historical search volume across 30+ platforms like Google, TikTok, YouTube, Amazon, and Reddit, including growth comparisons and top-ranking trends.
    3
    16
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and terminal users to pull Google's own search-demand figures—monthly volume, 24-month history, true year-over-year, seasonality, competition and top-of-page bid ranges—for keywords they name or discover from seeds, a page URL or a whole site, plus place-name geotargeting. It is strictly read-only, never creating campaigns or spending money, and keeps "no data" distinct from zero searches.
    20 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.