Google Trends MCP Server
Google Trends MCP Server
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client ein Google-Trends-Tool bietet. Rufen Sie Interesse im Zeitverlauf, Interesse nach Region sowie die steigenden und Top-bezogenen Suchanfragen und Themen für jeden Begriff ab – alles als strukturiertes JSON, ohne eine Scraping-Bibliothek pflegen zu müssen und ohne Google-Konto.
https://mcp.hasdata.com/api/mcp?apis=google_trends
Inhalt
Related MCP server: HasData MCP Server
Was Sie brauchen
Sie benötigen einen MCP-Client und einen HasData-API-Schlüssel vom Dashboard, der kostenlos ohne Karte erstellt werden kann, und die Testversion deckt etwa 200 Aufrufe zum 5-Credits-Satz ab. Dies ist ein Remote-Server, daher ist der einfachste Weg eine URL und ein x-api-key-Header, ohne Container, den Sie ausführen müssen, und ohne Google-Konto im gesamten Ablauf. Ein Client, der nur stdio spricht, erreicht ihn über einen schlanken Launcher, der als @hasdata/google-trends-mcp auf npm und hasdata-google-trends-mcp auf PyPI veröffentlicht ist, wie unten gezeigt.
Schnellstart
Die Server-URL ist für jeden Client gleich. Wir setzen sie praktisch in Claude Code und Claude Desktop ein. Die anderen Blöcke folgen dem jeweils dokumentierten Format des Clients für einen Remote-Server.
Feld | Wert |
URL |
|
Transport | HTTP, streamable |
Auth-Header |
|
Clients mit OAuth-Unterstützung können dieselbe URL als Connector hinzufügen und sich anmelden, ohne einen Schlüssel in eine Konfigurationsdatei einzutragen.
claude mcp add --transport http google-trends "https://mcp.hasdata.com/api/mcp?apis=google_trends" \
--header "x-api-key: HASDATA_API_KEY"Einstellungen, dann Connectors, dann Benutzerdefinierten Connector hinzufügen, dann https://mcp.hasdata.com/api/mcp?apis=google_trends einfügen und anmelden.
Für den Konfigurationsdatei-Weg lädt Claude Desktop nur lokale (stdio) Server, daher erreicht es einen Remote-Server über einen stdio-Launcher. Das Paket @hasdata/google-trends-mcp ist dieser Launcher und liest den Schlüssel aus der Umgebung. Fügen Sie dies zu claude_desktop_config.json hinzu:
{
"mcpServers": {
"google-trends": {
"command": "npx",
"args": ["-y", "@hasdata/google-trends-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Für Python statt Node tauschen Sie den Launcher gegen das PyPI-Paket, das uvx ohne manuelle Installation ausführt:
{
"mcpServers": {
"google-trends": {
"command": "uvx",
"args": ["hasdata-google-trends-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}~/.cursor/mcp.json für jedes Projekt oder .cursor/mcp.json für eines:
{
"mcpServers": {
"google-trends": {
"url": "https://mcp.hasdata.com/api/mcp?apis=google_trends",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.codeium/windsurf/mcp_config.json. Windsurf nennt das Feld serverUrl, nicht url:
{
"mcpServers": {
"google-trends": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=google_trends",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}.vscode/mcp.json im Arbeitsbereich:
{
"servers": {
"google-trends": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=google_trends",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Beispiel-Prompts
Prompts, kein Code. Fügen Sie einen ein, und der Agent wählt das Tool selbst aus. Jeder ist mit den benötigten Aufrufen annotiert, da jeder erfolgreiche Aufruf 5 Credits kostet.
Stellen Sie das Interesse an „Cold Brew Coffee“ in den USA über die letzten 12 Monate grafisch dar und sagen Sie mir, in welchen Wochen es seinen Höhepunkt erreichte.
Ein Aufruf, 5 Credits. Die wöchentliche Serie kommt in einer einzigen Anfrage zurück.
Geben Sie mir für „Cold Brew Coffee“ in den USA die steigenden verwandten Suchanfragen und markieren Sie diejenigen, die als Breakout gekennzeichnet sind.
Ein Aufruf, 5 Credits.
Vergleichen Sie das Interesse an „Cold Brew“ mit „Iced Coffee“ weltweit über fünf Jahre und sagen Sie, welches wächst.
Ein Aufruf, 5 Credits. Das Tool akzeptiert mehrere Begriffe in einer Timeseries-Anfrage.
Zeigen Sie mir das Interesse an „Sonnenschutz“ nach US-Bundesstaat über die letzten 90 Tage, damit ich sehe, wo die Nachfrage am höchsten ist.
Ein Aufruf, 5 Credits. Dies ist die Interesse-nach-Region-Ansicht auf Bundesstaatsebene.
Ein Vergleich über Begriffe hinweg erfolgt in einem einzigen timeseries-Aufruf. Regionsaufschlüsselungen, verwandte Suchanfragen und verwandte Themen sind jeweils ein eigener dataType, daher benötigt ein Prompt, der ein Diagramm plus seine steigenden Suchanfragen möchte, zwei Aufrufe.
Werkzeuge
Ein Tool, schreibgeschützt. Das folgende Beispiel ist aus einem echten Aufruf gekürzt, und die Zahlen bewegen sich mit dem Trend. Betrachten Sie es als Form. Der Tool-Name verlinkt auf seine Endpunkt-Referenz, die die vollständige Parameterliste enthält.
Das Beispiel ist die Nutzlast, nicht die gesamte Antwort. Ein tools/call-Ergebnis enthält einen Textblock, und dieser Text ist selbst JSON mit url, status, text und json, wobei die gescrapten Daten unter json liegen. Aus einer rohen JSON-RPC-Antwort ist der Pfad result.content[0].text, geparst, dann .json. Ein Chat-Client entpackt das für Sie, und Code, der direkt mit dem Endpunkt spricht, tut das nicht.
Google-Trends-Daten abrufen
hasdata_google_trends_search_getTrendsData
Interesse im Zeitverlauf, nach Region oder die verwandten Suchanfragen und Themen für einen Begriff.
Parameter | Typ | Erforderlich | Hinweise |
| string | ja | Der Suchbegriff. |
| string | Standardmäßig | |
| string | Ein Zeitfenster wie | |
| string | Ein Ortscode wie | |
| string | Granularität nur für | |
| string | Kategorie-ID, um den Begriff einzugrenzen. | |
| string | Die Google-Eigenschaft: | |
| number | Zeitzonen-Offset in Minuten, Standard |
Der Antwortschlüssel hängt von dataType ab. timeseries gibt interestOverTime.timelineData zurück, geoMap gibt Interesse nach Region zurück, und die verwandten Typen geben relatedQueries oder relatedTopics zurück, jeweils aufgeteilt in rising und top. Lesen Sie den Schlüssel, der zu dem von Ihnen angeforderten Typ passt.
timeseries (der Standard) gibt für jeden Punkt einen Wert von 0 bis 100 zurück, sowohl als String als auch vorab geparst in extractedValue. Der letzte Punkt trägt oft isPartial: true, was bedeutet, dass die Woche noch aufgefüllt wird. Entfernen Sie ihn, bevor Sie einen Trend berechnen, sonst erscheint der letzte Balken als ein Rückgang, der nicht real ist.
{
"interestOverTime": {
"timelineData": [
{ "date": "Apr 12 – 18, 2026", "timestamp": "1775952000", "isPartial": false,
"values": [{ "query": "cold brew coffee", "value": "100", "extractedValue": 100, "hasData": true }] },
{ "date": "Aug 23 – 29, 2026", "timestamp": "1787443200", "isPartial": true,
"values": [{ "query": "cold brew coffee", "value": "44", "extractedValue": 44, "hasData": true }] }
]
}
}relatedQueries teilt sich in rising und top. Ein steigender Eintrag liest sich als Prozentsatz wie +300% oder als Breakout für einen zu großen Sprung, um ihn zu bewerten, und extractedValue gibt die Zahl dahinter an. Ein Breakout kommt mit einem Sentinel-extractedValue zurück, der weit über jedem realen Prozentsatz liegt. Sortieren Sie also nach dem String-Label, nicht nach der rohen Zahl.
{
"relatedQueries": {
"rising": [
{ "query": "organic cold brew coffee", "value": "+300%", "extractedValue": 300, "link": "https://trends.google.com/trends/explore?q=organic+cold+brew+coffee&date=today+12-m&geo=US" }
],
"top": [
{ "query": "how to cold brew coffee", "value": "100", "extractedValue": 100, "link": "https://trends.google.com/trends/explore?q=how+to+cold+brew+coffee&date=today+12-m&geo=US" }
]
}
}Die Endpunkt-Referenz listet jedes geo, cat und Datumsformat auf, das das Tool akzeptiert.
Fehler und Fehlerpfade
Ihr Client sieht bei einem Tool-Aufruf fast nie einen HTTP-Fehlercode. Die MCP-Schicht antwortet mit 200 und legt den Fehler in das Ergebnis, mit isError auf true und dem Grund als Text. Der Agent liest eine Nachricht, wo Sie eine Statuszeile erwarten würden.
Ein falscher Schlüssel erscheint als Tool-Ausgabe, nicht als fehlgeschlagene Verbindung. tools/list akzeptiert jeden nicht-leeren Schlüssel und gibt das Tool zurück, sodass der Client seinen Handshake abschließt und grün anzeigt. Der erste Tool-Aufruf kommt dann mit isError: true und dem Text HasData API error: 401 Unauthorized zurück. Achten Sie auf diese Zeichenfolge, denn nichts früher im Ablauf meldet das Problem.
Ein fehlender Schlüssel ist der einzige echte HTTP-Fehler. Die Autorisierung läuft vor jedem Tool, und die Verbindung selbst schlägt mit 401 fehl. CORS-Header sind vorhanden, und ein Browser-Client liest den Status und keinen undurchsichtigen Netzwerkfehler.
Ein Argument, das das Schema des Tools verletzt, wird abgelehnt, bevor es zu einem Scrape wird. Der Server antwortet mit isError: true und dem Text MCP error -32602: Input validation error, wobei das fehlerhafte Feld genannt wird. Es wird nichts abgerufen und nichts berechnet.
Ein Begriff mit zu geringem Suchvolumen gibt ein erfolgreiches Ergebnis mit leeren Datenarrays zurück, keinen Fehler. Google Trends hat für einen seltenen Begriff nichts zu zeigen, und requestMetadata.status liest weiterhin ok. Testen Sie auf die Punkte, bevor Sie sie grafisch darstellen.
Ein Bezeichner, den die Plattform ablehnt, gibt 400 zurück mit requestMetadata.status auf error. Ein unbekannter geo- oder cat-Wert ist der übliche Weg, dies zu sehen.
Ergebnisse, die Daten enthalten, tragen auch eine requestMetadata.id, die im Support angegeben werden sollte.
Preise, kostenlose Stufe und Limits
Jeder Google-Trends-Aufruf kostet 5 Credits pro erfolgreichem Aufruf. Die Antwortgröße ändert den Preis nicht. Eine fünfjährige wöchentliche Serie kostet dasselbe wie eine einzelne Woche.
Die kostenlose Testversion umfasst 1.000 Credits über 30 Tage ohne Karte, das sind 200 Google-Trends-Aufrufe. Danach erhält ein aktives Konto weiterhin täglich 100 Credits nachgefüllt, sobald sein Guthaben unter 100 fällt, sodass ein Agent mit geringem Volumen unbegrenzt auf der kostenlosen Stufe läuft.
Bezahlte Pläne beginnen bei 49 $ pro Monat für 200.000 Credits, das sind 40.000 Aufrufe. Der Stückpreis sinkt mit dem Volumen, von 1,23 $ pro 1.000 Aufrufen im Einstiegsplan auf 0,50 $ bei Business, 0,42 $ bei Growth und 0,37 $ bei den größten High-Volume-Plänen.
Ihr Tarif legt auch fest, wie viele Anfragen gleichzeiting möglich sind. Die kostenlose Testversion erlaubt 1 Anfrage gleichzeiting, Startup 15, Business 30, Growth 50, und die Tarife mit hohem Volumen liegen zwischen 200 und 1.500. Behandeln Sie den Fall, dass das Limit überschritten wird, in unbeaufsichtigten Abläufen defensiv.
Eine Anfrage, die als Nicht-200-Antwort zurückkommt, wird nicht abgerechnet. Ein erfolgreicher Aufruf, der nichts findet, ist trotzdem ein Aufruf.
Tool-Auswahl
Der apis-Query-Parameter legt fest, welche Tools Ihr Agent sieht. Je weniger Tools, desto weniger Kontext wird für Tool-Definitionen aufgewandt, und desto geringer die Wahrscheinlichkeit, dass das Modell zum falschen Tool greift.
?apis=google_trends the one tool in this repo
?apis=google_trends,google_serp add Google search
?apis=google_trends,youtube trends plus YouTubeDer Parameter akzeptiert Providernamen wie google_trends und einzelne API-Namen. Falsch geschriebene Namen werden ignoriert. Wenn jeder Name falsch ist, schlägt die Anfrage mit 400 fehl, und der Body lisetet sowohl auf, was er nicht erkannt hat, als auch jeden gültigen Wert. Lassen Sie den Parameter weg, und derselbe Endpunk macht alle 57 HasData-Tools verfügbar.
Vergleich
Google veröffentlicht keine öffentliche Trends-API. Die beiden üblichen Wege sind die inoffizielle Bibliothek pytrends, die dieselben internen Endpunkte per Reverse Engineering nutzt und bricht, wenn Google sie ändert oder den Aufrufer drosselt, sowle ein selbst gebauter Scraper. Dieser Server erledigt diese Arbeit hinter einem stabilen Schema.
pytrends / DIY | Dieser Server | |
Offizieller Support | Keiner, Google bietet keine Trends-API an | Gepflegtes Schema für dieselben Daten |
Rate-Limits und 429er | Häufig und selbst zu verwalt en | Wird hinter dem Endpoit gehandhabt |
Ausgabe | Pands-Frames oder rohe Payloads zum Umformen | Strukturiertes JSON, Werte vorgeparst |
Einrichtung | Eine Python-Umgebung und Wartung, wenn es bricht | Ein Schlüssel und eine URL |
Kosten | Kostenlos, wenn es funktioniert | Nach der Testversion kostenpflichtig, 5 Credits pro Aufruf |
Wenn Sie pytrends bereits mit geringem Volumen betreiben und es Ihnen nichts ausmacht, es zu reparieren, wenn es bricht, bleibt das die kostenlose Lösung. Dieser Server ist für Agenten und Pipelines gedacht, die die Daten jedes Mal in der gleichen Form benötigen.
FAQ
Gibt es eine offizielle Google Trends API?
Nein. Google hat nie eine öffentliche Trends-API herausgebracht. Jede Option liset dieselben internen Endpunkte, die auch die Website trends.google.com verwendet. Diesr wird von HasData gepflegt und liefert das Ergebnis als strukturiertes JSON.
Was ist ein Google Trends MCP-Server?
Ein Server, der Google Trends als Tool bereitstellt, das ein KI-Cli ent aufrufen kann. Der Cli ent sendet einen Tool-Aufruf über das Model Context Protocol, der Server holt die Daten und gibt strukturiertes JSON zurück, und das Modell arbeitet mit dem Ergebnis. Diesr Server stellt ein einziges Tool bereit und läuft remote, sodass der Cli ent eine URL verbindet und keinen lokalen Prozess startet.
Bedeuten die Zahlen das absolute Suchvolumen?
Nein, das tut auch Google Trends selbst nicht. Die Werte sind relative Interessen, die innerhalb der von Ihnen angefragten Suchanfrage, des Zeifensters und der Region auf 0 bis 100 skaliert sind. Nutzen Sie sie für den Verlauf und für Vergleiche, nicht als Anzahl von Suchanfragen.
Warum ist der letzte Datenpunkt niedriger als die übrigen?
Der jüngste Bucket wird normalerweise noch befüllt und kommt mit isPartial: true zurück. Verwerfen Sie ihn, bevor Sie einen Trend berechnen.
Kann ich mehrere Begriffe gleichzeitig vergleichen?
Ja, in timeseries und geoMap. Übergeben Sie die Begriffe in q, durch Kommas getrennt. Die Typen related-query und related-topic akzeptieren einen einzelnen Begriff.
Kann ich das zusammen mit anderen HasData-APIs verwenden?
Ja. Der apis-Parameter nimmt eine Liste entgegen, und ?apis=google_trends,google_serp gibt Ihrem Agenten Trends plus Google-Suche. Lassen Sie den Parameter weg und Sie erhalten alles.
Compliance und personenbezogene Daten
HasData greift ausschließlich auf öffentlich verfügbare Daten zu. Die Nutzungsbedingungen einer Plattform können den automatisierten Zugriff einschränken, und Sie sind für Ihre eigene Compliance verantwortlich.
HasData-Links
Produktseite und Request-Builder | |
Server-Dokumentation | |
Alle 57 Tools in einem Server | |
Client-Walkthroughs | |
Alles andere, was wir scrapen | |
Tarife und Credit-Kosten | |
Schlüssel und Nutzung | |
Node-Launcher auf npm | |
Python-Launcher auf PyPI |
Entwicklung
Dieses Repository ist Konfiguration und Dokumentation für einen Remote-Server. Es gibt keinen Build-Schritt und nichts zu containerisieren.
Die Tests in test/ prüfen den Tool-Vertrag – den Teil, der brechen kann, ohne dass hier ein Commit erfolgt. Sie prüfen, dass ?apis=google_trends genau ein Tool zurückgibt, dass es weiterhin seinen erforderlichen Parameter deklariert, dass sich der Name nicht geändert hat und dass der verwendete Schlüssel tatsächlich akzeptiert wird. Dieser letzte Check ruft das Tool tatsächlich auf und kostet 5 Credits – das ist der Preis eines Kanarienvogels, der aus dem richtigen Grund scheitern kann.
# macOS and Linux
HASDATA_API_KEY=your_key_here npm test
# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm testDieselbe Suite läuft in CI bei jedem Push und planmäßig einmal pro Woche, weil sich die Upstream-Tool-Liste ändern kann, ohne dass jemand dieses Repository anfasst. Ein Fehlschlag bedeutet, dass sich die Tool-Liste verschoben hat, der Schlüssel nicht mehr funktioniert oder der Endpoint nicht erreichbar war – und die Assertion-Meldung sagt, welcher Fall eingetreten ist.
Mitwirken
Korrekturen an der Parametertabelle und am Antwortbeispiel sind der nützlichste Beitrag, denn das sind die Teile, die abdriften. Fügen Sie den Aufruf, den Sie gemacht haben, und die Antwort, die Sie erhalten haben, hinzu. Pull-Requests aus Forks führen die Suite ohne Schlüssel aus, und die Live-Checks werden übersprungen, anstatt rot zu werden.
Lizenz
MIT. Siehe LICENSE.
Available Tools
1 toolhasdata_google_trends_search_getTrendsDatagoogle_trends_search: GET /AInspect
Get Google Trends Data
Pulls Google Trends data for one or more queries with geo targeting, region granularity (country/subregion/metro/city), date range, category, time zone, Google property (web, images, news, shopping, YouTube), and dataType (timeseries, geoMap, relatedTopics, relatedQueries). Returns interest-over-time series, geo-level breakdowns, and rising/top related topics/queries with relative scores. Use for keyword/content strategy, demand forecasting, seasonality analysis, topic discovery, campaign timing, and adding live-trend signals to marketing or research agents.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Specify the search term for which you want to retrieve trends data. | |
| tz | No | Defines a time zone offset in minutes. The default value is 420 (Pacific Daylight Time (PDT): UTC-7). The valid range for this parameter is from -1439 to 1439. To calculate the `tz` value for a specific time zone, you can use the time difference between UTC +0 and the desired time zone. Examples: - `420`: Pacific Daylight Time (PDT) - `60`: Central European Time (CET) - `-540`: Japan Standard Time | |
| cat | No | Category of the search term. The default value is 0 ("All categories"). Provide one exact documented value (1133 allowed), e.g. `0`, `3`. | |
| geo | No | Specifies the location for the search. Defaults to Worldwide if not set or empty. Provide one exact documented value (3517 allowed), e.g. `AF`, `AF-BDS`. | |
| date | No | Defines a date range for the search. Available options: - `now 1-H`: Past hour - `now 4-H`: Past 4 hours - `now 1-d`: Past day - `now 7-d`: Past 7 days - `today 1-m`: Past 30 days - `today 3-m`: Past 90 days - `today 12-m`: Past 12 months - `today 5-y`: Past 5 years - `all`: 2004 - present You can also specify a custom date range using one of the following formats: - `yyyy-mm-dd yyyy-mm-dd` - (e.g. 2021-10-15 2022-05-25) for dates from 2004 to present. - `yyyy-mm-ddThh yyyy-mm-ddThh` - (e.g. 2022-05-19T10 2022-05-24T22) for dates with hours within a week range. The hours will be calculated based on the tz (time zone) parameter. | |
| gprop | No | Sorts results by a specific property. The default property is Web Search (applied when the gprop parameter is not set or empty). Available options: - `images`: Image Search - `news`: News Search - `froogle`: Google Shopping - `youtube`: YouTube Search | |
| region | No | Used to get more specific results when using "Interest by region" data type. Other data types do not accept this parameter. The default value depends on the geo location that is set. Available options: - `country`: Country - `region`: Subregion - `dma`: Metro - `city`: City Note: Not all region options will return results for every geo location. | |
| dataType | No | Defines the type of search to perform. Available options: - `timeseries`: Interest over time (default). Accepts both single and multiple queries per search. - `geoMap`: Interest by region. Accepts both single and multiple queries per search. - `relatedTopics`: Related topics. Accepts only single query per search. - `relatedQueries`: Related queries. Accepts only single query per search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining behavior. It implies a read-only data retrieval operation through words like 'Pulls' and 'Returns', and mentions no destructive side effects. However, it does not explicitly state that the operation is read-only, nor does it mention authentication, rate limits, or potential errors, leaving some behavioral aspects implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, followed by a compact summary of parameters and use cases. It avoids redundancy and stays focused, though the final list of use cases adds length without critical operational detail. Overall it is well-structured and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description gives a reasonable overview of expected outputs (interest-over-time series, geo-level breakdowns, related topics/queries with relative scores). It also covers parameter capabilities and domain use cases. It does not describe response formats, pagination, or error conditions, but given the tool's complexity and lack of output schema, the description is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All eight parameters have detailed descriptions, covering defaults, allowed values, and format examples. The q parameter is described as a singular 'search term' while the main description says 'one or more queries', leaving ambiguity about how to pass multiple terms. Most other parameters are very well explained, but this minor gap prevents a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Google Trends data, enumerates the key parameters (geo, region, date, category, time zone, property, dataType), and distinguishes it from sibling tools by focusing specifically on Trends. The verb 'Pulls' and the listed outputs make the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases such as keyword/content strategy, demand forecasting, seasonality analysis, and topic discovery, which strongly signal when an agent should select this tool. It does not explicitly mention when not to use it or point to alternatives, but given there is no other Google Trends sibling tool, the guidance is sufficient.
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 tool update
v1.0.0- First observed
hasdata_google_trends_search_getTrendsData
TDQS
Scored across 1 tool
With only a single tool, there is no risk of overlapping purposes or misselection. The single tool's scope and parameters are clearly described, making the tool's purpose immediately identifiable.
The tool name combines snake_case and camelCase ('getTrendsData') with a vendor-specific prefix, so the naming style is internally inconsistent. With only one tool, there is no broader pattern for the server to enforce.
One tool for a specialized Google Trends server is borderline. The tool is very broad and covers multiple data types, so it is usable, but it places a large command surface into a single entry point that might be easier to split into multiple focused tools.
The tool covers the full Google Trends feature set: timeseries, geo maps, related topics/queries, various filters, and property selection. No obvious major gap in the domain space.
Maintenance
Related MCP Connectors
Google Trends data as JSON: interest over time, rising and top queries, regions, Trending Now.
Google Trends: Search, Images, News, Shopping over time, growth metrics. Free key at trendsmcp.ai
Google Trends JSON + trend summary, $0.0025/keyword; rate-limited keywords never charged.
Google Trends Scraper API: Interest and Trending Now
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.329,666 PyPI1,551MIT

HasData MCP Serverofficial
AlicenseAqualityAmaintenanceDirect access to 40+ scraping and search tools. Extract structured data from Google (Search, Maps, Trends), Amazon, Airbnb, Social Media, and any web page directly into your AI agent.6320MIT- AlicenseBqualityDmaintenanceProvides access to Google Trends data including status, trending questions, and trending topics via MCP tools.321 npm34MIT
- AlicenseNot gradedqualityBmaintenanceProvides Google Search trend data as an MCP tool, with historical series, growth percentages, and live trending searches, no scraping or rate limits.1MIT