// trendzeist-mcp — free google trends mcp server
Google Trends, one tool call away from your AI assistant.
trendzeist-mcp hands Claude, Cursor or VS Code ranked breakout, rising and evergreen topics, interest curves, related searches and regional demand. Free, local, private. No API key, no account, no browser.
MIT licensed · Python 3.11+ · uvx trendzeist-mcp and you are running
// install
Three clients, one line each.
The server runs over stdio and is started by your MCP client. Nothing to host, nothing to sign up for. Python 3.11 or newer and uv are the only requirements.
- 01
Claude Desktop
Add the server under mcpServers in claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\, Linux: ~/.config/Claude/) and restart Claude Desktop.
"trendzeist": { "command": "uvx", "args": ["trendzeist-mcp"] } - 02
Claude Code
Run the add command once in your terminal. The server is registered in your local config and available in every session.
claude mcp add trendzeist -- uvx trendzeist-mcp - 03
Cursor, VS Code, Codex
Same command and args shape in the client's MCP settings. The repository ships llms-install.md, written so you can paste it to an assistant and let it do the setup.
{ "command": "uvx", "args": ["trendzeist-mcp"] }
Prefer containers? docker run -i --rm ghcr.io/phalkmin/trendzeist-mcp works as the command instead of uvx. Set TRENDZEIST_HL=pt-BR for Portuguese results.
// what you stop paying for
The typical Google Trends setup, next to this one.
Hosted Trends APIs charge monthly. Most Python scrapers are abandoned, need a headless browser, or get rate-limited within an hour. This is the comparison from the project readme.
Ranked topic ideas in one call
Typical setup: Raw primitives, you rank themtrendzeist-mcp: discover_topicsbreakout, then rising, then evergreen, deduplicatedCost and authentication
Typical setup: API key, monthly quotatrendzeist-mcp: Nonefree, runs on your machineBrowser requirement
Typical setup: Headless Chrome for some librariestrendzeist-mcp: No browserplain HTTP, plain JSONCache
Typical setup: In-memory or nonetrendzeist-mcp: JSON on disksurvives client restartsRate-limit behaviour
Typical setup: Bursts, frequent HTTP 429trendzeist-mcp: Throttled per request2 s minimum between calls to Google, configurableGuided ideation
Typical setup: You write the prompttrendzeist-mcp: blog_ideas_from_trendstopic, audience and geo as inputsSource: the comparison table in the trendzeist-mcp readme, September 2026. "Typical setup" means hosted Google Trends APIs and the commonly used Python libraries as they behave today. If your current tool already does one of these things well, keep it.
Google Trends reports a relative 0 to 100 index, never absolute search volume. Every number this server returns tells you direction and share, and nothing about how many people searched.
// why this exists now
The protocol is new. The data is twenty years old. The gap between them was the problem.
Third-party context, cited with source and date. The last item is the project's own design decision:
Anthropic released the Model Context Protocol as an open standard. It is now how Claude, Cursor, VS Code and Codex reach outside data, which makes a Trends server usable from every one of them with the same config.
Anthropic, November 2024 ↗Google announced an official Google Trends API, in alpha and by invitation. Most people still cannot get access, so the endpoints the trends.google.com frontend uses remain the practical route.
Google Search Central blog, July 2025 ↗Google Trends normalises every series to a share of peak interest in the requested window. Good for spotting a topic that is rising, useless for forecasting traffic. The server passes this through unchanged and says so in the output.
Google Trends Help ↗What Google returns when a script fires requests in bursts, and how most Trends libraries die. Trendzeist serialises every HTTP request, waits at least two seconds between them, retries with backoff and caches the result on disk.
trendzeist-mcp readme, September 2026 ↗The expensive part was always guessing.
Most content calendars start with someone's hunch about what readers want. Trends data could always check that hunch, and almost nobody did, because the website is slow to work with and the libraries kept breaking. Putting it one tool call away from your assistant removes the excuse.
// what you get
Thirteen tools and three prompts, all returning JSON a model can read.
Everything below is in the readme, the changelog and the source code.
Runs on your machine
A stdio server started by your MCP client. No account, no API key, no hosted service in between. The only thing that leaves your computer is the request to Google itself.
Ranked before it reaches the model
discover_topics takes one to five seed terms and returns candidates ordered breakout, then rising, then evergreen, deduplicated across seeds. The model gets a shortlist, and the ranking logic lives in code you can read.
Polite to Google on purpose
Every HTTP request, cookie, token, data or RSS, is serialised and spaced at least two seconds apart, with retries and exponential backoff. Proxies rotate if you configure them. This is why it keeps working after quick scripts get banned.
A cache that survives restarts
Results are stored as plain JSON in your OS cache directory, 15 minutes for explore queries, 5 for real-time trends, 24 hours for categories. Pickle was dropped in 0.2.0, so a tampered cache file cannot execute code.
Strict inputs, readable errors
Keyword counts, timeframes, geo codes and resolutions are validated before anything touches the network. A bad date range comes back as a clear tool error with guidance, and a 429 is reported as a rate limit, never as a silent empty result.
Built on maintained code
Google Trends requests are handled by pytrends-modern. Trendzeist adds the MCP layer, throttling, cache, validation and the ranking workflow. Everything is MIT, and a weekly live canary in CI catches Google changing the endpoints.
The thirteen tools, as your assistant sees them
discover_topicsRanked topics from 1 to 5 seeds: breakout, rising, evergreen, deduplicated
interest_over_time0 to 100 interest curve with mean, peak and direction
compare_keywordsHead-to-head share and winner for 2 to 5 keywords
related_queriesTop and rising related searches with breakout flags
related_topicsTop and rising Knowledge Graph topics, best-effort
interest_by_regionWhere demand lives: country, region, city or DMA
suggest_keywordsDisambiguate a term into Google entities (title, type, mid)
trending_nowWhat is trending right now, with news headlines
list_categoriesFind Google Trends category ids to narrow any query
mine_questionsQuestion-shaped searches from Google Autocomplete, each tagged with a title angle
aeo_opportunitiesQuestion searches clustered and scored by trend direction, news coverage and Wikipedia presence
news_coverageGoogle News headlines for a topic, with publisher frequency and a coverage label
wiki_attentionWhether Wikipedia has an article on the topic, and its pageview trend
trendzeist_statusHealth of each data source, without making requests
blog_ideas_from_trendsPrompt: guided ideation from topic, audience and geo
answer_briefPrompt: a brief for answering one question, for AEO
content_briefPrompt: a content brief from topic, audience and geo
// read this before you install
What it will not do, stated up front.
The readme has a limitations section and a disclaimer. Here is the short version, because trust in a data tool starts with what it refuses to claim.
related_topics often comes back empty from Google, while related_queries is reliable. The legacy daily trending_searches endpoint is gone, so trending_now reads the RSS feed instead. Browser automation is deliberately not used. The project is not affiliated with Google, and you are responsible for the terms of service where you live.
The MCP is free. The pipeline around it is the work.
Trend data is an input. Turning it into a calendar, drafts that sound like you, review gates a human actually uses, and posts that land in WordPress on schedule is a system. Building those systems is what I do for clients.
// work with the developer
trendzeist-mcp is free. My time is not.
I build AI and automation systems for a living. The server is what I give away, these are the engagements I take on.
Search Opportunity Audit
The analysis in the terminal above, run on your site and checked by hand. Trends shows where demand is moving, Search Console shows where you already rank, Analytics shows which traffic turns into business. You get the opportunities ranked, each with a create, update, expand or ignore call and the evidence behind it.
- →Trends, Search Console and Analytics read side by side
- →Top opportunities ranked, with evidence from each source
- →Create / update / expand / ignore call per topic
- →30-day content plan in priority order
- →One follow-up session to walk through it
AI Research Desk for Your Team
The same setup on your team's machines: Trendzeist, Search Console and Analytics connected to Claude with read-only access, plus your recurring questions turned into shared prompts, so the weekly opportunity review stops depending on one person.
- →MCP servers installed and configured for each seat
- →Read-only access scoped per property
- →Shared prompts or skills for your recurring analyses
- →Training session and a written runbook
Trend-to-Publish Content Pipeline
An n8n or Claude-driven pipeline that pulls Trends and Search Console data, scores opportunities, drafts in your voice and lands posts in WordPress behind a human review gate. I have shipped this for an e-commerce client; the case study is further down.
- →Opportunity scoring from Trends and Search Console
- →Draft generation with your style rules encoded
- →Human review gate before anything publishes
- →WordPress integration and scheduling
- →Runbook and full handover
Custom MCP Server for Your Data
The same engineering that went into trendzeist-mcp, pointed at your systems: CMS, analytics, product catalogue, internal docs. Strict inputs, throttling, caching, tests, and JSON your assistant can actually use.
- →Tool design and input validation
- →Authentication, rate limiting and caching
- →Offline test suite and live canary
- →Install docs for Claude, Cursor and VS Code
// faq
Common questions.
What is trendzeist-mcp?
+
trendzeist-mcp is a free, open-source Model Context Protocol server that gives AI assistants such as Claude, Cursor and VS Code access to Google Trends data, plus Google Autocomplete, Google News and Wikipedia signals. It exposes thirteen tools, including ranked topic discovery, interest over time, keyword comparison, related queries, regional interest and question mining for AEO, plus three guided prompts for turning that data into blog ideas and briefs. It runs locally, is published on PyPI and licensed under MIT.
Does it need a Google API key or account?
+
No. It talks to the same endpoints the trends.google.com website uses, so there is nothing to sign up for and nothing to pay. There is also no hosted service in the middle: the server runs on your machine and the only outbound requests go to Google.
Which AI clients does it work with?
+
Any MCP client that supports stdio servers: Claude Desktop, Claude Code, Cursor, VS Code and Codex are documented in the readme. The configuration is the same shape everywhere, a command of uvx with trendzeist-mcp as the argument. The repository includes an llms-install.md file you can paste to an assistant to have it do the setup.
How do I install it in Claude Desktop?
+
Open claude_desktop_config.json and add an entry under mcpServers with the command uvx and the argument trendzeist-mcp, then restart Claude Desktop. On macOS the file lives in ~/Library/Application Support/Claude/, on Windows in %APPDATA%\Claude\, on Linux in ~/.config/Claude/. In Claude Code a single terminal command does the same: claude mcp add trendzeist -- uvx trendzeist-mcp.
Is the data the same as on trends.google.com?
+
Yes, it comes from the same undocumented endpoints the website uses, via the pytrends-modern library. That also means the same caveat: values are Google's relative 0 to 100 index of interest, never absolute search volume. Use it to see direction and compare terms, and do not read the numbers as traffic.
Is this an official Google product? Is it allowed?
+
No, it is not affiliated with, endorsed by or sponsored by Google, and "Google Trends" is a Google trademark. The endpoints are unofficial and may change or rate-limit without notice, which is why a live canary runs weekly in CI. You are responsible for complying with Google's terms of service in your jurisdiction.
Does it work for Brazil and Portuguese content?
+
Yes. Pass geo="BR" on any tool to get Brazilian data, and set the TRENDZEIST_HL environment variable to pt-BR so Google returns titles and categories in Portuguese. Regional breakdowns within Brazil work with the REGION resolution. The cache key includes the language, so two servers with different settings never see each other's results.
Why does related_topics return nothing?
+
Google frequently returns an empty result for related topics, even on the website. That is a limitation of the source, so the tool is marked best-effort. related_queries is the reliable one and returns top and rising searches with breakout flags, which is usually what you wanted anyway.
Can you build a custom MCP server for my company?
+
Yes. trendzeist-mcp is a small public example of the pattern: strict input validation, throttling, a safe disk cache, offline tests and a live canary. I build the same thing against private systems, a CMS, analytics, a product catalogue or internal documentation, and I also build the content pipelines that consume the data. Book a call and describe your setup.
Install it in a minute. Then talk to me about what comes after.
uvx trendzeist-mcp gets you the tools. A call gets you the person who wrote them looking at how your team actually produces content.
MIT licensed, free forever. No sales pitch on the call, you explain your setup, I tell you what makes sense.