Skip to main content

trendzeist-mcp

Free, local Google Trends MCP server built for content ideation. One call returns ranked breakout / rising / evergreen blog topics; the rest of the toolset covers interest over time, related queries, regions, and real-time trends.

No API key. No account. No browser. Runs on your machine over stdio.

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) ..."

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 Purpose
discover_topics One-shot ideation: rising/top related queries for 1-5 seeds, deduped and ranked breakout > rising > evergreen
interest_over_time 0-100 interest series + summary (mean, peak, direction)
compare_keywords Head-to-head share and leader for 2-5 keywords
related_queries Top & rising related searches (with breakout flag)
related_topics Top & rising Knowledge-Graph topics (best-effort)
interest_by_region Geographic distribution (COUNTRY / REGION / CITY / DMA)
suggest_keywords Entity disambiguation (title, type, mid)
trending_now Real-time trending searches via RSS with news headlines
list_categories Search Google Trends category ids

Prompt: blog_ideas_from_trends(topic, audience, geo) — a guided workflow using the tools above.

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
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 ✅ disk cache usually in-memory or none

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 en-US UI language for Google Trends
TRENDZEIST_TZ 360 Timezone offset in minutes
TRENDZEIST_MIN_INTERVAL 2.0 Minimum seconds between Google requests
TRENDZEIST_RETRIES 3 Retry attempts on transient errors
TRENDZEIST_BACKOFF 1.5 Exponential backoff factor
TRENDZEIST_PROXIES Comma-separated proxy URLs for rotation
TRENDZEIST_CACHE_DIR OS user cache dir Persistent cache location; off to disable
TRENDZEIST_LOG_LEVEL WARNING Python logging level (stderr)

Notes & limitations

  • Google rate-limits aggressively (HTTP 429). Requests are serialised, throttled and cached (15 min for explore data, 5 min for RSS, on disk so client restarts don't re-fetch). 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).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trendzeist_mcp-0.1.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trendzeist_mcp-0.1.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file trendzeist_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: trendzeist_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trendzeist_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 40fbb7e86a12ef1d45a428c488d7efa20fc05f72c8ef25fe04d57cd48174c7d3
MD5 ada1b3417b8fba98bfbc7704ec4a49eb
BLAKE2b-256 997c0701ebe40fa5c74af466f1639d2956c60cc81d6f90c36e4949143888d8c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for trendzeist_mcp-0.1.0.tar.gz:

Publisher: publish.yml on phalkmin/trendzeist-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trendzeist_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: trendzeist_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trendzeist_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 032d4417ea715ac12cdfafee030a7c3adb8c925d9ed066a3437aad81c0fc5b4f
MD5 4116f98bbbcacbf551260240ca093ea0
BLAKE2b-256 35ebb89d436882e20359b24fdbe332185631dbc306b8a5a56ce27a830f35fbbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for trendzeist_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on phalkmin/trendzeist-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page