reddit-trends-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
get_top_trends is clearly distinct as a live board, while get_growth and get_time_series both operate on keyword/source history with 0-100 values. However, their descriptions explicitly separate growth questions from charting/custom math, so an agent can reliably choose between them.
Naming Consistency5/5All tools follow a consistent get_<noun> snake_case pattern: get_growth, get_time_series, get_top_trends. Each name clearly reflects the resource or action being retrieved, with no mixed conventions or vague verbs.
Tool Count5/5Three tools cover the core trends workflow: growth comparisons, full historical series, and live top-trending boards. The count is small but well-scoped, and each tool has a distinct, necessary role.
Completeness4/5The set covers the main trend-analysis needs: current rankings, growth over time, and detailed historical data. Minor gaps exist, such as no dedicated source/category discovery mechanism, but the descriptions provide enough guidance to work around this.
Average 4.6/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 4 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds useful behavioral context beyond that: values are on a 0-100 scale, absolute volume is included when available, and rate-limit/quota exhaustion should be reported to the user as a plan-limit message. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and each sentence earns its place. It is slightly longer than strictly necessary because some details repeat the schema, and 'the other listed periods' is vague, but overall it is well-structured and compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed input schema and the presence of an output schema, the description provides the needed selection guidance, source caveats, Android bundle ID clarification, and rate-limit handling. An agent has enough context to invoke this tool correctly and distinguish it from siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents sources, keyword formats per source, and the full preset window list. The description mostly restates schema content rather than adding new parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation: 'Point-to-point growth for a keyword on one or more sources.' It also differentiates itself from the sibling tools by saying to prefer it over get_time_series for growth questions and clarifying that app download/ranking sources are not the live boards on 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.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is given: 'Prefer this over get_time_series for growth questions.' It also tells agents when this tool is not appropriate by stating that app downloads/rankings are not the App Store / Google Play live boards from get_top_trends, providing a clear exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, openWorldHint, and idempotentHint. The description adds meaningful behavioral context beyond those: the 0-100 value limit, volume being provided only when available, the one-keyword-one-source constraint, and specific quota/rate-limit handling instructions. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: scope, data shape, use cases, exclusions with alternatives, and quota behavior. The primary purpose is front-loaded, followed by routing and operational guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 2 required parameters, full schema documentation, presence of an output schema, and strong annotations, the description is complete. It covers what the agent needs to call the tool correctly, including edge-case handling for rate limits and quota exhaustion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the keyword and source parameters are documented in detail, including source-specific formats. The description restates the one-keyword/one-source constraint but does not materially add parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a full historical series for one keyword and one source, with a data range (0-100 values plus volume when available). It also distinguishes itself from siblings by naming get_top_trends and get_growth for adjacent use cases, so an agent can select it confidently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: charting or custom math. It also states when not to use it (live trending boards) and names the sibling alternative (get_top_trends), and routes growth questions to get_growth. This is direct, actionable usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, open-world, and idempotent, and the description adds substantial behavioral context beyond that: it is a live board rather than a keyword lookup, category omission mixes boards, rank_change compares to a prior snapshot, and rate-limit/quota exhaustion should be reported to the user. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core constraint, and every sentence carries an instruction or exclusion. It repeats some schema-level details such as window values and defaults, making it slightly longer than strictly necessary, but there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, an output schema, and a description covering purpose, category requirements, sort semantics, sibling routing, and quota/rate-limit behavior, the agent has everything needed to invoke the tool correctly. No critical operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real decision logic on top: when to pass category, what sort values mean, and how window relates to rank_change. It partially repeats schema details, but it clarifies the intended usage patterns rather than just naming parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns a live top-trending board for exactly one feed type and explicitly says there is no keyword. It distinguishes itself from siblings by specifying that app history should be handled by get_growth or get_time_series, making the tool's niche unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use and when-not-to-use guidance: pass category for four named feed types, use sort='rank_change' for climbers, avoid get_time_series for live boards, and route app-history requests to alternatives. It even includes rate-limit handling instructions for the user-facing response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/trendsmcp-ai/reddit-trends-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server