Skip to main content
Glama
lukaskostka99

Marketing Miner MCP

Marketing Miner MCP Server

MCP server for the Marketing Miner Profilers API. Connects Claude, Cursor, Windsurf and other MCP clients to Marketing Miner keyword research and website analytics.

Available tools

Tool

Endpoint

Description

marketing_miner_get_search_volume

GET /keywords/search-volume-data

Search volume + CPC + YoY + seasonality for a single keyword

marketing_miner_batch_search_volume

POST /keywords/search-volume-data

Batch processing of 1–1000 keywords

marketing_miner_get_keyword_suggestions

GET /keywords/suggestions

Keyword suggestions (questions / new / trending) with difficulty and SERP features. Supports limit + offset with has_more / next_offset in the response.

marketing_miner_get_website_stats

GET /websites/stats

Estimated traffic, keyword count, breakdown by result_type

marketing_miner_get_website_stats_range

GET/POST /websites/stats-range

Historical traffic trend + competitor comparison

Every tool returns markdown (default, human-readable) or json (response_format: "json"), plus structuredContent with all API fields. Each tool declares an outputSchema for client-side validation.

Related MCP server: SurfRank MCP Server

Installation

Get an API token from marketingminer.com/en/features/api, then pick one of the options below.

Works on macOS, Windows and Linux — Claude Code CLI handles the config file location for you.

claude mcp add marketing-miner \
  -s user \
  -e MARKETING_MINER_API_TOKEN=YOUR_TOKEN \
  -- npx -y github:lukaskostka/marketing-miner-mcp
  • -s user → installs globally (available from any project)

  • -e → sets the API token as environment variable

  • Replace YOUR_TOKEN with your actual Marketing Miner API token

To remove later: claude mcp remove marketing-miner -s user.

Option B — npx straight from GitHub (no clone needed)

The repo ships the built dist/ folder, so npx can run it directly.

Claude Desktop / Cursor / Windsurf config:

{
  "mcpServers": {
    "marketing-miner": {
      "command": "npx",
      "args": ["-y", "github:lukaskostka/marketing-miner-mcp"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "MARKETING_MINER_API_TOKEN": "your_token_here"
      }
    }
  }
}

Option C — clone the repo (for development / customization)

git clone https://github.com/lukaskostka/marketing-miner-mcp.git
cd marketing-miner-mcp
npm install
npm run build

Then point your MCP client at the built binary:

{
  "mcpServers": {
    "marketing-miner": {
      "command": "node",
      "args": ["/absolute/path/to/marketing-miner-mcp/dist/index.js"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "MARKETING_MINER_API_TOKEN": "your_token_here"
      }
    }
  }
}

Run locally with MARKETING_MINER_API_TOKEN=xxx npm start (stdio, default) or MCP_TRANSPORT=http MARKETING_MINER_API_TOKEN=xxx npm start (Streamable HTTP on port 8000).

Option D — Docker (self-hosted HTTP)

git clone https://github.com/lukaskostka/marketing-miner-mcp.git
cd marketing-miner-mcp
docker build -t marketing-miner-mcp .
docker run -p 8000:8000 -e MARKETING_MINER_API_TOKEN=your_token_here marketing-miner-mcp

Connect from a remote client via Streamable HTTP URL (see Connecting from an MCP client below).

Configuration

Variable

Default

Description

MARKETING_MINER_API_TOKEN

Required. API token from marketingminer.com/en/features/api

MCP_TRANSPORT

stdio

stdio (local MCP clients) or http (Streamable HTTP for hosted deployments)

HOST

0.0.0.0

HTTP bind host

PORT

8000

HTTP port

MCP_HTTP_PATH

/mcp

HTTP path

Alternative token names: MARKETING_MINER_API_KEY, MARKETING_MINER_TOKEN, MM_API_TOKEN, MM_API_KEY.

Remote HTTP client config

If you are running the server over Streamable HTTP (Option D above or any remote host), MCP clients connect via URL only:

{
  "mcpServers": {
    "marketing-miner": {
      "url": "https://your-host.example.com/mcp"
    }
  }
}

Usage examples

1. Search volume for a single keyword:

"What is the search volume and seasonality of marketing in CZ?" → marketing_miner_get_search_volume({lang:"cs", keyword:"marketing"})

2. Batch processing:

"Compare search volume of SEO terms" → marketing_miner_batch_search_volume({lang:"cs", keywords:["seo","ppc","google ads","content marketing"]})

3. Question research for FAQ:

"Find questions around hypoteka" → marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", suggestions_type:"questions", limit:50})

4. Paginating suggestions:

Fetch next page → marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", limit:50, offset:50})

5. Competitor analysis:

"How much traffic does seznam.cz get?" → marketing_miner_get_website_stats({lang:"cs", type:"domain", target:"seznam.cz"})

6. Competitor trends:

"Compare traffic trends of seznam.cz vs. idnes.cz" → marketing_miner_get_website_stats_range({lang:"cs", type:"domain", target:"seznam.cz", period:"monthly", competitors:["idnes.cz"]})

Supported markets

cs, sk, pl, hu, ro, gb, us

Architecture

  • Node 18+, TypeScript (strict), ESM

  • MCP SDK ^1.18 (McpServer.registerTool, Zod input + output schemas, tool annotations)

  • Streamable HTTP (stateless per-request transport) + stdio

  • Zod runtime validation with .strict() (rejects unknown keys)

  • structuredContent + outputSchema on every tool

  • Response truncation for both markdown (25k chars) and oversized structuredContent arrays

  • Optional DNS-rebinding protection (Origin header validation when bound to loopback)

License

MIT

Available Tools

5 tools
marketing_miner_batch_search_volumeBatch Keyword Search VolumeA
Read-onlyIdempotent
Inspect

Fetch volume, CPC, YoY change and 12-month seasonality for up to 1000 keywords in one POST request.

Args:

  • lang: Market code (cs/sk/pl/hu/ro/gb/us).

  • keywords: 1-1000 keywords (each 2-80 chars).

  • response_format: 'markdown' (default) or 'json'.

Returns an array of records, one per keyword. Prefer this over calling marketing_miner_get_search_volume in a loop - it is one API credit per keyword and much faster.

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesLanguage/market code. 'gb' = United Kingdom, 'us' = United States.
keywordsYes1-1000 keywords. Each 2-80 chars.
response_formatNoOutput format. 'markdown' for human reading, 'json' for structured processing.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
langYes
countYes
keywordsYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark readOnly and idempotent. The description adds that it is a POST request (non-modifying query), returns an array of records, and mentions API credit cost and speed, which are useful beyond annotations.

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 brief paragraphs with clear sections: purpose, args, and return/guidance. No unnecessary words; efficient and well-organized.

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

Completeness5/5

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

Given simple inputs, existence of output schema, and annotations covering safety, the description fully addresses purpose, parameters, output, and usage guidance. No obvious gaps.

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 coverage is 100% with descriptions for all parameters. The description restates most constraints but adds context like response format options and market code examples, adding marginal value.

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?

The description clearly states the tool fetches volume, CPC, YoY change, and seasonality for up to 1000 keywords via POST. It distinguishes from the sibling 'marketing_miner_get_search_volume' by explicitly recommending batch over looping.

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

Usage Guidelines5/5

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

Explicitly advises to use this tool over calling the singular version in a loop, citing cost and speed. Provides key usage constraints (up to 1000 keywords, 2-80 chars, market codes) and formats.

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

marketing_miner_get_keyword_suggestionsGet Keyword SuggestionsA
Read-onlyIdempotent
Inspect

Retrieve related keyword suggestions with optional full metrics (difficulty, SERP features, volume, CPC, seasonality).

