Skip to main content
Glama
phalkmin

trendzeist-mcp

trendzeist-mcp

Turn Google Trends into your next 10 blog posts — in one call.

trendzeist-mcp gives your AI assistant ranked breakout / rising / evergreen topics, the questions people actually ask, an AEO opportunity finder that scores question clusters with trend, news coverage, Wikipedia presence and citability hints, plus interest curves, regional demand, real-time trends, who covers a topic in Google News and Wikipedia attention. Free, local, private. No API key, no account, no browser.

SEO and AEO: find the questions people ask — and answer engines answer — then make your site the source they cite. Measuring your own visibility inside ChatGPT / Perplexity / AI Overviews is out of scope; this server tells you what to write, not who cites you.

You:   Give me blog post ideas about home espresso for US readers.
Agent: → discover_topics(["espresso", "espresso machine"], geo="US")
       ← 1 breakout, 14 rising, 14 evergreen candidates with growth %, angles and 6 questions
       → mine_questions("espresso machine", geo="US")
       ← 30 long-tail questions: how-to 18, comparison 6, definition 4, listicle 2
       → compare_keywords(["how to descale espresso machine", "best coffee beans for espresso"])
       ← "Interest in 'how to descale espresso machine' rose 120% ... peaking 2026-08-30 (rising)."
       "1. How to Descale Your Espresso Machine (how-to, rising +120%, publish now) ..."

Built with

trendzeist-mcp is a thin MCP layer over pytrends-modern, which handles all Google Trends requests. Trendzeist adds the MCP tools and prompt, request throttling, a persistent disk cache, strict input validation, LLM-friendly JSON output and the ranked discover_topics workflow. Other runtime dependencies: mcp (official MCP Python SDK), pandas, platformdirs and requests. All MIT/BSD/Apache licensed. Google Autocomplete, Google News RSS and the Wikimedia REST API are called directly with requests (keyless).

Related MCP server: google-search-trends-mcp

Quick start

# any one of these
uvx trendzeist-mcp
pipx run trendzeist-mcp
pip install trendzeist-mcp && trendzeist-mcp
docker run -i --rm ghcr.io/phalkmin/trendzeist-mcp

Claude Desktop — add under mcpServers in claude_desktop_config.json (macOS ~/Library/Application Support/Claude/, Windows %APPDATA%\Claude\, Linux ~/.config/Claude/):

"trendzeist": { "command": "uvx", "args": ["trendzeist-mcp"] }

Claude Code: claude mcp add trendzeist -- uvx trendzeist-mcp Cursor / VS Code / Codex: same command/args shape — see llms-install.md (written so you can paste it to an AI assistant and let it do the install).

Tools

Tool

What you get

discover_topics

Ranked blog topics from 1-5 seeds: breakout > rising > evergreen, deduped, each with a title angle; plus questions[] people ask

mine_questions

Long-tail questions about a seed from Google Autocomplete (how to, why, what is, vs …), deduped and angle-tagged — FAQ / AEO fuel

aeo_opportunities

Question clusters per seed × angle, scored with trend direction, Google News coverage (publishers to quote / pitch), Wikipedia presence and citability hints — one call, partial failures per source

news_coverage

Who covers a topic in Google News: headlines, publisher frequency table, recency histogram, coverage label

wiki_attention

Exact-title Wikipedia article and daily pageviews (direction, growth); has_article=false and optional related_article when only a different search hit is found

trendzeist_status

Health of every source (live / error / idle), cache usage, effective settings — free, no requests

interest_over_time

0-100 interest curve with mean, peak, direction, growth_3m / growth_12m and a plain-English insight

compare_keywords

Head-to-head share and winner for 2-5 keywords

related_queries

Top & rising related searches with breakout flags, angles and questions[]

related_topics

Top & rising Knowledge-Graph topics (best-effort)

interest_by_region

Where demand lives: COUNTRY (worldwide), REGION (within a country), CITY / DMA (US or worldwide)

suggest_keywords

Disambiguate a term into Google entities (title, type, mid)

trending_now

What's trending right now, with news headlines

list_categories

Find Google Trends category ids to narrow any query

Prompts: blog_ideas_from_trends(topic, audience, geo) (guided ideation), content_brief(topic, audience, geo) (titles, outline, FAQ, regions, publishers) and answer_brief(question, geo) (a citable answer: direct answer, statistic, quote, sources, FAQ, schema). A ready-made agent skill lives in SKILL.md.

