Back to Browse

Trendzeist MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Free Google Trends MCP: ranked breakout/rising/evergreen topics for content ideas. No API key.

About

Free Google Trends MCP: ranked breakout/rising/evergreen topics for content ideas. No API key.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

7 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Google Trends UI language, e.g. en-US or pt-BR.Optional

Environment variable: TRENDZEIST_HL

Minimum seconds between requests to Google (rate-limit protection).Optional

Environment variable: TRENDZEIST_MIN_INTERVAL

Optional comma-separated proxy URLs for rotation.Required

Environment variable: TRENDZEIST_PROXIES

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-phalkmin-trendzeist-mcp": {
      "env": {
        "TRENDZEIST_HL": "your-trendzeist-hl-here",
        "TRENDZEIST_PROXIES": "your-trendzeist-proxies-here",
        "TRENDZEIST_MIN_INTERVAL": "your-trendzeist-min-interval-here"
      },
      "args": [
        "trendzeist-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

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, interest curves, related searches, regional demand and real-time trends. Free, local, private. No API key, no account, no browser.

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 %
       → compare_keywords(["how to descale espresso machine", "best coffee beans for espresso"])
       "1. How to Descale Your Espresso Machine (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.

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

ToolWhat you get
discover_topicsRanked blog topics from 1-5 seeds: breakout > rising > evergreen, deduped
interest_over_time0-100 interest curve with mean, peak and direction
compare_keywordsHead-to-head share and winner for 2-5 keywords
related_queriesTop & rising related searches with breakout flags
related_topicsTop & rising Knowledge-Graph topics (best-effort)
interest_by_regionWhere demand lives: COUNTRY (worldwide), REGION (within a country), CITY / DMA (US or worldwide)
suggest_keywordsDisambiguate a term into Google entities (title, type, mid)
trending_nowWhat's trending right now, with news headlines
list_categoriesFind Google Trends category ids to narrow any query

Prompt: blog_ideas_from_trends(topic, audience, geo) — a guided ideation workflow.

Why this one?

trendzeist-mcptypical alternatives
Ranked topic discovery in one calldiscover_topics❌ raw primitives only
Guided ideation promptblog_ideas_from_trends
Related queries + breakout detectionoften missing in hosted/paid servers
Cost / authfree, noneAPI key, monthly quota
Browser requirednoChrome for some Python libraries
Cache survives client restarts✅ safe JSON disk cacheusually 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)

VariableDefaultMeaning
TRENDZEIST_HLen-USUI language for Google Trends
TRENDZEIST_TZ360Timezone offset in minutes
TRENDZEIST_MIN_INTERVAL2.0Minimum seconds between every HTTP request to Google (cookie, token, data, RSS)
TRENDZEIST_RETRIES3Retry attempts on transient errors
TRENDZEIST_BACKOFF1.5Exponential backoff factor
TRENDZEIST_PROXIESComma-separated proxy URLs (rotated for explore calls; first one used for RSS)
TRENDZEIST_CACHE_DIROS user cache dirPersistent JSON cache location (0700); off to disable
TRENDZEIST_LOG_LEVELWARNINGPython logging level (stderr)

Notes & limitations

  • Google rate-limits aggressively (HTTP 429). Every HTTP request is serialised and throttled; results are cached (15 min explore, 5 min RSS, 24 h categories) 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.
  • Values are Google's relative 0–100 index, not absolute search volume.
  • 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.
  • 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. 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).

Reviews

No reviews yet

Be the first to review this server!