Args:

  • lang: Market code (cs/sk/pl/hu/ro/gb/us).

  • keyword: Seed keyword (2-80 chars).

  • suggestions_type (optional): 'questions' | 'new' | 'trending'. Omit for a general mix.

  • with_keyword_data (default true): include search_volume, cpc, difficulty, serp_features, yoy_change, peak_month, monthly_sv.

  • limit (default 50, max 1000): client-side window size.

  • offset (default 0): client-side offset into API results for pagination.

  • response_format: 'markdown' or 'json'.

Returns: keywords[limit], plus total_available, has_more, next_offset for pagination.

Use for topical research, content-cluster ideation, FAQ mining (suggestions_type='questions'), trend discovery (suggestions_type='trending').

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesLanguage/market code. 'gb' = United Kingdom, 'us' = United States.
keywordYesKeyword to analyze (2-80 chars).
suggestions_typeNoFilter suggestions: 'questions' (question-style), 'new' (newly appearing), 'trending' (gaining traffic).
with_keyword_dataNoInclude difficulty, SERP features and volume metrics for each suggestion.
limitNoMaximum suggestions to return (client-side window over API payload).
offsetNoClient-side offset into the full API response. Use with limit to paginate.
response_formatNoOutput format. 'markdown' for human reading, 'json' for structured processing.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
langYes
seed_keywordYes
suggestions_typeYes
total_availableYes
returnedYes
offsetYes
has_moreYes
next_offsetYes
export_credits_costYes
keywordsYes

TDQS

A4.8/5.0
Behavior5/5

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

The description adds significant behavioral context beyond the annotations: it explains pagination (limit/offset), the effect of with_keyword_data, return fields (total_available, has_more, next_offset), and the 'Omit for a general mix' for suggestions_type. No contradiction with annotations.

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 concisely structured with a main sentence followed by bullet points for arguments and return. Every sentence adds value; no extraneous words. The purpose is front-loaded.

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

Completeness5/5

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

Given the tool's moderate complexity (7 params, 2 required), high schema coverage, and presence of annotations and output description, the description is complete. It covers input semantics, output structure, and pagination, leaving no major gaps for an AI agent.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds crucial semantics beyond the schema: it clarifies 'client-side window size' for limit, 'client-side offset into API results' for offset, the default behavior of with_keyword_data, and what 'Omit' means for suggestions_type. This provides valuable insight for proper invocation.

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?

The description clearly states the tool's verb ('Retrieve'), resource ('related keyword suggestions'), and optional metrics. It explicitly lists specific use cases (topical research, FAQ mining, trend discovery) that distinguish it from sibling tools focused on search volume and website stats.

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 provides explicit use cases for the tool (e.g., 'Use for topical research, content-cluster ideation, FAQ mining'). While it does not explicitly state when not to use or name alternatives, the context signals (sibling tools) and the clear use cases give adequate guidance.

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

marketing_miner_get_search_volumeGet Keyword Search VolumeA
Read-onlyIdempotent
Inspect

Fetch monthly search volume, CPC, year-over-year change, peak month and full 12-month seasonality for a single keyword.

Args:

  • lang: Market code (cs/sk/pl/hu/ro/gb/us).

  • keyword: Keyword to analyze (2-80 chars).

  • response_format: 'markdown' (default) or 'json'.

Returns a single record with: keyword, search_volume, cpc{value, currency_code}, yoy_change, peak_month, monthly_sv (12 months).

Use when you need volume/CPC/seasonality for ONE keyword. For multiple keywords, use marketing_miner_batch_search_volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesLanguage/market code. 'gb' = United Kingdom, 'us' = United States.
keywordYesKeyword to analyze (2-80 chars).
response_formatNoOutput format. 'markdown' for human reading, 'json' for structured processing.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
keywordYes
search_volumeYes
cpcYes
yoy_changeYes
peak_monthYes
monthly_svYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. The description adds details on return fields and output format, which is useful but does not contradict annotations. It could mention rate limits or auth, but not required given read-only nature.

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 concise: three sentences covering purpose, arguments, return structure, and usage guidance. No fluff, front-loaded with the main action.

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

