Skip to main content
Glama
lukaskostka99

Marketing Miner MCP

Marketing Miner MCPサーバー

Marketing Miner Profilers API用のMCPサーバーです。Claude、Cursor、WindsurfなどのMCPクライアントをMarketing Minerのキーワード調査やウェブサイト分析に接続します。

利用可能なツール

ツール

エンドポイント

説明

marketing_miner_get_search_volume

GET /keywords/search-volume-data

単一キーワードの検索ボリューム + CPC + 前年比 + 季節性

marketing_miner_batch_search_volume

POST /keywords/search-volume-data

1〜1000キーワードのバッチ処理

marketing_miner_get_keyword_suggestions

GET /keywords/suggestions

難易度とSERP機能を含むキーワード提案(質問 / 新規 / トレンド)。レスポンス内の has_more / next_offset を使用した limit + offset をサポート

marketing_miner_get_website_stats

GET /websites/stats

推定トラフィック、キーワード数、result_type別の内訳

marketing_miner_get_website_stats_range

GET/POST /websites/stats-range

過去のトラフィックトレンド + 競合比較

各ツールは markdown(デフォルト、人間が読みやすい形式)または json (response_format: "json") を返し、さらにすべてのAPIフィールドを含む structuredContent を返します。各ツールはクライアント側の検証用に outputSchema を宣言しています。

Related MCP server: SurfRank MCP Server

インストール

marketingminer.com/en/features/api からAPIトークンを取得し、以下のいずれかのオプションを選択してください。

オプション A — Claude Code CLI ワンライナー(推奨、クロスプラットフォーム)

macOS、Windows、Linuxで動作します。Claude Code CLIが設定ファイルの場所を自動的に処理します。

claude mcp add marketing-miner \
  -s user \
  -e MARKETING_MINER_API_TOKEN=YOUR_TOKEN \
  -- npx -y github:lukaskostka/marketing-miner-mcp
  • -s user → グローバルにインストール(どのプロジェクトからでも利用可能)

  • -e → APIトークンを環境変数として設定

  • YOUR_TOKEN を実際のMarketing Miner APIトークンに置き換えてください

後で削除する場合: claude mcp remove marketing-miner -s user

オプション B — GitHubから直接 npx を実行(クローン不要)

リポジトリにはビルド済みの dist/ フォルダが含まれているため、npx で直接実行できます。

Claude Desktop / Cursor / Windsurf の設定:

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

オプション C — リポジトリをクローン(開発 / カスタマイズ用)

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

その後、MCPクライアントでビルド済みのバイナリを指定します:

{
  "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"
      }
    }
  }
}

ローカルで実行する場合: MARKETING_MINER_API_TOKEN=xxx npm start (stdio、デフォルト) または MCP_TRANSPORT=http MARKETING_MINER_API_TOKEN=xxx npm start (ポート8000でStreamable HTTPを実行)。

オプション D — Docker (セルフホスト型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

Streamable HTTP URL経由でリモートクライアントから接続します(以下の「MCPクライアントからの接続」を参照)。

設定

変数

デフォルト

説明

MARKETING_MINER_API_TOKEN

必須。 marketingminer.com/en/features/api から取得したAPIトークン

MCP_TRANSPORT

stdio

stdio (ローカルMCPクライアント) または http (ホスト型デプロイ用のStreamable HTTP)

HOST

0.0.0.0

HTTPバインドホスト

PORT

8000

HTTPポート

MCP_HTTP_PATH

/mcp

HTTPパス

代替のトークン名: MARKETING_MINER_API_KEY, MARKETING_MINER_TOKEN, MM_API_TOKEN, MM_API_KEY

リモートHTTPクライアントの設定

Streamable HTTP経由でサーバーを実行している場合(上記のオプションDまたはリモートホスト)、MCPクライアントはURLのみで接続します:

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

使用例

1. 単一キーワードの検索ボリューム:

"CZにおける marketing の検索ボリュームと季節性を教えて" → marketing_miner_get_search_volume({lang:"cs", keyword:"marketing"})

2. バッチ処理:

"SEO用語の検索ボリュームを比較して" → marketing_miner_batch_search_volume({lang:"cs", keywords:["seo","ppc","google ads","content marketing"]})

3. FAQのための質問調査:

"hypoteka に関する質問を見つけて" → marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", suggestions_type:"questions", limit:50})

4. 提案のページネーション:

次のページを取得 → marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", limit:50, offset:50})

5. 競合分析:

"seznam.cz のトラフィックはどれくらい?" → marketing_miner_get_website_stats({lang:"cs", type:"domain", target:"seznam.cz"})

6. 競合トレンド:

"seznam.cz と idnes.cz のトラフィックトレンドを比較して" → marketing_miner_get_website_stats_range({lang:"cs", type:"domain", target:"seznam.cz", period:"monthly", competitors:["idnes.cz"]})

対応市場

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

アーキテクチャ

  • Node 18+、TypeScript (strict)、ESM

  • MCP SDK ^1.18 (McpServer.registerTool、Zod入力 + 出力スキーマ、ツールアノテーション)

  • Streamable HTTP (リクエストごとのステートレス転送) + stdio

  • .strict() を使用したZodランタイム検証(未知のキーを拒否)

  • すべてのツールで structuredContent + outputSchema を使用

  • Markdown(25k文字)および巨大な structuredContent 配列のレスポンス切り捨て

  • オプションのDNSリバインディング保護(ループバックにバインドされている場合の Origin ヘッダー検証)

ライセンス

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