Output conventions

  • Every result carries schema_version (currently 2; bumped only when a field is removed or changes meaning) and _meta with requests_made, cache_hit, cache_hits, cache_misses for that call — so the model knows when to slow down.

  • angle is one of how-to | comparison | listicle | definition | news (or null) — the title format the query suggests. Pair it with evidence: how-to → steps + numbers, comparison → table + quotes, definition → cite a primary source, news → dated publisher quotes.

  • Anything silently adjusted is reported: clamped limits add a note, empty results add a reason.

  • citability_hints (on aeo_opportunities) encode the GEO paper (Aggarwal et al., KDD 2024): citing sources, quotations and statistics each lifted AI-engine visibility 30-40%; keyword stuffing did nothing.

  • Language follows the market. With TRENDZEIST_HL unset, geo="BR" queries Google with hl=pt-BR (≈50 countries mapped), so related queries come back in Portuguese. The effective language is echoed as query.hl. Google News always uses the market's mapped edition (e.g. BR:pt), even when TRENDZEIST_HL pins the Trends UI language.

  • Authority channels: pass gprop="news" or gprop="youtube" to any explore tool to see what news outlets and video audiences are searching for — the sources answer engines cite most. gprop="images" and "froogle" (Shopping) also work.

Why this one?

trendzeist-mcp

typical alternatives

Ranked topic discovery in one call

✅ discover_topics

❌ raw primitives only

Guided ideation prompt

✅ blog_ideas_from_trends

❌

Multi-source, keyless

✅ Trends + Autocomplete + News + Wikipedia

single source, or paid aggregators

Related queries + breakout detection

✅

often missing in hosted/paid servers

Cost / auth

free, none

API key, monthly quota

Browser required

no

Chrome for some Python libraries

Cache survives client restarts

✅ safe JSON disk cache

usually in-memory or none

Rate-limit friendly

✅ throttled per HTTP request

❌ bursts, frequent 429s

Run from source

git clone https://github.com/phalkmin/trendzeist-mcp && cd trendzeist-mcp
uv sync --group dev
uv run pytest -q                 # offline tests
uv run pytest -q -m live         # optional: live canary against Google
uv run trendzeist-mcp              # stdio server
npx @modelcontextprotocol/inspector uv run trendzeist-mcp   # interactive debugging

Point a client at the clone with "command": "uv", "args": ["--directory", "/path/to/trendzeist-mcp", "run", "trendzeist-mcp"].

Configuration (env vars)

Variable

Default

Meaning

TRENDZEIST_HL

(unset → follows geo)

Pin the Trends/Autocomplete UI language (e.g. en-US); Google News uses its country edition independently. When unset, language follows geo (BR → pt-BR, unknown → en-US)

TRENDZEIST_TZ

360

Timezone offset in minutes

TRENDZEIST_MIN_INTERVAL

2.0

Minimum seconds between every HTTP request to Google hosts (Trends cookie / token / data, RSS, Autocomplete, News)

TRENDZEIST_WIKI_MIN_INTERVAL

0.5

Minimum seconds between Wikimedia requests (separate lane from Google)

TRENDZEIST_EXPLORE_TTL

900

Cache seconds for Trends explore, News search

TRENDZEIST_RSS_TTL

300

Cache seconds for the trending RSS feed

TRENDZEIST_STATIC_TTL

86400

Cache seconds for categories, suggestions, Autocomplete, Wikipedia

TRENDZEIST_MAX_MEMORY_ENTRIES

256

In-memory cache entries (disk is unbounded, swept on expiry)

TRENDZEIST_MAX_SERIES_POINTS

60

Downsample interest curves to at most this many points (positive integer)

TRENDZEIST_RETRIES

3

Retry attempts on transient errors

TRENDZEIST_BACKOFF

1.5

Exponential backoff factor

TRENDZEIST_PROXIES

—

Comma-separated proxy URLs. Rotated per request for explore calls; RSS, Autocomplete, News and Wikipedia always use the first one

TRENDZEIST_CACHE_DIR

OS user cache dir

Persistent JSON cache location (0700); off to disable

TRENDZEIST_LOG_LEVEL

WARNING

Python logging level (stderr)