Completeness5/5

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

The tool has 3 parameters with schema coverage 100% and an output schema exists. The description covers all necessary information: what it does, parameters, return fields, and when to use it versus siblings. It is complete.

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% with well-described parameters. The description adds value by explaining the purpose of response_format (human reading vs structured processing) and listing market codes explicitly. It also clarifies keyword length constraints, though schema already has them.

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?

The description clearly states it fetches monthly search volume, CPC, year-over-year change, peak month, and seasonality for a single keyword. It uses a specific verb ('Fetch') and resource ('search volume' for a keyword), and distinguishes from the sibling batch tool.

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

Usage Guidelines5/5

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

Explicitly says 'Use when you need volume/CPC/seasonality for ONE keyword. For multiple keywords, use marketing_miner_batch_search_volume.' This provides clear when-to-use and when-not-to-use guidance.

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

marketing_miner_get_website_statsGet Website StatsA
Read-onlyIdempotent
Inspect

Aggregate organic/paid traffic, keyword counts and result-type breakdown for a domain, subdomain, prefix, or exact URL.

Args:

  • lang: Market code (cs/sk/pl/hu/ro/gb/us).

  • type: 'domain' | 'subdomain' | 'prefix' | 'exact'.

  • target: Target value (3-253 chars). Examples: 'seznam.cz', 'blog.seznam.cz', 'https://seznam.cz/email/'.

  • scheme (optional, for type='exact' or 'prefix'): 'https' | 'http'.

  • response_format: 'markdown' or 'json'.

Returns: stats[] per result_type (organic, paid, ai_overviews, local_pack, images, videos, ...), plus totals (estimated_traffic_sum, number_of_keywords_sum).

Use for competitor sizing, SEO audits, and SERP-feature distribution analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesLanguage/market code. 'gb' = United Kingdom, 'us' = United States.
typeYesTarget granularity: 'domain' (example.com), 'subdomain' (blog.example.com), 'prefix' (URL prefix), 'exact' (exact URL).
targetYesTarget value (domain, subdomain, or URL, 3-253 chars).
schemeNoURL scheme. Only relevant for type='exact' or 'prefix'.
response_formatNoOutput format. 'markdown' for human reading, 'json' for structured processing.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
statsYes
estimated_traffic_sumYes
estimated_traffic_change_sumYes
number_of_keywords_sumYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds context on the output structure: 'stats[] per result_type (organic, paid, ai_overviews, ...) plus totals.' This goes beyond the annotations, providing useful behavioral insight. No contradictions.

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 concise (four sentences) with front-loaded summary. It uses a clean 'Args' block for parameter details. Every sentence earns its place, no redundancy. Structured format aids quick parsing.

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

Completeness5/5

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

Given the output schema exists, the description adequately explains the return values (stats per result type plus totals). All parameters are explained with examples. The tool's complexity is moderate, and the description covers all necessary information for an agent to use effectively.

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 covers all 5 parameters with descriptions (100% coverage). The description adds value by providing concrete examples for 'target' (e.g., 'seznam.cz') and clarifies the usage of 'scheme' parameter. This enhances understanding beyond the schema.

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?

The description clearly states it aggregates organic/paid traffic, keyword counts, and result-type breakdown for various URL granularities. It explicitly names the resource ('website stats') and the verb ('aggregate'). Sibling tools like batch search volume and keyword suggestions are distinct, so no confusion.

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 provides explicit use cases: 'competitor sizing, SEO audits, and SERP-feature distribution analysis.' This gives clear context on when to use the tool. However, it does not explicitly state when not to use it or mention alternatives, but the use cases are sufficient for differentiation.

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

marketing_miner_get_website_stats_rangeGet Website Stats Time RangeA
Read-onlyIdempotent
Inspect

Historical traffic time series (daily/weekly/monthly) for a target, with optional competitor comparison.

