google-data-mcp
This server provides access to Google Trends, YouTube, Google Ads Transparency Center, and Google Play Store data via plain HTTP, without API keys (rate limiting applies).
Google Trends:
google_trends_interest: Get 0–100 relative interest over time for a single keyword, filterable by geography and timeframe (e.g., last 12 months, last 5 years, custom dates).google_trends_compare: Compare 2–5 keywords in one request, values normalized for direct comparability.google_trends_trending: See currently trending search terms in a country, with rounded search volume buckets.
YouTube:
youtube_listing: List a channel’s Shorts, videos, or search results (up to 300 items). Returns video ID, title, view count, and publish date. Transcripts not available.
Google Ads Transparency Center:
google_ads_advertisers: Find advertisers by name; returns advertiser ID, country, and declared ad count.google_ads_creatives: Get all active ads for an advertiser ID, including creative ID, format, preview URL, and first/last shown dates (zero ads is a valid result).
Google Play Reviews:
google_play_reviews: Fetch app reviews with rating, text, date, app version, thumbs-up count, and developer replies. Results vary by language and country; sort by relevance or recency; reviewer identity optional.
All tools support geo, timeframe, limits, and language parameters to tailor results.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-data-mcpcompare Google Trends for 'AI' and 'machine learning' in the US"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-data-mcp
An MCP server for four Google data surfaces that answer to plain HTTP — no API key, no browser, no scraping service:
Tool | What it returns |
| Interest over time for one keyword (0–100, weekly or hourly points) |
| Up to 5 keywords in ONE request, so the values are comparable |
| What is trending right now in a country |
| A channel's Shorts, a channel's videos, or search results |
| Advertisers in the Ads Transparency Center, by name |
| Every ad an advertiser runs — format, preview URL, first/last shown |
| App reviews — rating, text, date, version, developer reply |
Read this before you install
Everything leaves from your machine's IP, and Google's per-IP budget accumulates over hours. This is not a caveat buried at the bottom; it is the main thing that decides whether this server is right for your job.
Measured: an unpaced burst was rate-limited at request 93, and after roughly 130 paced requests spread over hours the same address was refused on the first request of a fresh session. While writing this server, both the author's IPs — a home connection and a datacenter VPS — ended the day refused by Google Trends.
So this server caches every result on disk (~/.cache/google-data-mcp) and paces its requests. That
is enough for interactive use: asking an agent a handful of questions, exploring a topic,
checking a competitor. It is not enough for bulk work, and no amount of local code can make one
IP behave like many.
If you need volume, the same clients run behind rotating proxies as Apify Actors: Google Trends · YouTube · Ads Transparency.
Related MCP server: bigquery-google-trends-mcp
What is deliberately missing
YouTube transcripts. They look available — the watch page still lists caption tracks — but
api/timedtext returns zero bytes and /youtubei/v1/get_transcript answers Precondition check failed even when sent the page's own INNERTUBE_CONTEXT and visitorData, and the ANDROID and IOS
player clients are refused the same way. A transcript tool here would be a promise this server
cannot keep, so there isn't one.
Install
pipx install google-data-mcp
# or: pip install google-data-mcp
# or, without installing anything: uvx google-data-mcpThen register it with your MCP client. For Claude Code:
claude mcp add google-data -- google-data-mcpOr by hand, in an MCP client config:
{
"mcpServers": {
"google-data": {
"command": "google-data-mcp"
}
}
}Notes on the data
Trends values are relative within a single request. Two separate
google_trends_interestcalls are not comparable to each other; that is whatgoogle_trends_compareis for. Google caps a comparison at 5 terms and silently drops a 6th, so a 6th is refused rather than quietly ignored.Play reviews differ per locale. Each
hl/glpair returns a different set of reviews — six locales gave 120 unique reviews of the same app. Vary them to widen coverage rather than paging deeper in one language.Reviewer identity is omitted by default. The records carry an author name, avatar and Google account id; rating, text, date and version answer product questions without them. Set
include_authorif you genuinely need the name.Zero ads is a real answer. Google keeps advertisers whose ads have stopped running and still reports a count for them, so an empty
adslist with a non-zero declared count is information, not a failure.searchVolumeon trending terms is Google's own rounded bucket, not a precise count.
Legal
These are public pages, but none of them has an official public API and each platform's Terms of Service restrict automated access. You are responsible for how you use the output. No personal data is collected by default.
Development
python -m venv .venv && .venv/bin/pip install -e .
.venv/bin/python -m google_data_mcp # speaks MCP over stdioEach client is plain standard library and can be exercised on its own, which is the fastest way to check whether Google changed something:
.venv/bin/python -c "from google_data_mcp.play import PlayClient; print(len(PlayClient().reviews('com.spotify.music', limit=40)))"Available Tools
7 toolsgoogle_ads_advertisersA
Find advertisers in Google's Ads Transparency Center by name. Returns each advertiser's id, country and Google's declared ad count — pass the id to google_ads_creatives.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many matches to return. | |
| keyword | Yes | Advertiser or brand name to search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states return fields (id, country, ad count) and downstream usage, which is helpful. However, it omits details like rate limits, pagination, or explicit read-only nature, though 'Find' implies a safe operation.
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?
Two sentences, front-loaded with the primary action, and the second sentence adds critical workflow information. No filler or redundancy.
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?
Despite lacking an output schema, the description explains return fields and how to chain to google_ads_creatives. For a simple two-parameter search tool, this is adequately complete, though it doesn't cover edge cases like empty results or pagination.
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?
Schema coverage is 100% with descriptions for both keyword and limit, so the schema already handles parameter meaning. The description adds context about using the returned id with google_ads_creatives, but doesn't introduce new parameter-specific details.
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 states 'Find advertisers in Google's Ads Transparency Center by name' with a specific verb and resource, and distinguishes from sibling google_ads_creatives by instructing to pass the id there.
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?
It clearly implies the search use case and directs the user to google_ads_creatives for creatives, providing context for when to use this tool. It lacks explicit 'do not use when' exclusions but offers sufficient guidance for the main workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_creativesA
Every ad an advertiser is currently running, from Google's Ads Transparency Center: creative id, format, preview URL and first/last shown dates. An advertiser with zero ads is a real answer — Google keeps advertisers whose ads have stopped running.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum ads to return. | |
| advertiser | Yes | An AR… advertiser id, or a Transparency Center URL containing one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the data source (Google's Ads Transparency Center), the fields returned, and a non-obvious edge case (zero ads is valid and why). It omits details like rate limits, pagination behavior, or error handling, but the included behavioral insight is valuable.
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 two sentences with no filler. The first sentence front-loads the core purpose and output fields; the second sentence clarifies an important edge case. Every word earns its place.
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?
Given the tool has only 2 parameters, no output schema, and no annotations, this description is quite complete. It covers the core function, output fields, data source, and a critical edge case. It does not explain pagination/limit behavior, but the schema covers the limit parameter, so this is not a major gap.
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?
Schema description coverage is 100%, so the schema already documents both parameters (advertiser and limit). The description adds no extra parameter semantics, only referencing 'advertiser' generically. Baseline 3 is appropriate since the schema does the heavy lifting.
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 returns "every ad an advertiser is currently running" from Google's Ads Transparency Center, mentioning specific output fields (creative id, format, preview URL, dates). This distinguishes it from sibling tools like google_trends_* and youtube_listing, making the 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 implies when to use this tool: when you need the full set of currently running ads for a given advertiser. It also provides important interpretive guidance by noting that "an advertiser with zero ads is a real answer" and explaining why. It does not explicitly name alternatives or exclusions, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_play_reviewsA
Reviews for an Android app: rating, text, date, app version, thumbs-up and the developer's reply. Reviewer names and avatars are omitted unless you ask for them. Note each language/country returns a DIFFERENT set of reviews, so vary hl/gl to widen coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | Country code. | US |
| hl | No | Language code. Each language returns a different set of reviews. | en |
| sort | No | Google's own ordering. | relevant |
| limit | No | Maximum reviews. | |
| app_id | Yes | Android package name, e.g. com.spotify.music. | |
| include_author | No | Include the reviewer's display name. Off by default: it is personal data and rarely needed for product or ASO analysis. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that reviewer names and avatars are omitted by default because they are personal data, and explains the language/country variability. This adds meaningful behavioral context beyond the schema.
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 two sentences, front-loaded with the core purpose, and every phrase adds value. It is tightly written without redundancy or irrelevant details.
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?
The description mentions the return fields, the personal data omission, and the language/country coverage tip, which collectively give a good sense of what to expect. It does not discuss sort/limit behavior, but those are already documented in the schema.
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?
The schema already covers 100% of parameters, so the baseline is 3. The description adds value by explaining the interplay between hl/gl and review coverage, and by clarifying why include_author defaults to false (personal data concern). This exceeds baseline.
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 identifies the tool as fetching Android app reviews and enumerates the data fields (rating, text, date, app version, thumbs-up, developer reply). It lacks an explicit verb like 'get' or 'fetch', but the resource and scope are specific enough to distinguish it from sibling tools.
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 gives direct usage guidance: varying hl/gl to widen coverage and acknowledging that each language/country returns different reviews. It does not explicitly contrast with sibling tools or state when NOT to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_trends_compareA
Compare up to 5 keywords in ONE Google Trends request, so their 0-100 values ARE normalised against each other and can be ranked. Google silently drops a 6th term, so 6+ is refused rather than answered with a term missing.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Country or sub-region code. Empty = worldwide. | |
| keywords | Yes | 2 to 5 search terms. | |
| timeframe | No | Google range string, e.g. 'today 12-m'. | today 12-m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden, and it excels by disclosing that values are normalized across keywords and that the tool refuses 6+ terms rather than silently dropping one. This adds valuable behavioral context beyond the input schema, though it does not cover error handling or auth requirements.
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 two sentences, front-loaded with the core purpose in the first sentence and a key behavioral caveat in the second. Every phrase earns its place, with no redundant or filler content.
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?
For a tool with 3 parameters and no output schema, the description covers purpose, output semantics (0-100 normalized values), and an input constraint. It lacks guidance on how this tool relates to google_trends_interest or other siblings, but enough is provided for an agent to know when to invoke it for comparison tasks.
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?
The schema already covers all parameter descriptions (100% coverage), so the description does not need to explain basic meaning. However, it adds semantic value by explaining why the keyword limit is 2-5 (to ensure normalized comparison) and what happens if the limit is exceeded, which goes beyond the schema's '2 to 5 search terms' text.
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's action ('Compare up to 5 keywords in ONE Google Trends request') and highlights the distinguishing normalization feature, making it easy to differentiate from related tools like google_trends_interest. The purpose is specific and actionable.
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 clear context for when to use this tool: when comparing/ranking multiple keywords in a single normalized request. It also implicitly states a limitation (6+ refused) but does not explicitly name alternative tools or when-not conditions, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_trends_interestA
Google Trends interest over time for ONE keyword. Values are 0-100 relative WITHIN this single request, so they are not comparable to another call's numbers — use google_trends_compare when you need to rank terms against each other.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Country or sub-region code (US, VN, US-CA). Empty = worldwide. | |
| keyword | Yes | A single search term. | |
| timeframe | No | Google's own range string: 'today 12-m', 'today 5-y', 'now 7-d', 'all', or '2025-01-01 2025-12-31'. | today 12-m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it discloses a key behavioral trait: values are '0-100 relative WITHIN this single request' and 'not comparable to another call's numbers'. This is valuable context beyond the schema. It doesn't mention return format or rate limits, but for a simple read-only tool, this is adequate.
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?
Two sentences, front-loaded with the core purpose, followed by a critical caveat and a clear sibling reference. No filler or redundancy.
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?
Given the tool's simplicity, full schema coverage, and lack of output schema, the description covers the main usage caveat (non-comparability) and the alternative. It could explicitly state the response is a time series, but 'interest over time' implies it. Overall, it is complete enough for an agent to use correctly.
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?
Schema coverage is 100% with descriptive parameter explanations for keyword, geo, and timeframe. The description adds little beyond saying 'ONE keyword', which mostly reinforces the schema's 'A single search term'. Baseline 3 applies as the schema does the heavy lifting.
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 'interest over time for ONE keyword', a specific verb+resource with explicit scope. It also distinguishes itself from google_trends_compare by noting the alternative for ranking terms, which differentiates it from the sibling tool.
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?
Explicitly says 'use google_trends_compare when you need to rank terms against each other', providing a direct alternative and the condition for choosing it. This also implicitly states the current tool is for single-keyword relative interest, making usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_trends_trendingB
What is trending on Google right now in one country. searchVolume is Google's own rounded bucket (100000, 1000000), not a precise count.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Two-letter country code, e.g. US, VN, GB. | US |
| limit | No | How many terms to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It adds value by clarifying that searchVolume is a rounded bucket, not a precise count. However, it doesn't mention other behavioral aspects like update frequency, response structure, or any limitations of the trending data. Partial transparency.
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 extremely concise, consisting of two short sentences. The first states the core purpose, and the second adds a necessary clarification about the output field. There is no wordiness or redundancy.
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?
The tool is simple, but without an output schema the description should outline the response shape. It only mentions searchVolume, leaving the overall response structure (e.g., array of objects with title and searchVolume) implicit. This is minimally sufficient for a basic understanding but lacks full completeness.
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?
The schema already provides detailed descriptions for both parameters (geo as country code with examples, limit as count with min/max). The tool description adds no additional parameter-level meaning beyond the schema, so the baseline of 3 applies given 100% schema coverage.
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's purpose: it returns what is trending on Google in a single country. The phrase 'right now' conveys real-time trending, and 'in one country' hints at a single-geo scope, distinguishing it from comparison tools. However, it doesn't explicitly name sibling tools or contrast them.
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?
There is no explicit guidance on when to use this tool versus alternatives like google_trends_compare or google_trends_interest. The 'in one country' wording implies a single-country use case, but there are no exclusions or alternative recommendations. This is insufficient for an agent to make a confident choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_listingA
List videos from YouTube: a channel's Shorts tab, a channel's videos tab, or search results. Returns videoId, title, view count, and (for videos/search) a publish date. Transcripts are NOT available from this server — Google gates them behind a token this server cannot mint.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Which listing to read. | videos |
| limit | No | Maximum rows. Pagination stops early if the listing runs out. | |
| target | Yes | A channel (@handle, UC… id or URL) for 'shorts'/'videos'; a search query for 'search'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose key behavioral traits: return fields and the transcript limitation caused by server token restrictions. It does not mention authentication, rate limits, or ordering, but for a read-only listing tool this is reasonably transparent.
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 two sentences with no filler. The first sentence defines purpose and modes, the second covers return fields and a critical limitation. Every sentence earns its place.
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?
For a simple 3-parameter tool with no output schema, the description is complete: it covers the three listing modes, what fields are returned, and the main constraint. The schema covers parameter details like limit and pagination behavior, so the description does not need to repeat those.
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 three parameters are already described in the schema (100% coverage), so the description adds minimal new parameter semantics. It does clarify the target parameter's meaning per kind, but this is already present in the schema description, so no extra value beyond the baseline.
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 lists videos from YouTube, enumerates the three specific modes (Shorts, videos, search), and lists return fields. It is immediately distinguishable from sibling tools which focus on Google Trends, Google Ads, and Play Reviews.
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 clearly implies when to use the tool (for listing YouTube videos from channels/search) and explicitly states a limitation (transcripts unavailable). However, it does not name alternative tools or provide when-not-to-use guidance beyond the transcript caveat, so it lacks explicit exclusions.
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. Dates show when Glama detected each change.
7 tool updates
v0.1.0- First observed
google_ads_advertisers - First observed
google_ads_creatives - First observed
google_play_reviews - First observed
google_trends_compare - First observed
google_trends_interest - First observed
google_trends_trending - First observed
youtube_listing
TDQS
Each tool targets a distinct Google service or distinct operation within a service. google_trends_compare and google_trends_interest are clearly differentiated by their normalization semantics, and the ad tools (advertisers vs creatives) have distinct purposes. No two tools could be easily confused.
Tool names follow a consistent service-prefix pattern (google_trends_, google_ads_, youtube_, google_play_), but the second part mixes nouns, verbs, and gerunds (e.g., compare, trending, listing, advertisers, creatives, reviews). While not perfectly uniform, the pattern is predictable and readable.
With 7 tools, the set is well-scoped. It covers multiple Google data services without bloating, and each tool addresses a common use case, making the count feel right for the stated purpose.
The tool surface covers core workflows for Trends (compare, trending, interest), Ads (advertiser search and creatives), YouTube (listing videos), and Play (reviews). Minor gaps exist (e.g., no YouTube channel details, no Play app metadata), but the essential read operations are present. The server explicitly notes limitations like no transcripts, which clarifies its boundaries.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Google search results via SERP API
Google Ads MCP server — manage campaigns, keywords, and metrics.
Free remote MCP server for fetching public web pages through a rotating proxy pool.
Related MCP Servers
- 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
- FlicenseNot gradedqualityBmaintenanceMCP server that exposes Google Trends data via BigQuery, enabling LLMs to query top search terms, rising terms, and compare term interest over time for different countries.-
- AlicenseAqualityDmaintenanceProvides free Google Trends data (interest over time, term comparison, related queries, trending now, regional breakdown) to MCP-compatible AI clients without needing an API key.598MIT
- AlicenseAqualityAmaintenanceMCP server that integrates Google News and Google Trends, enabling AI models to fetch news, analyze search interest, calculate growth rates, and summarize articles.2165MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ducnhd/google-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server