MCP server for Google Trends API integration - Access trending topics, questions, and search data
Three tools with basic schemas and minimal descriptions. All tools lack parameter descriptions, critical gap per pattern:tool-description. Schemas present but sparse: no enums, no constraints, no output documentation. Tool names follow verb_noun convention (google_trends_*) but descriptions are generic (10-50 chars, well below 50-200 char baseline for LLM optimization). No error handling guidance, no pagination support despite API returning lists. Parameters accept language/country codes but lack format constraints or examples of valid values.
Get trending questions from Google Trends
Check the status of the Google Trends API
Get currently trending topics from Google Trends
All parameter descriptions missing. 'language' and 'country' parameters have no descriptions explaining valid formats, constraints, or examples (e.g., 'ISO 639-1 language code like en, fr, de' or 'ISO 3166-1 alpha-2 country code like US, GB, DE'). LLMs cannot infer parameter meaning from names alone.
Tool descriptions are too short (10-50 chars vs. 50-200 char baseline). 'Check the status of the Google Trends API' lacks context on WHEN to call it, WHAT it returns, or HOW to use results. Descriptions should answer: what does it do, when should I call it instead of similar tools, what does it return?
No output schema documented. Tools return data but LLMs have no visibility into response structure (fields, types, pagination). Without documented output, agents cannot plan downstream calls or extract required data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Parameters lack enums and constraints. 'language' and 'country' accept free-form strings with defaults but no validation. Should declare enums (e.g., language: [en, fr, de, ...]) or regex patterns to prevent hallucinated invalid codes.
No error handling guidance. Code catches errors but returns generic 'Error: <message>' text. LLMs receive no classification (retryable vs. user-fixable vs. fatal) or recovery hints. Per pattern:recovery-guide, errors should guide next steps.