Notes & limitations

  • Google rate-limits aggressively (HTTP 429). Every HTTP request is serialised and throttled; results are cached (15 min explore / News, 5 min RSS, 24 h categories / Autocomplete / Wikipedia) as plain JSON on disk so client restarts don't re-fetch. Memory cache is bounded and expired files are swept automatically. Errors come back as tool errors with guidance.

  • mine_questions issues up to 16 Autocomplete requests per uncached call (one per question prefix); at the default 2 s interval that is ~30 s worst case. It stops as soon as limit is met and returns partial results if Google starts refusing.

  • Values are Google's relative 0–100 index, not absolute search volume. growth_3m / growth_12m compare the mean of the last window with the window before it and are null when the timeframe is too short (use today 12-m / today 5-y).

  • Question prefixes in mine_questions are English; for native-language questions in a non-English market, pass a seed already phrased in that language.

  • related_topics frequently returns nothing from Google; related_queries is reliable.

  • Google's legacy daily trending_searches endpoint is gone (404); trending_now uses the RSS feed.

  • aeo_opportunities is the most expensive call: worst case 1 + 10 requests per seed (Wikipedia runs on its own lane). Google requests stop at the first 429; Wikipedia data is still returned. trendzeist_status shows which source is erroring without any request.

  • wiki_attention.has_article confirms an exact-title search match only; a different Wikipedia search hit appears as related_article, not as a citation or proof of a gap. Verify related titles and redirects manually before claiming an encyclopedic content gap.

  • Cache TTLs, memory-entry count and series-point cap must be positive integers; invalid values produce an actionable tool error rather than an opaque formatter failure.

  • Camoufox/browser mode from pytrends-modern is intentionally not used.

Disclaimer

This server talks to the same undocumented endpoints the trends.google.com frontend uses (plus Google Autocomplete and Google News RSS). They are unofficial and may change, rate-limit or disappear without notice. A weekly live canary runs in CI to catch breakage early. This project is not affiliated with, endorsed by, or sponsored by Google LLC. "Google Trends" is a trademark of Google LLC. You are responsible for complying with Google's terms of service in your jurisdiction.

Contributing

Issues and PRs welcome. Read AGENTS.md for architecture and conventions (also useful if you point a coding agent at the repo). Data-shape corrections after a Google change are the most valuable contribution — include the call you made and what came back.

License

MIT — see LICENSE. Built on pytrends-modern (MIT).

Available Tools

14 tools
aeo_opportunitiesB

AEO opportunity finder. For 1-5 seeds: question-shaped searches (Trends + a capped Autocomplete pass) clustered by seed and title angle, each scored with seed trend direction, Google News coverage (who to quote / pitch), Wikipedia presence and the evidence type that makes the answer citable. Up to ~1+10 requests per seed; partial failures per source in errors. limit: clusters (1-25).

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
limitNo
seedsYes
timeframeNotoday 3-m

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does disclose meaningful behavior: the request budget (~1+10 per seed), that autocomplete is capped, and that partial per-source failures surface in `errors`. This is genuinely useful operational context, though auth/read-only nature and data source freshness are left implicit.

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?

Dense but front-loaded, leading with what the tool is before the mechanics. Every clause adds information; phrasing is jargon-heavy in places ('AEO', 'title angle') but not padding.

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

Completeness3/5

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 need not be explained, and the `errors` note is a nice touch. However, for a 4-parameter tool with 0% schema coverage, leaving geo and timeframe unexplained makes the definition incomplete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must define all four parameters. It only covers two: seeds (1-5) and limit ('clusters (1-25)'). geo and timeframe (including the non-obvious default 'today 3-m') are left entirely undefined.

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?

States a concrete function (an AEO opportunity finder) and details the output: question-shaped searches clustered by seed/title angle and scored with several signals. The purpose is clear, but no sibling is named, so an agent cannot tell from the text alone how this differs from mine_questions, related_queries, or suggest_keywords.

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?

Gives an input constraint ('For 1-5 seeds') but no when-to-use, when-not-to-use, or explicit alternative. With 13 sibling tools covering overlapping keyword/question space, the absence of routing guidance is a real gap.

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

compare_keywordsA

Compare 2-5 keywords head-to-head: relative share, leader and trend direction for each. Use to pick the strongest angle among alternatives.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
gpropNo
categoryNo
keywordsYes
timeframeNotoday 12-m

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the core behavior (comparison, relative share, leader, trend direction) but doesn't mention limitations like data availability, normalization, or how 'leader' is determined. It's adequate but not rich.

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?

