Managed Google Trends client for JavaScript/TypeScript and Python. History, growth, and 30+ other sources via the Trends API. The modern alternative to dead scraper packages.
This server exposes 4 tools with basic schemas and descriptions, but lacks critical production-grade polish. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization), and input schemas are present but incomplete. Parameters lack type constraints (enums, ranges), descriptions are generic, and output schemas are undocumented. No error handling guidance, no parameter validation rules, and no composition support (e.g., getTrends is a pure alias, not a distinct tool). The server wraps a third-party API (trendsapi) without adding agent-specific value like pagination, result limits, or recovery hints.
Keyword-first growth (defaults to `google search`).
Keyword-first time series (defaults to `google search`).
Get top trends data.
Alias for getTimeSeries.
Descriptions are too short (10-50 chars) and lack LLM-optimization guidance. Baseline is 50-200 chars with WHAT/WHEN/WHY context. E.g., 'Keyword-first time series (defaults to `google search`)' does not explain when to use this vs getTrends, what the output contains, or what 'data_mode' controls.
getTrends is a pure alias for getTimeSeries with identical parameters and behavior. This violates the single-responsibility principle and wastes LLM reasoning cycles deciding between two identical tools. Remove getTrends or give it distinct semantics.
Parameters lack type constraints and validation rules. 'source' and 'data_mode' accept free-form strings with no enum, pattern, or description of valid values. LLMs will hallucinate invalid values. E.g., 'source' should enumerate all supported sources (google search, youtube, news, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Output schemas are not documented. LLMs cannot plan downstream calls or extract fields without knowing what TrendsDataPoint, GetGrowthResponse, or GetTopTrendsResponse contain. Document return types with field names, types, and descriptions.
No error handling guidance. If a keyword is not found, the API returns an error, but the tool description does not explain what to do next (retry, try a different keyword, call a discovery tool). Agents need recovery hints.