Args:

  • lang: Market code.

  • type: 'domain' | 'subdomain' | 'prefix' | 'exact'.

  • target: 3-253 chars.

  • scheme (optional): 'https' | 'http'.

  • period (optional): 'daily' | 'weekly' | 'monthly'.

  • competitors (optional, max 10): list of competitor domains/URLs.

  • response_format: 'markdown' or 'json'.

Returns: stats_range[] (date, result_type, estimated_traffic) + optional competitors[] with their own stats_range. Use for trend analysis, year-over-year charts, and competitor benchmarking.

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesLanguage/market code. 'gb' = United Kingdom, 'us' = United States.
typeYesTarget granularity: domain / subdomain / prefix / exact.
targetYesTarget value (3-253 chars).
schemeNo
periodNoAggregation period for the time series.
competitorsNoUp to 10 competitor domains/URLs. Each competitor uses the same 'type' as the primary target (e.g. if type='domain', pass bare domains).
response_formatNoOutput format. 'markdown' for human reading, 'json' for structured processing.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
stats_rangeYes
competitorsYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint. The description adds behavioral details beyond these, such as the output structure (stats_range[] with date, result_type, estimated_traffic, and optional competitors), the maximum of 10 competitors, and the response format options. No contradictions.

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 concise, with clear sections for Args and Returns. It is front-loaded with the core purpose and every sentence is necessary. No fluff or repetition.

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

Completeness5/5

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

Given the complexity (7 parameters, optional output schema), the description is complete. It explains the purpose, each parameter's role (with additional context for competitors), the return structure, and typical use cases. The presence of an output schema reduces the need to detail return values, but the description still provides a useful summary.

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 high (86%), but the description adds meaningful context: it clarifies that competitors use the same 'type' as the primary target, and it explains the output structure. The schema already documents most parameters well, so the description provides incremental value without redundancy.

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?

The description clearly states it provides 'Historical traffic time series (daily/weekly/monthly) for a target, with optional competitor comparison.' It uses a specific verb ('get') and resource ('time range'), differentiating it from sibling tools like 'get_website_stats' (likely single-point) and others.

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 explicitly states 'Use for trend analysis, year-over-year charts, and competitor benchmarking.' While it doesn't explicitly state when not to use this tool, the context implies it's for time-range data, distinguishing it from single-point alternatives. No explicit alternative tools are named, but the sibling list is available.

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. 5 tool updatesv3.2.0
    • First observedmarketing_miner_batch_search_volume
    • First observedmarketing_miner_get_keyword_suggestions
    • First observedmarketing_miner_get_search_volume
    • First observedmarketing_miner_get_website_stats
    • First observedmarketing_miner_get_website_stats_range

TDQS

A4.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation: single vs. batch search volume, keyword suggestions, website stats snapshot vs. historical range. No functional overlap exists.

Naming Consistency5/5

All tools follow a consistent 'marketing_miner_<action>_<resource>' pattern (e.g., marketing_miner_batch_search_volume, marketing_miner_get_keyword_suggestions). No mixed conventions.

Tool Count5/5

5 tools is well-scoped for a focused SEO data retrieval server, covering keyword research and website analysis without unnecessary bloat.

Completeness4/5

Covers core workflows: keyword volume (single and batch), suggestions with metrics, website stats (snapshot and historical). Minor gap: no standalone keyword difficulty tool, but difficulty is included in suggestions with_keyword_data.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Connects AI assistants to SE Ranking's SEO and project management APIs to enable natural language queries for keyword research, backlink analysis, and technical audits. It supports comprehensive tasks including competitive analysis, domain traffic tracking, and AI search visibility monitoring.
    100
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access SurfRank's AI visibility analytics platform through 24 tools. It allows agents to run AI-visibility reports, research keywords, track competitors, and manage projects directly from chat interfaces.
    24
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connect Claude, ChatGPT, Cursor, VS Code, or a CLI client to VibeSEO. Then ask for keyword research, audits, backlinks, Search Console trends, and content workflow actions in natural language.
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Connects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.
    6
    28
    MIT