Keyword Search Volume, CPC, Keyword Ideas and Google Trends API
Google keyword search volume, CPC, difficulty, keyword ideas and Google Trends. Pay per call (x402)
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"keyword-search-volume-google-trends": {
"url": "https://keywords.duoleads.com/mcp"
}
}
}远程端点
https://keywords.duoleads.com/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢keyword_overview(keywords, locationCode, languageCode, country, includeMonthly)
Search volume, CPC, competition, keyword difficulty and search intent for up to 100 keywords in one $0.04 call (Google Ads data). Use when you already have a keyword list to prioritise. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Keywords without data are left out of results and listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keywords": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 320
},
"description": "Keywords to look up (1-100; each at most 80 characters). Whitespace and control characters are normalised to single spaces and keywords to lower case; a keyword that is then empty, over 10 words or over 80 characters is not looked up and is listed in missing, and a request with no keyword left to look up is a free 400 (the one exception to openverbs schema compatibility)."
},
"locationCode": {
"description": "Google Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"languageCode": {
"description": "Language code (2-letter). Default en. An unsupported location falls back to 2840 (United States) with en (or the requested language if the United States offers it); a supported location with a language it does not offer uses that location's default language (en if offered). Either way market.fallback is true and market.warnings says what was used.",
"type": "string",
"maxLength": 16
},
"country": {
"description": "ISO 3166-1 alpha-2 code or country name, used when locationCode is absent (uk = gb).",
"type": "string",
"maxLength": 64
},
"includeMonthly": {
"description": "Add each keyword's monthly search volumes.",
"type": "boolean"
}
},
"required": [
"keywords"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢keyword_search_volume(keywords, country, lang, includeMonthly)
Google search volume, CPC, competition, keyword difficulty and intent for up to 20 comma-separated keywords in one $0.04 GET (Google Ads data). Use when you need monthly search volume for a few keywords in a country. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Up to 100 keywords for the same $0.04: POST /v1/keyword-overview. Keywords without data are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keywords": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 320
},
"description": "1-20 keywords (no commas inside a keyword; each at most 80 characters). Whitespace and control characters are normalised to single spaces and keywords to lower case; a keyword that is then empty, over 10 words or over 80 characters is not looked up and is listed in missing; none left to look up is a free 400."
},
"country": {
"description": "ISO 3166-1 alpha-2 country code of a supported location (us, gb, de, ...; uk = gb). Default us.",
"type": "string",
"maxLength": 8
},
"lang": {
"description": "Language code offered for the country (en, es, de, ...). Default en when offered.",
"type": "string",
"maxLength": 16
},
"includeMonthly": {
"description": "Add each keyword's monthly search volumes.",
"type": "boolean"
}
},
"required": [
"keywords"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢keyword_ideas(keyword, limit, locationCode, languageCode, country, ...)
Keyword ideas for a seed keyword, each with Google search volume, CPC, competition, keyword difficulty and search intent; up to 100 ideas in one $0.04 call (Google Ads data). Use when you need related keywords to target. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. No ideas returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"maxLength": 320,
"description": "Seed keyword to expand (at most 80 characters; whitespace, control characters and case are normalised; a seed then empty, over 10 words or over 80 characters is a free 400)."
},
"limit": {
"description": "Maximum ideas to return (1-100). Default 20.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"locationCode": {
"description": "Google Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"languageCode": {
"description": "Language code (2-letter). Default en. An unsupported location falls back to 2840 (United States) with en (or the requested language if the United States offers it); a supported location with a language it does not offer uses that location's default language (en if offered). Either way market.fallback is true and market.warnings says what was used.",
"type": "string",
"maxLength": 16
},
"country": {
"description": "ISO 3166-1 alpha-2 code or country name, used when locationCode is absent.",
"type": "string",
"maxLength": 64
},
"includeMonthly": {
"description": "Add each idea's monthly search volumes.",
"type": "boolean"
}
},
"required": [
"keyword"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢google_trends(keyword, country, timeframe)
Google Trends interest over time for one keyword: a dated 0-100 series for a country or worldwide, past 7 days to 5 years, in one $0.045 GET. Use when you need search-interest trends, seasonality or demand direction for a keyword. Daily points for short windows, weekly for 12 months. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Price: $0.045 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "One keyword or phrase (2-100 characters, no commas)."
},
"country": {
"description": "ISO 3166-1 alpha-2 country code (us, gb, de, ...; uk = gb). Omit for worldwide.",
"type": "string",
"maxLength": 8
},
"timeframe": {
"description": "Time window. Default past_12_months.",
"type": "string",
"enum": [
"past_7_days",
"past_30_days",
"past_90_days",
"past_12_months",
"past_5_years"
]
}
},
"required": [
"keyword"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢google_trends_related_queries(keyword, country, timeframe)
Google Trends related queries for one keyword: the top related searches (0-100) and the rising ones (% growth), for a country or worldwide, past 7 days to 5 years, in one $0.03 GET. Use when you need query expansion, content ideas or emerging searches around a keyword. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Price: $0.03 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "One keyword or phrase (2-100 characters, no commas)."
},
"country": {
"description": "ISO 3166-1 alpha-2 country code (us, gb, de, ...; uk = gb). Omit for worldwide.",
"type": "string",
"maxLength": 8
},
"timeframe": {
"description": "Time window. Default past_12_months.",
"type": "string",
"enum": [
"past_7_days",
"past_30_days",
"past_90_days",
"past_12_months",
"past_5_years"
]
}
},
"required": [
"keyword"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢google_trends_by_region(keyword, country, timeframe)
Google Trends interest by region for one keyword: 0-100 interest per subregion of a country (or per country worldwide), past 7 days to 5 years, in one $0.03 GET. Use when you need where a keyword is searched most, for geo-targeting or local market research. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Price: $0.03 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].
输入模式
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "One keyword or phrase (2-100 characters, no commas)."
},
"country": {
"description": "ISO 3166-1 alpha-2 country code (us, gb, de, ...; uk = gb). Omit for worldwide.",
"type": "string",
"maxLength": 8
},
"timeframe": {
"description": "Time window. Default past_12_months.",
"type": "string",
"enum": [
"past_7_days",
"past_30_days",
"past_90_days",
"past_12_months",
"past_5_years"
]
}
},
"required": [
"keyword"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据