Two sentences, front-loaded with the core action and output, followed by a clear use case. No wasted words.

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

Completeness3/5

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

The tool has an output schema, so return values are covered. However, with no annotations and 0% schema coverage, the description should explain more about the optional parameters and any constraints (e.g., keyword count limits, required format). It's adequate for a simple comparison tool but leaves some 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 description coverage is 0%, so the description must compensate. It explains the 'keywords' parameter implicitly (2-5 keywords) but doesn't explain 'geo', 'gprop', 'category', or 'timeframe'. The description adds some meaning for the main parameter but leaves the optional parameters undocumented.

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 uses a specific verb ('Compare') and resource ('keywords head-to-head'), and clearly states what it produces: relative share, leader, and trend direction for each keyword. It also distinguishes itself from siblings by focusing on comparison rather than single-keyword trends or related queries.

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 when to use this tool: 'Use to pick the strongest angle among alternatives.' This gives clear context for selection. It doesn't explicitly name alternatives or exclusions, but the sibling list and the comparison-focused wording make the intended use clear.

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

discover_topicsA

One-shot topic discovery for blog ideation. For 1-5 seed keywords, pulls trend direction plus rising/top related queries, de-duplicates and ranks candidates as breakout > rising > evergreen, each tagged with a title angle. questions collects question-shaped searches across seeds. Partial failures are reported per seed in errors instead of failing the call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
gpropNo
categoryNo
timeframeNotoday 3-m
max_per_seedNo
seed_keywordsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly: it discloses de-duplication, ranking logic, angle tagging, question aggregation, and per-seed partial failure reporting. This goes well beyond a generic summary and tells the agent what to expect.

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 dense sentences with no filler. The use case is front-loaded, followed by output behavior and failure semantics, and every clause contributes actionable detail.

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

Completeness3/5

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

Output behavior is well covered and an output schema exists, so return values are not a gap. However, the optional filtering parameters (geo, gprop, category, timeframe) are not explained, and there is no guidance on when to prefer a sibling tool. Adequate for default calls but not fully complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter meaning. It adds useful semantics only for seed_keywords ('1-5') and indirectly for max_per_seed ('per seed'), while geo, gprop, category, and timeframe are left unexplained; gprop in particular is opaque.

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 composite behavior: one-shot topic discovery that pulls trend direction and related queries, de-duplicates, and ranks candidates as breakout > rising > evergreen with an `angle` tag. This distinguishes it from siblings like related_queries and related_topics by describing an aggregated, ranked, blog-oriented result.

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?

Explicitly frames the tool as 'one-shot topic discovery for blog ideation' and constrains input to 1-5 seed keywords, giving clear context for when to use it. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.

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

interest_by_regionB

Where a keyword is searched most. resolution: COUNTRY (geo='' only), REGION (states/provinces within geo), CITY and DMA (US metro areas; geo='US' or worldwide only). Non-US countries support REGION only.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
gpropNo
limitNo
categoryNo
keywordsYes
timeframeNotoday 12-m
resolutionNoCOUNTRY

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden and does disclose the important constraint matrix between resolution and geo, including the non-US REGION-only limitation. It says nothing about read-only nature, rate limits, pagination, or error behavior, so it is only partially transparent.

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?

Two compact sentences with the core purpose front-loaded and no filler. The shorthand notation ('geo='' only') is dense but readable, and nothing is wasted.

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

Completeness2/5

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

For a 7-parameter tool with 0% schema description coverage and no annotations, the description covers only the resolution/geo interaction. The return shape is arguably handled by the output schema, but the remaining call-critical parameters are left entirely unexplained.

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

Parameters2/5

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

Schema coverage is 0% across 7 parameters, so the description must compensate. It explains the semantics and valid values of resolution and its coupling to geo, but says nothing about keywords, timeframe, gprop, category, or limit, leaving most parameters undocumented anywhere.

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 opening phrase 'Where a keyword is searched most' states the resource and the breakdown dimension (geography) clearly, which separates it from the time-oriented sibling interest_over_time. It is not a clean verb+resource statement and no sibling is named explicitly, so it lands just short of a 5.

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 resolution/geo compatibility rules ('COUNTRY (geo='' only)', 'CITY and DMA ... geo='US' or worldwide only') effectively tell the caller when a given configuration is legal, which is real usage guidance. However, there is no guidance on when to choose this tool over interest_over_time or related_queries.

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

