Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Google Trends

PYPI · GTRENDS-MCP-FULL

Google Trends: Trending Now, interest over time, regions, related searches. No API key.

Available components

−3 this week 62 Trust /100

Last scanned (3 hours ago)

Scores higher than 63% of PyPI servers

Category Search and Retrieval

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 33 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 15 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4876 tokens (~143/item across 34 items; 32 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management53
  • Stability observed for 16 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 34 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Oct 26 +5
    • Stability: unverified → 0.37 ▲ functional
  • 12 Oct 26 −10
    • Malware scan: pass → unverified ▼ security
    • Source repository: unverified → pass ▲ security
  • 8 Oct 26 −5
    • Provenance: pass → unverified ▼ security
  • 3 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 2 Oct 26 55

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Oct 2026 · Analysed pypi/gtrends-mcp-full@0.1.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 33 packages
Packages resolved 33
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 32 exposed · ~4,397 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_endpoints ~92

Ask each Google Trends endpoint one small question and report which ones answer. Google Trends has no public API; this server uses the endpoints of the Trends website, which can change without notice. Run this when a tool fails unexpectedly: it separates "Google is rate-limiting me" from "this endpoint changed" from "the network is down". Sends about 12 requests and never answers from the cache.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

clear_cache ~107

Delete saved answers so the next call asks Google again. what: "expired" (default — only answers too old to be used even as a fallback), "all", or one kind: trending, timeseries, regions, related, explore. reset_session: also forget the stored session cookie and any back-off, for a clean start after a block. Saved Trending Now history and the watchlist are never touched.

NameTypeReqDescription
reset_sessionboolean––
whatstring––
NameTypeReqDescription
resultstringyes–

No examples provided.

compare_locations ~134

One term in up to 5 countries or regions side by side: where it matters more, and whether the curves move together. geos: comma-separated location codes (US, GB, DE) — countries or regions, not worldwide. The values say how large a share of each place's own searches the term takes, so a small country can score above a large one; they are not search counts.

NameTypeReqDescription
categoryinteger––
geosstringyes–
keywordstringyes–
pointsinteger––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

compare_many ~181

Rank 6 to 25 terms on one scale — past Google Trends' limit of five per comparison. Google rescales every comparison to its own maximum, so two separate five-term charts cannot be read against each other. This tool runs the terms in groups that all contain one shared *anchor* term and uses it to bring every group onto a single scale. anchor: the shared term. Blank = chosen automatically (a mid-sized term among the first five, which keeps both large and small terms measurable). Returns each term's average, peak and latest value, where the largest average is 100. Costs two requests per group of four terms.

NameTypeReqDescription
anchorstring––
categoryinteger––
geostring––
keywordsstringyes–
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

compare_periods ~163

One term in two time ranges on the same scale: this year against last year, this quarter against the one before. period: the range to look at (3m, 12m, 2026, 2026-03, or explicit dates; not hours). against: "year_before" (same dates a year earlier), "previous" (the range just before), or another range. The two curves are aligned by position, so day 10 of one sits beside day 10 of the other.

NameTypeReqDescription
againststring––
categoryinteger––
geostring––
keywordstringyes–
periodstring––
pointsinteger––
propertystring––
NameTypeReqDescription
resultstringyes–

No examples provided.

content_calendar ~119

A publishing calendar from seasonality: for up to 8 topics, when each peaks and the date its content must be live. Each term's five-year rhythm is measured; the result is sorted by what needs publishing soonest. Terms without a yearly pattern are listed as evergreen. lead_weeks: how long before demand starts to climb the content should be published.

NameTypeReqDescription
categoryinteger––
geostring––
keywordsstringyes–
lead_weeksinteger––
propertystring––
NameTypeReqDescription
resultstringyes–

No examples provided.

daily_history ~174

Day-by-day interest over a long range — Google Trends itself only gives daily data for up to ~9 months. The range is fetched as overlapping 8-month windows and the windows are joined on one 0-100 scale using the days they share. Up to about 4 years (8 windows, two requests each). Also returns the weekday pattern: which days of the week the term is searched most. start, end: YYYY-MM-DD; end defaults to today. points: rows to return (the daily series is averaged down to this many); the summary is always given.

NameTypeReqDescription
categoryinteger––
endstring––
geostring––
keywordstringyes–
pointsinteger––
propertystring––
startstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

find_category ~110

Find the id of a Google Trends category ("Autos & Vehicles" = 47) to narrow a term to one meaning. A category limits a search term to searches Google files under that subject — "jaguar" in Autos & Vehicles is the car, in Pets & Animals the cat. Pass the id as `category` to the explore tools. With no keyword at all, a category id shows interest in the whole subject.

NameTypeReqDescription
limitinteger––
querystringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

find_location ~132

Find the location code (geo) for a country, region, state or metro area by name. query: part of a name ("tehran", "calif", "bavaria") or a code ("IR"). inside: a code whose sub-locations to list instead ("IR" → its provinces, "US-CA" → its metro areas). Codes look like IR, US, US-CA, US-CA-807. Every other tool takes them as `geo`; blank means worldwide.

NameTypeReqDescription
insidestring––
limitinteger––
querystring––
NameTypeReqDescription
resultstringyes–

No examples provided.

find_spikes ~139

The moments a term suddenly jumped: when each spike started, when it peaked, how long it lasted and how big it was. A spike is a run of points at least `threshold` times the term's usual level around that date (its median over the surrounding year). Use it to date events, launches, outages and news cycles, or to tell a one-off burst from real growth.

NameTypeReqDescription
categoryinteger––
geostring––
keywordstringyes–
limitinteger––
propertystring––
thresholdnumber––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

find_topic ~105

Find the Google Trends *topics* for a piece of text and the ids that select them. A search term ("tesla") counts only searches containing that exact wording, in one language. A topic ("Tesla — Automotive company", id /m/0dr90d) counts every search about the thing, in any language and spelling, and leaves out other meanings (the band, the inventor). Pass a topic id wherever a keyword is expected.

NameTypeReqDescription
textstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

get_capabilities ~32

Version, settings, session and cache state, saved history and the list of tools. Call this first when unsure.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

history_sql ~183

Run a read-only SQL SELECT on the local data file, for questions the other history tools do not cover. Tables: trending(geo, title, qkey, started, ended, volume, growth, categories, breakdown, first_seen, last_seen) — one row per saved trend; times are unix seconds UTC; categories and breakdown are JSON lists. snapshots(id, taken_at, geo, hours, trends) — one row per snapshot_trending run. watchlist(keyword, geo, note, added_at) readings(keyword, geo, taken_at, latest, average, yoy, label) — one row per watchlist_report measurement. Example: SELECT title, volume, datetime(started,'unixepoch') FROM trending WHERE geo='US' ORDER BY volume DESC LIMIT 20

NameTypeReqDescription
limitinteger––
querystringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

interest_by_region ~203

Where a term is most popular: countries, regions, cities or metro areas ranked by interest. With one term, each place gets 0-100 relative to the strongest place — interest as a share of that place's own searches, so a small region can outrank a large one. With 2-5 terms, each place shows how its interest splits between them (percentages), i.e. who wins where. geo: blank = worldwide (ranks countries); a country ranks its regions; a region its cities. resolution: auto, country, region, city, or dma (US metro areas). include_low_volume: also list places with little search volume.

NameTypeReqDescription
categoryinteger––
geostring––
include_low_volumeboolean––
keywordsstringyes–
limitinteger––
propertystring––
resolutionstring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

interest_over_time ~299

Search interest over time for up to 5 terms on one shared scale — the main Google Trends chart. keywords: comma-separated terms or topic ids (find_topic). Operators work inside a term: `a + b` either wording, `a -b` excluding b, `"a b"` exact phrase. Blank with a `category` measures the whole category. timeframe: 1h, 4h, 1d, 7d, 1m, 3m, 12m, 5y, all; any 6m / 2y / 45d; a year 2024; a month 2024-03; or explicit dates "2024-01-01 2024-12-31". Short ranges come back by the minute or hour, up to ~9 months daily, up to 5 years weekly, longer monthly. geo: location code (find_location); blank = default location, usually worldwide. category: category id (find_category) to pin down an ambiguous term. property: web, youtube, news, images or shopping. points: rows of data to return (longer series are averaged down); 0 = summary only.

NameTypeReqDescription
categoryinteger––
geostring––
keywordsstring––
pointsinteger––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

keyword_ideas ~137

Keyword ideas from what people actually search next: rising and top related queries for up to 5 seed terms, merged. The same query coming from several seeds is listed once; each idea shows which seeds it came from — an idea related to several seeds sits at the centre of the subject. Rising ideas are sorted breakouts first: these are the searches that did not exist a period ago. Costs two paced requests per seed.

NameTypeReqDescription
categoryinteger––
geostring––
limitinteger––
propertystring––
seedsstringyes–
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

keyword_overview ~97

The whole Google Trends page for one term in a single call: curve, direction, top places, related searches. Use it as the first look at a keyword. It makes four requests; a part that Google refuses is reported and the rest is still returned.

NameTypeReqDescription
categoryinteger––
geostring––
keywordstringyes–
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

match_trends ~125

Which current trends touch your subjects — for newsjacking and timely content. terms: comma-separated words or phrases that define your niche (brands, products, people, subjects). A trend matches when its title or any query inside it contains one of them as whole words, in any letter case: "ai" finds «ai news», not «rain». geo: country or region code; blank = the default location, else US.

NameTypeReqDescription
geostring––
hoursinteger––
limitinteger––
termsstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

related_queries ~135

What else people who search a term also search: the top related queries and the rising ones. Rising = the largest growth against the previous period; "Breakout" means more than +5000%, usually a query that barely existed before. Top = the most searched, 100 being the most common. keyword: one term or topic id. timeframe, geo, category, property: as in interest_over_time.

NameTypeReqDescription
categoryinteger––
geostring––
keywordstringyes–
limitinteger––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

related_topics ~127

The topics (people, brands, things) searched alongside a term, top and rising, with their topic ids. Google withholds this list from anonymous sessions: without a signed-in cookie (GTRENDS_COOKIE or GTRENDS_COOKIES_FILE) it usually comes back empty, and this tool says so rather than pretending there are none. related_queries works either way.

NameTypeReqDescription
categoryinteger––
geostring––
keywordstringyes–
limitinteger––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

seasonality ~176

The yearly rhythm of a term: which months it peaks and dips, how reliably, and when to publish for it. Uses five years of data by default ("all" goes back to 2004). Growth or decline is removed first, so a rising term is not mistaken for a seasonal one. Returns a month-by-month index (100 = an average month), the peak and trough, how consistent the pattern is from year to year, year averages, the months ahead on the current rhythm, and a publishing date. lead_weeks: how long before demand starts to climb the content should be live.

NameTypeReqDescription
categoryinteger––
geostring––
keywordstringyes–
lead_weeksinteger––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

share_of_search ~149

Share of search: your brand's portion of all searches for you and up to 4 competitors, and how it is moving. Share of search tracks market share closely in many categories and moves before it, which makes it a cheap leading indicator. Returns each brand's share over the whole range, at its start and at its end (first and last fifth of the range), and the change in points. Use topic ids (find_topic) when a brand name has other meanings.

NameTypeReqDescription
brandstringyes–
categoryinteger––
competitorsstringyes–
geostring––
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

snapshot_trending ~169

Save the current Trending Now list to the local history, so it can still be searched after Google drops it. Google shows a trend for about a week; after that there is no way to ask what was trending. Each call stores every trend for the given countries (a trend seen again is updated, not duplicated). Run it on a schedule — `gtrends-mcp-full snapshot US,GB` from cron does the same — and use trending_history to query the result. geos: comma-separated country or region codes (up to 12); blank = the default location, else US. hours: look-back window to save, 1-191. 24 is right for a daily schedule.

NameTypeReqDescription
geosstring––
hoursinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

trend_details ~117

Everything about one current trend: every query in it, the news behind it, and its hour-by-hour curve. trend: the trend's title, or any words it contains. geo: country or region code; blank = the default location, else US. with_chart: also fetch the last 7 days of hourly interest for the title (two more requests).

NameTypeReqDescription
geostring––
hoursinteger––
newsinteger––
trendstringyes–
with_chartboolean––
NameTypeReqDescription
resultstringyes–

No examples provided.

trend_momentum ~140

Is each term growing, fading, flat or exploding — with the numbers behind the verdict. Each term (up to 8) is measured on its own scale, so a small term's shape is not flattened by a large one. Per term: year-over-year change of the last quarter, last quarter against the quarter before, the long-run slope, where it stands against its own peak, and a label: breakout, rising, stable, declining or new.

NameTypeReqDescription
categoryinteger––
geostring––
keywordsstringyes–
propertystring––
timeframestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

trending_across_countries ~135

Trends that are live in several countries at once — the stories that travel. Pulls Trending Now for each country and groups trends that are the same search (the same title, or one country's title appearing among another's queries). geos: comma-separated country codes, up to 12. Blank = US, GB, CA, AU, IN, DE, FR, BR. min_countries: only show trends found in at least this many of them.

NameTypeReqDescription
geosstring––
hoursinteger––
limitinteger––
min_countriesinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

trending_feed ~96

The top daily search trends with the news stories behind each — Google's public trending feed. Lighter than trending_now (about 10-20 trends, one request) and it carries headlines and links, which makes it the quickest answer to "what is in the news in <country> today". geo: country code; blank = the default location, else US.

NameTypeReqDescription
geostring––
limitinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

trending_history ~136

Search the saved Trending Now history: when something trended, how big it got and how long it lasted. Works on what snapshot_trending has stored — no network. With no filter it lists the biggest saved trends of the period. contains: text the trend's title or queries must contain, as whole words. geo: one location code; blank = every saved location. days: how far back to look, counted from the trend's start.

NameTypeReqDescription
containsstring––
daysinteger––
geostring––
limitinteger––
min_volumeinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

trending_now ~240

What people are searching right now: the full Trending Now list for a country or region. Each trend has its search volume, growth, start time, whether it is still active, its category and the other queries people type for the same story. geo: country or region code (US, GB, DE, IR, US-CA). Blank = the default location, else US. hours: look-back window — 4, 24, 48 or 168 (any value 1-191). category: filter by name, e.g. "sports", "technology", "business" (see the header of the result). status: "active" (still trending), "ended" or "all". sort_by: "volume", "growth" or "recent". contains: keep trends whose title or queries contain this text, as whole words.

NameTypeReqDescription
categorystring––
containsstring––
geostring––
hoursinteger––
limitinteger––
min_volumeinteger––
sort_bystring––
statusstring––
NameTypeReqDescription
resultstringyes–

No examples provided.

watchlist_add ~85

Put terms on the watchlist so watchlist_report tracks their direction over time. keywords: comma-separated terms or topic ids. geo: the location to track them in (blank = default). note: an optional label, e.g. the client or campaign they belong to.

NameTypeReqDescription
geostring––
keywordsstringyes–
notestring––
NameTypeReqDescription
resultstringyes–

No examples provided.

watchlist_remove ~44

Take terms off the watchlist. Blank geo removes them from every location; their past readings are kept.

NameTypeReqDescription
geostring––
keywordsstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

watchlist_report ~116

The watchlist measured now: each term's direction, what changed since the last report, and whether it is trending today. Every run stores a reading per term, so the next report can say "was stable, now rising". Terms are measured over five years, one at a time (two requests each): `limit` terms per call, `offset` to continue. Also checks today's Trending Now list for each term.

NameTypeReqDescription
geostring––
limitinteger––
offsetinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

Install

How do I install the Google Trends MCP server?

Google Trends runs locally as a PyPI package, launched with uvx gtrends-mcp-full. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · gtrends-mcp-full

# add to Claude Code
claude mcp add mamrrez-gtrends-mcp-full -- uvx gtrends-mcp-full
Common questions

What is the Google Trends MCP server?

Google Trends is an MCP server listed in the public MCP registry as io.github.mamrrez/gtrends-mcp-full. Google Trends: Trending Now, interest over time, regions, related searches. No API key. This page covers its PyPI package (gtrends-mcp-full).

Is the Google Trends MCP server safe to use?

Google Trends scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Google Trends MCP server expose?

Google Trends exposes 32 tools: get_capabilities, check_endpoints, find_location, find_category, find_topic, and 27 more. Their descriptions and schemas cost roughly 4,397 tokens of context every time the server is loaded.

Is the Google Trends MCP server still maintained?

Google Trends is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Google Trends MCP server under?

Google Trends declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.