Hyperaware: What's Trending Now
Server Details
What's trending now: live top trends on Google, TikTok, YouTube, X, Reddit and Amazon, 22 feeds
- Status
- Healthy
- Uptime
- 88.1% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- hyperaware-live/whats-trending-now-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool targets a distinct data shape: social/news context, point-to-point growth, customer reviews, full historical series, live boards, and account usage. The only genuinely adjacent pair is get_growth vs get_time_series, but the descriptions explicitly cross-reference each other ('get_growth answers most growth questions with less data', 'for charting use get_time_series'). get_context is broad but scoped to keyword-based conversation.
All six tools follow the same namespace-prefixed verb_noun pattern (trends___get_context, get_growth, get_reviews, get_time_series, get_top_trends, get_usage). No mixing of casing or verb styles.
Six tools is well within the ideal range and each maps to a distinct access pattern (snapshot, growth, series, boards, reviews, quota). No tool appears redundant or padded.
The surface covers the core lifecycle of a trends lookup: discover what's trending, measure growth, pull full series, read social context, read reviews, and check quota. The notable gap is discovery of valid inputs—there is no tool to list available sources, boards, or supported keyword categories, so agents must guess source names or rely on errors.
Available Tools
6 toolstrends___get_contextARead-onlyIdempotentInspect
What people are posting, reading and betting about a keyword right now, or with hashtag=true the top TikTok and Instagram posts on one hashtag. Returns recent posts, videos, news stories, discussions and prediction markets per source, with engagement (views, likes, score) and top comments. Use it to explain why something is trending or what the conversation says; get_time_series and get_growth measure how much. Costs 1 request per data type (source or board) in the call; boards cost 1 request per 10 rows. Only data types that answer are charged; the answer says requests_charged. Returns a plan-limit message when the request is rate limited or the monthly quota is used up.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look back this many days, 1 to 30. Default 7. | |
| limit | No | Items per source, 1 to 20. Default 10. | |
| source | Yes | One source, several comma-separated, or 'all': 'all' = 10 ('News', 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', 'Hacker News', 'Polymarket', and 'GitHub'), costing 10. Valid: 'News', 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', 'Hacker News', 'Polymarket', 'GitHub'. | |
| hashtag | No | true: treat keyword as one exact hashtag (with or without #) and return the platform's own top posts for it, instead of a keyword search. Only for 'TikTok', and 'Instagram'; other sources search the keyword as usual. Default false. | |
| keyword | Yes | Any name or phrase, e.g. 'nintendo switch 2'. | |
| comments | No | Top comments for the first N items of each source, 0 to 5. Default 2. Only for 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', and 'Hacker News'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, it discloses the cost model (1 request per data type, boards 1 request per 10 rows), that only answering data types are charged, that the response reports requests_charged, and that a plan-limit message comes back on rate limit or quota exhaustion. That is meaningful operational context annotations cannot express. It stops short of describing ordering, freshness windows, or empty-result behavior, which keeps it from a 5.
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 most discriminating information — what it returns and how it differs from the measure siblings — is front-loaded, and the cost/failure sentences are load-bearing rather than filler. It is dense and runs long as a single block, which slightly hurts scanability, but no sentence is expendable.
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 multi-source, cost-accruing read tool with no output schema, it covers return contents, per-source engagement fields, cost accounting, the charged-only-for-answering rule, and the rate-limit/quota failure mode. An agent has everything needed to call it correctly and predict the billing consequence.
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%, so the baseline is 3; the description adds value by tying cost to specific parameter choices ('all' costing 10, boards per 10 rows) and by clarifying that hashtag mode applies only to TikTok and Instagram while other sources fall back to keyword search. The remaining parameters (days, limit, comments) get no extra meaning beyond the schema.
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 opens with a concrete verb+resource statement ('What people are posting, reading and betting about a keyword right now') and enumerates the returned artifacts (posts, videos, news stories, discussions, prediction markets) plus the hashtag mode. It explicitly distinguishes itself from the sibling measure tools, so an agent can separate it from get_time_series and get_growth without reading schemas.
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 states the use case ('explain why something is trending or what the conversation says') and names the alternatives with the condition that selects them ('get_time_series and get_growth measure how much'). The hashtag=true branch is also framed as a distinct mode of use, so when-to-use and when-not-to-use are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trends___get_growthARead-onlyIdempotentInspect
Point-to-point growth for a keyword on one or more sources. Each window is a preset string (12M, 3M, YTD, and the other listed periods). Values are on a 0-100 scale, plus absolute volume when available. Designed for growth questions; for charting or custom math, get_time_series provides the full series. App Downloads and App Rankings are keyword sources (Android bundle ID). They are not the App Store / Google Play live boards on get_top_trends. Costs 1 request per data type (source or board) in the call; boards cost 1 request per 10 rows. Only data types that answer are charged; the answer says requests_charged. Returns a plan-limit message when the request is rate limited or the monthly quota is used up.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | One source, comma-separated sources (e.g. 'Amazon, TikTok, YouTube'), or 'all': 'all' = 9 ('Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', and 'Pinterest'), costing 9. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'. | |
| country | No | Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, TikTok, and Pinterest. Google defaults to worldwide, TikTok to US; with a country the data is fetched live. | |
| keyword | Yes | What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon, Pinterest): any name or phrase, e.g. 'nike'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes App Downloads or App Rankings with other sources, keyword must still be the Android bundle ID. | |
| language | No | Optional language edition code (en, de, ja, pt). Only for Wikipedia. Default en; other languages are fetched live. | |
| resolution | No | Optional. 'weekly' (default, about 5 years) or 'daily' (last 90 days, fetched live). Only for Google Search, Google Images, Google News, Google Shopping, and YouTube. | |
| percent_growth | No | Growth windows. Default if omitted: ['12M']. Each item must be a preset string: '7D', '1W', '14D', '2W', '30D', '1M', '2M', '3M', '6M', '9M', '12M', '1Y', '18M', '24M', '2Y', '36M', '3Y', '48M', '4Y', '60M', '5Y', 'MTD', 'QTD', 'YTD'. Every preset is a two-date comparison. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it as a safe, read-only, idempotent read. The description adds real behavioral context: request cost accounting, that only answering data types are charged, that the response echoes requests_charged, and that a plan-limit message is returned on rate limit or quota exhaustion. Minor gap: nothing on error shape for invalid keyword formats, but the cost/quota disclosure is the material information.
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?
Front-loaded with purpose and output scale, which is good, but the cost sentences mention 'boards' and per-10-row board pricing even though this tool's schema accepts no board parameter — that invites confusion with get_top_trends. The quota/rate-limit sentence is useful but the pricing paragraph could be trimmed to sources only.
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?
With six parameters, no output schema, and full schema coverage, the description does the right supplementary work: it explains the returned scale, absolute volume, the requests_charged field, and quota failure behavior. Only the stray board-pricing detail and the absent invalid-input behavior keep it short of 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?
Schema description coverage is 100%, so the baseline is 3. The description restates the preset-window requirement for percent_growth and the 0-100 output scale, but adds no formatting or default guidance beyond what the per-parameter descriptions already spell out (including the full preset list, source formats, and bundle-ID rules).
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?
States a specific verb and resource: 'Point-to-point growth for a keyword on one or more sources.' It also explicitly separates itself from get_time_series ('for charting or custom math') and from get_top_trends (App Downloads vs. live boards), so an agent can pick it without opening sibling schemas.
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?
Gives an explicit when-to-use rule ('Designed for growth questions') plus the alternative and the condition that selects it ('for charting or custom math, get_time_series provides the full series'). It also warns that App Downloads/App Rankings are keyword sources, not the boards on get_top_trends, which heads off a likely misroute.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trends___get_reviewsAInspect
What customers say about a brand, app, product or place. Returns, per source, the matched listing with its all-time rating and review count, the newest reviews (stars, text, the company's reply) and a summary (average stars, star counts, share negative, share replied). Use it for brand sentiment and complaints; get_context covers social posts. Costs 1 request per data type (source or board) in the call; boards cost 1 request per 10 rows. Only data types that answer are charged; the answer says requests_charged. Returns a plan-limit message when the request is rate limited or the monthly quota is used up.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Only reviews from the last N days, 1 to 365. Default 90. | |
| limit | No | Reviews per source, newest first, 1 to 20. Default 10. | |
| source | Yes | One source, several comma-separated, or 'all': 'all' = 3 ('App Store', 'Google Play', and 'Amazon'), costing 3. Valid: 'App Store', 'Google Play', 'Amazon'. | |
| country | No | Store country, ISO code (US, GB, DE). Default US. Only for 'App Store', 'Google Play', and 'Amazon'. | |
| keyword | Yes | A brand, app, product or place name, e.g. 'notion'. Each source matches it to one listing and returns that listing as subject; check it is the one you meant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does so: it discloses the billing model, that only data types that answer are charged, that the response reports requests_charged, and that a plan-limit message is returned on rate limiting or quota exhaustion. These are exactly the operational traits an agent needs and none are recoverable from 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?
Front-loaded with the payoff (what the customer says) before the return shape, then cost, then failure modes — a sensible ordering. It is dense but nearly every clause carries information; the cost sentence is slightly compressed ('boards cost 1 request per 10 rows') given boards are not a parameter in this schema, which adds a small amount of noise.
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?
There is no output schema, so the description must describe return values, and it does so field by field (listing, rating, review count, review text, company reply, average stars, star counts, share negative, share replied). Combined with the cost and rate-limit disclosure, an agent has everything needed to call this correctly and interpret the result.
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 every parameter is already documented, and the description adds little parameter-level detail beyond restating that results are per source and reviews are newest-first. The one useful addition is the warning to verify the matched listing is the intended subject, which is a semantic caveat rather than parameter syntax. Baseline 3 is appropriate when 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?
Opens with a concrete verb-and-resource framing ('What customers say about a brand, app, product or place') and then enumerates exactly what comes back per source: matched listing, all-time rating, review count, newest reviews with stars/text/reply, and an aggregate summary. This is specific enough that an agent can distinguish it from get_context without inspecting either schema.
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 routes usage: 'Use it for brand sentiment and complaints; get_context covers social posts' names the sibling and the condition that selects it. It also states the cost model up front (1 request per data type, boards 1 per 10 rows) so the agent can weigh a call before making it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trends___get_time_seriesARead-onlyIdempotentInspect
Full historical series for one keyword on one or more sources (0-100 values, plus volume when available). Suited for charting or custom math. Live 'what's trending now' boards are on get_top_trends. get_growth answers most growth questions with less data. Costs 1 request per data type (source or board) in the call; boards cost 1 request per 10 rows. Only data types that answer are charged; the answer says requests_charged. Returns a plan-limit message when the request is rate limited or the monthly quota is used up.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | One source, several comma-separated (one series each), or 'all': 'all' = 9 ('Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', and 'Pinterest'), costing 9. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'. | |
| country | No | Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, TikTok, and Pinterest. Google defaults to worldwide, TikTok to US; with a country the data is fetched live. | |
| keyword | Yes | What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon, Pinterest): any name or phrase, e.g. 'tesla'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. | |
| language | No | Optional language edition code (en, de, ja, pt). Only for Wikipedia. Default en; other languages are fetched live. | |
| resolution | No | Optional. 'weekly' (default, about 5 years) or 'daily' (last 90 days, fetched live). Only for Google Search, Google Images, Google News, Google Shopping, and YouTube. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered; the description adds the cost model the annotations cannot express — 1 request per data type, boards at 1 request per 10 rows, charges only for data types that answer, and requests_charged in the answer. It also discloses failure behavior: a plan-limit message when rate limited or the monthly quota is exhausted.
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?
Four front-loaded sentences, each carrying distinct information: purpose and return shape first, then sibling routing, then cost accounting, then the quota-failure message. Nothing is restated from the schema and no sentence is filler.
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?
With no output schema, the description still tells the agent what comes back (0-100 series, optional volume, requests_charged) and what a limit-hit response looks like, which is adequate for a read-only series tool. It stops short of describing series granularity/row shape or pagination, a minor gap given the rich input 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?
Schema description coverage is 100%, so per-source keyword formats, country/language/resolution restrictions and the 'all' option are already fully documented in the schema. The description adds only the aggregate cost implication of multi-source calls, which is billing context rather than deeper parameter meaning; baseline 3 applies.
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?
States a specific verb and resource ('Full historical series for one keyword on one or more sources') and immediately characterizes the output shape (0-100 values, plus volume). It also names the two sibling tools it is not, so an agent can distinguish it from get_top_trends and get_growth without opening any schema.
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?
Gives an explicit fit statement ('Suited for charting or custom math') and routes alternatives: live boards go to get_top_trends, and 'get_growth answers most growth questions with less data' steers agents toward the cheaper tool. That is a clear when-to-use and when-not-to-use rule set rather than implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trends___get_top_trendsARead-onlyIdempotentInspect
Live top-trending boards: one feed type, several, or 'all'. No keyword. For 'Amazon Best Sellers by Category', 'Google Trends by Category', 'Pinterest Trending by Category', 'Top Websites', 'Substack by Category', and 'TikTok Trending Hashtags by Category', category selects the board. Default sort is current rank. Use sort='rank_change' for climbers vs a prior snapshot (window 1d, 3d, 7d, 14d, or 30d). If the requested board is not in the database yet (for example a country that is not collected on the schedule), the board is fetched live. App Store Top Free, App Store Top Paid, and Google Play are live store boards, not keyword lookups. App history is available via get_growth or get_time_series with source App Downloads or App Rankings and an Android bundle ID. Live boards are only available here, not via get_time_series. Costs 1 request per data type (source or board) in the call; boards cost 1 request per 10 rows. Only data types that answer are charged; the answer says requests_charged. Returns a plan-limit message when the request is rate limited or the monthly quota is used up.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | How to rank the board. 'rank' (default): current leaders. 'rank_change': biggest climbers vs a prior snapshot. Mover rows include rank, keyword, prev_rank, and rank_change. | |
| type | Yes | One live feed, several comma-separated (one board each, each billed per 10 rows), or 'all' (27 boards). Valid: 'Amazon Best Sellers Top Rated', 'Amazon Best Sellers by Category', 'App Store Top Free', 'App Store Top Paid', 'GitHub', 'Google News Top News', 'Google Play', 'Google Trends', 'Google Trends by Category', 'IMDb MOVIEmeter', 'Open Library Trending Books', 'Pinterest Trending', 'Pinterest Trending by Category', 'Polymarket Top Markets', 'Reddit Hot Posts', 'Reddit World News', 'Top Websites', 'Spotify Top Podcasts', 'Steam Most Played', 'Substack', 'Substack by Category', 'TikTok Trending Hashtags', 'TikTok Trending Hashtags by Category', 'TikTok Trending Searches', 'Wikipedia Trending', 'X (Twitter) Trending', 'YouTube Trending'. | |
| limit | No | Rows per board. Default 100 = 10 requests per board (1 request per 10 rows); lower it to spend less, e.g. 10 = 1 request. Min 1, max 200. | |
| offset | No | Rows to skip for pagination. Default 0. | |
| window | No | Lookback used only when sort is 'rank_change'. One of '1d', '3d', '7d', '14d', '30d'. Default '30d'. Short windows only work on daily feeds; weekly and monthly feeds return a note pointing to a longer window. | |
| country | No | Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'USA' or 'United States' resolve to US. Omit for the default US board. Only for Google Trends, Google Trends by Category, Pinterest Trending, Pinterest Trending by Category, TikTok Trending Hashtags, TikTok Trending Hashtags by Category, X (Twitter) Trending, and YouTube Trending. | |
| category | No | Pass this whenever type is 'Amazon Best Sellers by Category', 'Google Trends by Category', 'Pinterest Trending by Category', 'Top Websites', 'Substack by Category', or 'TikTok Trending Hashtags by Category'. Use the official name. Without it those feeds mix every board. Only omit on a first pull to learn the official names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, open-world operation, and the description goes well beyond that by disclosing the billing model (1 request per data type, 1 per 10 rows), that only answering data types are charged, and that rate-limit/quota exhaustion returns a plan-limit message. The only gap is that it never hints at response shape beyond 'the answer says requests_charged'.
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 definition is front-loaded with purpose, then scoping, then cost mechanics, so an agent can stop reading early. It is long and repeats the board list already present in the schema's type and category descriptions, which costs it a point, but there is no filler sentence.
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 seven-parameter aggregation tool with no output schema, the description covers what boards exist, how billing accrues, what happens on an uncollected board, and how quota errors surface. Nothing an agent needs to invoke it correctly is missing, and return values are not required since no output schema exists.
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%, so baseline is 3, but the description adds cross-parameter meaning the schema only partially conveys: category is mandatory for an enumerated set of boards, window applies only when sort='rank_change', and country applies to a specific subset of types. The request-cost relationship between limit and board count is reinforced in prose.
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 opening sentence gives a specific resource (live top-trending boards) and scope (one feed type, several, or 'all'; no keyword), which immediately separates it from the keyword-based siblings. It further enumerates the concrete boards covered, so an agent knows exactly what is retrievable here.
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 explicitly routes the agent to alternatives: historical app data goes through get_growth or get_time_series with specific sources, and 'Live boards are only available here, not via get_time_series' draws the boundary in both directions. The rank_change/window pairing and the live-fetch fallback for uncovered boards are also stated as usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trends___get_usageARead-onlyIdempotentInspect
Shows your plan, requests used this month, requests left, and when it resets. Free: does not use a request. Call it when the user asks about their limit or after a limit error.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely useful behavioral context not in the annotations: 'Free: does not use a request,' which matters for quota-awareness. It stops short of describing return format/pagination but no output schema exists.
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, zero waste, with the return contents front-loaded ahead of the invocation guidance. Nothing extraneous.
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?
With zero params and no output schema, the description fully covers what the tool does and what it returns (plan, used, left, reset time) plus the cost note. An agent has everything needed to call it 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?
The tool takes zero parameters, so the baseline is 4. The schema is empty and there is nothing for the description to compensate for; no confusion is possible.
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?
Names a specific verb ('Shows') and enumerates the exact resource fields returned: plan, requests used, remaining, and reset time. An agent can clearly distinguish this diagnostic tool from the analytics siblings (get_growth, get_time_series, get_top_posts, get_top_trends).
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?
Gives explicit trigger conditions: 'when the user asks about their limit' and 'after a limit error.' Clear invocation context. It doesn't name when-not-to-use or an alternative, but the siblings are unrelated analytics tools so an exclusion is less necessary.
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.
6 tool updates
- Changed
trends___get_context2 fields changed- added
Input schema / properties / hashtagAdded value: +{ + "description": "true: treat keyword as one exact hashtag (with or without #) and return the platform's own top posts for it, instead of a keyword search. Only for 'TikTok', and 'Instagram'; other sources search the keyword as usual. Default false.", + "type": "boolean" +} - changed
Input schema / properties / source / descriptionPrevious value: -"One source, or up to 5 comma-separated. Valid: 'News', 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', 'Hacker News', 'Polymarket', 'GitHub'."New value: +"One source, several comma-separated, or 'all': 'all' = 10 ('News', 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', 'Hacker News', 'Polymarket', and 'GitHub'), costing 10. Valid: 'News', 'YouTube', 'TikTok', 'Instagram', 'X', 'Reddit', 'Bluesky', 'Hacker News', 'Polymarket', 'GitHub'."
- Changed
trends___get_growth1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"One source, or comma-separated sources (e.g. 'Amazon, TikTok, YouTube'). Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."New value: +"One source, comma-separated sources (e.g. 'Amazon, TikTok, YouTube'), or 'all': 'all' = 9 ('Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', and 'Pinterest'), costing 9. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Added
trends___get_reviews - Changed
trends___get_time_series1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Exactly one source per request. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."New value: +"One source, several comma-separated (one series each), or 'all': 'all' = 9 ('Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', and 'Pinterest'), costing 9. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Removed
trends___get_top_posts - Changed
trends___get_top_trends2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max rows to return. Default 25, min 1, max 200."New value: +"Rows per board. Default 100 = 10 requests per board (1 request per 10 rows); lower it to spend less, e.g. 10 = 1 request. Min 1, max 200." - changed
Input schema / properties / type / descriptionPrevious value: -"Exactly one live feed. Valid: 'Amazon Best Sellers Top Rated', 'Amazon Best Sellers by Category', 'App Store Top Free', 'App Store Top Paid', 'GitHub', 'Google News Top News', 'Google Play', 'Google Trends', 'Google Trends by Category', 'IMDb MOVIEmeter', 'Open Library Trending Books', 'Pinterest Trending', 'Pinterest Trending by Category', 'Polymarket Top Markets', 'Reddit Hot Posts', 'Reddit World News', 'Top Websites', 'Spotify Top Podcasts', 'Steam Most Played', 'Substack', 'Substack by Category', 'TikTok Trending Hashtags', 'TikTok Trending Hashtags by Category', 'TikTok Trending Searches', 'Wikipedia Trending', 'X (Twitter) Trending', 'YouTube Trending'."New value: +"One live feed, several comma-separated (one board each, each billed per 10 rows), or 'all' (27 boards). Valid: 'Amazon Best Sellers Top Rated', 'Amazon Best Sellers by Category', 'App Store Top Free', 'App Store Top Paid', 'GitHub', 'Google News Top News', 'Google Play', 'Google Trends', 'Google Trends by Category', 'IMDb MOVIEmeter', 'Open Library Trending Books', 'Pinterest Trending', 'Pinterest Trending by Category', 'Polymarket Top Markets', 'Reddit Hot Posts', 'Reddit World News', 'Top Websites', 'Spotify Top Podcasts', 'Steam Most Played', 'Substack', 'Substack by Category', 'TikTok Trending Hashtags', 'TikTok Trending Hashtags by Category', 'TikTok Trending Searches', 'Wikipedia Trending', 'X (Twitter) Trending', 'YouTube Trending'."
3 tool updates
- Changed
trends___get_growth3 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, and TikTok. Google defaults to worldwide, TikTok to US; with a country the data is fetched live."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, TikTok, and Pinterest. Google defaults to worldwide, TikTok to US; with a country the data is fetched live." - changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon): any name or phrase, e.g. 'nike'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes App Downloads or App Rankings with other sources, keyword must still be the Android bundle ID."New value: +"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon, Pinterest): any name or phrase, e.g. 'nike'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes App Downloads or App Rankings with other sources, keyword must still be the Android bundle ID." - changed
Input schema / properties / source / descriptionPrevious value: -"One source, or comma-separated sources (e.g. 'Amazon, TikTok, YouTube'). Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."New value: +"One source, or comma-separated sources (e.g. 'Amazon, TikTok, YouTube'). Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Changed
trends___get_time_series3 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, and TikTok. Google defaults to worldwide, TikTok to US; with a country the data is fetched live."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, TikTok, and Pinterest. Google defaults to worldwide, TikTok to US; with a country the data is fetched live." - changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon): any name or phrase, e.g. 'tesla'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART."New value: +"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon, Pinterest): any name or phrase, e.g. 'tesla'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART." - changed
Input schema / properties / source / descriptionPrevious value: -"Exactly one source per request. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."New value: +"Exactly one source per request. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'Pinterest', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Changed
trends___get_top_trends3 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Pass this whenever type is 'Amazon Best Sellers by Category', 'Google Trends by Category', 'Top Websites', 'Substack by Category', or 'TikTok Trending Hashtags by Category'. Use the official name. Without it those feeds mix every board. Only omit on a first pull to learn the official names."New value: +"Pass this whenever type is 'Amazon Best Sellers by Category', 'Google Trends by Category', 'Pinterest Trending by Category', 'Top Websites', 'Substack by Category', or 'TikTok Trending Hashtags by Category'. Use the official name. Without it those feeds mix every board. Only omit on a first pull to learn the official names." - changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'USA' or 'United States' resolve to US. Omit for the default US board. Only for Google Trends, Google Trends by Category, TikTok Trending Hashtags, TikTok Trending Hashtags by Category, X (Twitter) Trending, and YouTube Trending."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'USA' or 'United States' resolve to US. Omit for the default US board. Only for Google Trends, Google Trends by Category, Pinterest Trending, Pinterest Trending by Category, TikTok Trending Hashtags, TikTok Trending Hashtags by Category, X (Twitter) Trending, and YouTube Trending." - changed
Input schema / properties / type / descriptionPrevious value: -"Exactly one live feed. Valid: 'Amazon Best Sellers Top Rated', 'Amazon Best Sellers by Category', 'App Store Top Free', 'App Store Top Paid', 'GitHub', 'Google News Top News', 'Google Play', 'Google Trends', 'Google Trends by Category', 'IMDb MOVIEmeter', 'Open Library Trending Books', 'Reddit Hot Posts', 'Reddit World News', 'Top Websites', 'Spotify Top Podcasts', 'Steam Most Played', 'Substack', 'Substack by Category', 'TikTok Trending Hashtags', 'TikTok Trending Hashtags by Category', 'TikTok Trending Searches', 'Wikipedia Trending', 'X (Twitter) Trending', 'YouTube Trending'."New value: +"Exactly one live feed. Valid: 'Amazon Best Sellers Top Rated', 'Amazon Best Sellers by Category', 'App Store Top Free', 'App Store Top Paid', 'GitHub', 'Google News Top News', 'Google Play', 'Google Trends', 'Google Trends by Category', 'IMDb MOVIEmeter', 'Open Library Trending Books', 'Pinterest Trending', 'Pinterest Trending by Category', 'Polymarket Top Markets', 'Reddit Hot Posts', 'Reddit World News', 'Top Websites', 'Spotify Top Podcasts', 'Steam Most Played', 'Substack', 'Substack by Category', 'TikTok Trending Hashtags', 'TikTok Trending Hashtags by Category', 'TikTok Trending Searches', 'Wikipedia Trending', 'X (Twitter) Trending', 'YouTube Trending'."
1 tool update
- Added
trends___get_context
2 tool updates
- Changed
trends___get_growth3 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Omit for worldwide. Only for Google Search, Google Images, Google News, Google Shopping, and YouTube; with a country the data is fetched live."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, and TikTok. Google defaults to worldwide, TikTok to US; with a country the data is fetched live." - added
Input schema / properties / languageAdded value: +{ + "description": "Optional language edition code (en, de, ja, pt). Only for Wikipedia. Default en; other languages are fetched live.", + "type": "string" +} - added
Input schema / properties / resolutionAdded value: +{ + "description": "Optional. 'weekly' (default, about 5 years) or 'daily' (last 90 days, fetched live). Only for Google Search, Google Images, Google News, Google Shopping, and YouTube.", + "type": "string" +}
- Changed
trends___get_time_series3 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Omit for worldwide. Only for Google Search, Google Images, Google News, Google Shopping, and YouTube; with a country the data is fetched live."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Only for Google Search, Google Images, Google News, Google Shopping, YouTube, and TikTok. Google defaults to worldwide, TikTok to US; with a country the data is fetched live." - added
Input schema / properties / languageAdded value: +{ + "description": "Optional language edition code (en, de, ja, pt). Only for Wikipedia. Default en; other languages are fetched live.", + "type": "string" +} - added
Input schema / properties / resolutionAdded value: +{ + "description": "Optional. 'weekly' (default, about 5 years) or 'daily' (last 90 days, fetched live). Only for Google Search, Google Images, Google News, Google Shopping, and YouTube.", + "type": "string" +}
3 tool updates
- Changed
trends___get_growth3 fields changed- added
Input schema / properties / countryAdded value: +{ + "description": "Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Omit for worldwide. Only for Google Search, Google Images, Google News, Google Shopping, and YouTube; with a country the data is fetched live.", + "type": "string" +} - changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, amazon): any name or phrase, e.g. 'nike'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes app downloads or app rankings with other sources, keyword must still be the Android bundle ID."New value: +"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon): any name or phrase, e.g. 'nike'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes App Downloads or App Rankings with other sources, keyword must still be the Android bundle ID." - changed
Input schema / properties / source / descriptionPrevious value: -"One source, or comma-separated sources (e.g. 'amazon, tiktok, youtube'). Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'amazon', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."New value: +"One source, or comma-separated sources (e.g. 'Amazon, TikTok, YouTube'). Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Changed
trends___get_time_series3 fields changed- added
Input schema / properties / countryAdded value: +{ + "description": "Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'UK' or 'United Kingdom' resolve too. Omit for worldwide. Only for Google Search, Google Images, Google News, Google Shopping, and YouTube; with a country the data is fetched live.", + "type": "string" +} - changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, amazon): any name or phrase, e.g. 'tesla'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART."New value: +"What to look up. The string format is required by source. Standard sources (Google Search, Google Images, Google News, Google Shopping, YouTube, Wikipedia, TikTok, Amazon): any name or phrase, e.g. 'tesla'. npm: Exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. Python: Exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. Steam: Game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. App Downloads and App Rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART." - changed
Input schema / properties / source / descriptionPrevious value: -"Exactly one source per request. Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'amazon', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."New value: +"Exactly one source per request. Valid: 'Google Search', 'Google Images', 'Google News', 'Google Shopping', 'YouTube', 'Wikipedia', 'TikTok', 'Amazon', 'npm', 'Python', 'Steam', 'App Downloads', 'App Rankings'."
- Changed
trends___get_top_posts1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Exactly one source per request. Valid: 'tiktok', 'instagram'."New value: +"Exactly one source per request. Valid: 'TikTok', 'Instagram'."
3 tool updates
- Changed
trends___get_growth2 fields changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, reddit, amazon, news sentiment, news volume): any name or phrase, e.g. 'nike'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes app downloads or app rankings with other sources, keyword must still be the Android bundle ID."New value: +"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, amazon): any name or phrase, e.g. 'nike'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes app downloads or app rankings with other sources, keyword must still be the Android bundle ID." - changed
Input schema / properties / source / descriptionPrevious value: -"One source, or comma-separated sources (e.g. 'amazon, tiktok, youtube'). Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'reddit', 'amazon', 'news sentiment', 'news volume', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."New value: +"One source, or comma-separated sources (e.g. 'amazon, tiktok, youtube'). Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'amazon', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."
- Changed
trends___get_time_series2 fields changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, reddit, amazon, news sentiment, news volume): any name or phrase, e.g. 'tesla'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART."New value: +"What to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, amazon): any name or phrase, e.g. 'tesla'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART." - changed
Input schema / properties / source / descriptionPrevious value: -"Exactly one source per request. Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'reddit', 'amazon', 'news sentiment', 'news volume', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."New value: +"Exactly one source per request. Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'amazon', 'npm', 'python', 'steam', 'app downloads', 'app rankings'."
- Changed
trends___get_top_trends1 field changed- changed
Input schema / properties / country / descriptionPrevious value: -"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'USA' or 'United States' resolve to US. Omit for the default US board. Only for Google Trends, Google Trends by Category, YouTube Trending, TikTok Trending Hashtags, TikTok Trending Hashtags by Category, and X (Twitter) Trending."New value: +"Optional ISO 3166-1 alpha-2 code (US, GB, JP). Aliases like 'USA' or 'United States' resolve to US. Omit for the default US board. Only for Google Trends, Google Trends by Category, TikTok Trending Hashtags, TikTok Trending Hashtags by Category, X (Twitter) Trending, and YouTube Trending."
1 tool update
- Added
trends___get_usage
4 tool updates
- First observed
trends___get_growth - First observed
trends___get_time_series - First observed
trends___get_top_posts - First observed
trends___get_top_trends
Related MCP Connectors
What's trending today: trending topics on Google, TikTok, YouTube, Reddit, X, Amazon and more
AI trend analysis agents: what's trending on Google, TikTok, YouTube and Reddit, and if it lasts
Trend data from Google Trends, YouTube, TikTok, Reddit, Amazon, Wikipedia, npm, Steam and more
Trend data from Google, TikTok, Amazon, Reddit, YouTube, Steam, npm and more as JSON
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceReal-time trend data from Google Trends (Search, Images, News, Shopping), YouTube, TikTok, Reddit, Amazon, Wikipedia, npm, Steam, Spotify, X (Twitter), App Store, Google Play, web traffic, and news sentiment via one MCP connection. Works with Claude, Cursor, VS Code, Windsurf, ChatGPT, and any MCP-compatible AI.28MIT
- AlicenseBqualityDmaintenanceObtain real-time news trending lists: Weibo Hot Search, Baidu Hot List, Zhihu Hot List, Jinri Toutiao Hot List, 36Kr Hot List, Tencent News Hot List, Bilibili Hot List, The Paper Hot List, Hupu Walking Street Hot List, TikTok Hot List, IT News Hot List, Huoxiu Hot List, Baidu Tieba Hot List, Juejin172Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI agents to query live trend data and historical search volume across 30+ platforms like Google, TikTok, YouTube, Amazon, and Reddit, including growth comparisons and top-ranking trends.316MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI agents with real-time trending topics from Weibo, Baidu, Zhihu, Google Trends, and HackerNews/StackExchange community intel, enabling content and marketing agents to stay aware of current conversations before creating content.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.