interest_over_timeB

Search-interest time series (0-100) for 1-5 keywords, with per-keyword summary (mean, latest, peak, direction, growth_3m/growth_12m % and a plain-English insight). Long series are downsampled to ~60 points. gprop: '' (web), 'news', 'youtube' (authority channels answer engines cite), 'images', 'froogle'.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
gpropNo
categoryNo
keywordsYes
timeframeNotoday 12-m

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden, and it does a solid job: it discloses the 0-100 scale, downsampling to ~60 points, the summary fields, and valid gprop values. It does not mention error behavior or rate limits, but it provides meaningful operational detail beyond a bare verb phrase.

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?

The description is compact and front-loaded, with the core output and keyword constraint stated first. The gprop list is efficient, and the parenthetical rationale for youtube adds useful context without excessive verbosity.

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

Completeness3/5

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

Since an output schema exists, the return value shape is handled externally. However, the description lacks guidance on geo/category semantics and does not explain valid timeframe formats beyond the default, leaving some ambiguity for an agent making a correct call.

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 0%, so the description must compensate for parameter meaning. It explains the gprop choices and limits keywords to 1-5, but it does not clarify geo, category, or timeframe formats beyond schema defaults, leaving part of the parameter surface undocumented.

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 clearly states the tool returns search-interest time series with per-keyword summary metrics, which conveys the core function of a time-series tool. It is distinct enough from siblings like interest_by_region and related_queries by emphasizing the temporal dimension, though it does not explicitly name those alternatives.

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 such as compare_keywords, interest_by_region, or trending_now. The time-series nature is implied, but no exclusions, prerequisites, or routing advice are provided, leaving the agent to infer the appropriate context.

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

list_categoriesA

Browse/search Google Trends category ids (e.g. 'coffee' -> Food & Drink > Coffee & Tea). Pass the id as category to other tools to narrow results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
searchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

There are no annotations, so the description carries full responsibility for disclosing behavior. It does strongly indicate a read/browse/search action and gives an example of the output form. However, it says nothing about how the limit parameter behaves, whether the empty search returns all categories, or if the list is sorted—a moderate gap for a read-only tool with no pre-existing annotation context.

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 entire description fits into two sentences and carries immediate value. The first word is the primary verb, a concrete example is embedded naturally, and the final sentence tells exactly what to do with the result. No repetition or filler—every clause earns its place.

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?

Given that an output schema exists, the description does not need to explain return fields. It sufficiently covers what the tool's purpose, how to invoke it, and how to apply results in the broader tool set. The only real gaps are the unresolved semantic of the limit parameter and some search matching details, which lower the score from a perfect context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must take on the burden of explaining parameters. It gives an example of what 'search' is for ('coffee' -> category path) and implies 'browse' covers the limit case, but it never mentions the limit parameter by name or explains its behavior. With only 2 parameters, both undocumented at schema level, a clear explanation of one is not enough; this is a meaningful gap.

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 starts with a specific verb and resource: 'Browse/search Google Trends category ids.' It gives a concrete example ('coffee' -> Food & Drink > Coffee & Tea) and explicitly explains its output is used by passing the id to other tools. This clearly distinguishes the function from its trend-analysis siblings, which operate on time series and related terms.

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 states when to use the tool: when you need category IDs to narrow other tools' results. It does not explicitly mention when not to use it or name alternate siblings like suggest_keywords, but the use case is clear enough. It provides a strong implication of usage but leaves exclusions and alternatives unstated.

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

mine_questionsA

Long-tail questions people type about a seed, from Google Autocomplete ('how to', 'why', 'what is', 'vs' ... expansions), de-duplicated and tagged with a title angle. Feeds FAQ sections and answer-engine (AEO) content. Up to ~16 throttled requests per call; results cached 24 h. limit: 1-100.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
seedYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It mentions throttling (up to ~16 requests per call), 24-hour caching, de-duplication, and tagging with a title angle. These are concrete behaviors that help the agent understand side effects and constraints. It does not mention read-only nature, but that is implied by the operation. The coverage is strong for a read-only mining tool.

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?

The description is a single, dense sentence that packs purpose, examples, behavioral details, and limit into a compact form. It is front-loaded with the core purpose. While it could be split for readability, every clause adds useful information, and it avoids redundancy. It is appropriately concise for the amount of detail.

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

Completeness3/5

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 are covered. However, the description lacks parameter semantics and explicit usage guidance. It does not explain how 'seed' and 'geo' affect results, nor does it mention any ordering or filtering behavior. The behavioral details (throttling, caching) are good, but the missing parameter explanations and sibling differentiation make the tool incomplete for an agent to call it correctly without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter explanations. It only mentions 'limit: 1-100' in the description, providing a range for that parameter. However, it does not explain what 'seed' refers to (beyond being a starting topic) nor the meaning or possible values of 'geo'. With three parameters and 0% schema coverage, this is a significant gap that leaves the agent guessing about required input semantics.

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 mines long-tail questions from Google Autocomplete for a given seed, with explicit examples of expansions ('how to', 'why', 'what is', 'vs'). It distinguishes itself from siblings like related_queries or suggest_keywords by focusing on question-form queries and mentions the downstream use (FAQ, AEO content). The verb 'mine' plus resource 'questions' is specific and unambiguous.

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 implies usage by mentioning 'Feeds FAQ sections and answer-engine (AEO) content', which tells the agent when this tool is relevant. However, it does not explicitly contrast with sibling tools (e.g., related_queries, suggest_keywords) or state when not to use it. The context is present but not explicit, so the agent must infer the distinction.

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

news_coverageA

Who is covering a topic in Google News: recent headlines, a publisher frequency table (mention / pitch targets) and a recency histogram with a coverage label. One request, cached 15 min. limit = headlines returned (1-50).

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoUS
limitNo
topicYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses a 15-minute cache and the limit range (1-50), which the schema does not. However it says nothing about the geo parameter's behavior, error cases, or whether results are scoped or sampled, leaving meaningful behavioral gaps for a network-backed tool.

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?

Compact, front-loads the output-focused purpose, and appends operational facts (cache, limit) without padding. Slight awkwardness in the enumerated list, but no wasted sentences.

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?

An output schema exists, so return-shape explanation is not strictly required, yet the description still names the outputs, adds caching and limit bounds, and gives a use-case hint. Only the geo parameter's meaning and scope remain unaddressed.

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 0% across 3 parameters, so the schema contributes nothing. The description rescues 'limit' by defining it as headlines returned with a 1-50 range (bounds absent from the schema), but 'topic' and 'geo' receive no semantic elaboration beyond their names.

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 ('who is covering a topic in Google News') and enumerates the three outputs returned: headlines, a publisher frequency table, and a recency histogram. The Google News source is named, which separates it from wiki_attention and interest_over_time among 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 parenthetical '(mention / pitch targets)' hints at a PR/media-outreach use case, but the description never states when to prefer this over siblings like trending_now or wiki_attention, nor any exclusions or prerequisites. Usage is only implied.

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

suggest_keywordsA

Google's entity suggestions for a keyword (title, type, mid). Use to disambiguate ambiguous terms or find the canonical topic id.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are present, so the description carries the burden. It discloses that this is a read-style suggestion API and what it returns. It does not mention errors, limits, or external dependencies, but for this simple tool the core behavior is clear.

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?

Two dense sentences with no wasted words: output shape first, then concrete usage scenarios.

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 simple one-parameter read tool with an output schema, the description covers purpose, response fields, and usage context. It stops short of documenting edge cases or output size limits, but the core calling context 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?

The schema gives no parameter descriptions, so the description compensates by clarifying that the keyword is used to retrieve entity suggestions and can disambiguate ambiguous terms. It could add input format details, but the one-parameter surface is simple.

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 concrete operation—returning Google entity suggestions for a keyword—and identifies the response fields (title, type, mid), distinguishing it from trend/time-series siblings.

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?

Gives explicit use cases: disambiguate ambiguous terms or find the canonical topic ID. It doesn't name sibling tools or when not to use the tool, but the guidance is still actionable.

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

trendzeist_statusA

Health of every data source (google_trends, google_autocomplete, google_news, wikipedia: live / error / idle with the last error), cache usage and effective settings. Free: makes no network requests.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses what statuses are reported (live/error/idle with last error), that cache usage and settings are included, and that no network requests are made. Remaining gaps about cost or rate behavior are minor given the output schema covers the return shape.

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?

Two tight sentences, front-loaded with what is reported and closed with the useful no-network-request property. No wasted text.

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 zero-parameter, read-only status tool with an existing output schema, the description adequately covers what the tool inspects and its side-effect-free nature; return-value details are appropriately delegated to the schema.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies.

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?

States a specific resource and scope: the health of every data source, plus cache usage and effective settings. It is clearly distinguishable from the sibling tools, which are all data-retrieval operations, though it doesn't name a specific sibling it contrasts with.

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 – an agent can infer this is a diagnostic/health-check tool, and the 'Free: makes no network requests' note hints at low-cost use, but there is no explicit when-to-use or when-not-to-use guidance relative to the query siblings.

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

wiki_attentionA

Does Wikipedia have an exact-title article for a topic, and is attention growing? Exact article (title, encoded URL, wordcount), daily pageviews for days (7-90) with direction / growth / insight, or has_article=false with a related_article suggestion (when search finds a different title); verify gaps before citing. lang = Wikipedia edition ('en', 'pt', 'de'). Own rate lane; cached 24 h.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
langNoen
topicYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses a dedicated rate lane ('Own rate lane'), a 24-hour cache, and the branching failure mode (has_article=false with a related_article suggestion). It does not mention auth requirements or pagination, so it falls short of a perfect 5.

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?

The core question is front-loaded in the first sentence, followed by output shape and constraints. It is dense and slightly cramped, but every sentence carries information; no filler.

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?

For a 3-param tool with an output schema, the description is complete: it covers inputs, return shape, fallback behavior, caching, and rate-lane characteristics. An agent has everything needed to call it and interpret results despite zero schema description coverage.

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 0%, so the description must compensate, and it does: it documents the `days` range (7-90), `lang` as the Wikipedia edition with examples ('en', 'pt', 'de'), and `topic` implicitly via the exact-title lookup. It omits the default value for `days`/`lang` but adds real meaning beyond the bare 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?

States a specific verb and resource: it answers whether Wikipedia has an exact-title article for a topic and whether attention is growing. The output contract (exact article fields, daily pageviews, has_article=false fallback) is spelled out, so an agent can distinguish it from siblings like interest_over_time or news_coverage.

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?

It hints at usage ('verify gaps before citing') and describes what happens when no exact article exists, which implies a validation use case. However, it never explicitly contrasts itself with any sibling (e.g., interest_over_time for Google Trends vs. this for Wikipedia), leaving the when-to-choose decision to inference.

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. 4 tool updatesv0.4.0
    • Addedaeo_opportunities
    • Addednews_coverage
    • Addedtrendzeist_status
    • Addedwiki_attention
  2. 1 tool updatev0.3.0
    • Addedmine_questions
  3. 9 tool updatesv0.2.1
    • First observedcompare_keywords
    • First observeddiscover_topics
    • First observedinterest_by_region
    • First observedinterest_over_time
    • First observedlist_categories
    • First observedrelated_queries
    • First observedrelated_topics
    • First observedsuggest_keywords
    • First observedtrending_now

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation4/5

Most tools target distinct data sources (Trends time series, News, Wikipedia, Autocomplete, Geo). However, the discovery-oriented tools (aeo_opportunities, discover_topics, related_queries, mine_questions) all produce content angles/questions and genuinely overlap, forcing the agent to rely on descriptions to choose. Boundaries are mostly clear but not perfectly crisp.

Naming Consistency4/5

All names use consistent snake_case, which is good. There's a mild mix between verb_noun (mine_questions, suggest_keywords, list_categories, compare_keywords) and noun_phrase (interest_over_time, related_queries, trending_now, news_coverage), but the pattern is predictable and readable throughout.

Tool Count5/5

14 tools sits squarely in the well-scoped 3-15 range. Each tool maps to a distinct data source or analysis task (trends, news, wiki, autocomplete, geo, categories, status), so no tool feels redundant or padded.

Completeness4/5

The SEO/AEO research domain is well covered: trend direction, related queries/topics, questions, regional interest, categories, news, Wikipedia, and health status. Minor gaps exist (no direct cross-keyword or cross-region time comparison beyond compare_keywords/interest_by_region), but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides Google Search trend data as an MCP tool, with historical series, growth percentages, and live trending searches, no scraping or rate limits.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides free Google Trends data (interest over time, term comparison, related queries, trending now, regional breakdown) to MCP-compatible AI clients without needing an API key.
    5
    100 npm
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server providing access to Google Trends, YouTube listings, Google Ads Transparency, and Google Play reviews via plain HTTP, with no API key required. It caches results and paces requests to work within Google's informal rate limits.
    7
    2
    MIT