Skip to main content
Glama

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    The tools are largely distinct: get_top_trends targets live boards, while get_growth and get_time_series both handle historical keyword data and could be confused. However, the descriptions explicitly separate 'point-to-point growth' from 'full historical series' and tell agents which to prefer, so the boundary is workable.

    Naming Consistency5/5

    All three tools follow a clean get_<noun> pattern: get_growth, get_top_trends, get_time_series. There is no mixing of styles or inconsistent verbs, making the naming predictable and easy to navigate.

    Tool Count5/5

    Three tools is a focused, sensible scope for a trends data server. Each tool covers a distinct core user need: current top boards, point-to-point growth, and full time-series data, so each earns its place.

    Completeness4/5

    The set covers the main trend-related workflows: live rankings, growth comparisons, and historical charting data. Minor gaps exist, such as no explicit endpoint for listing available feeds, categories, or discovering keywords, but agents can work around those with known values and guidance in the descriptions.

  • Average 4.7/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, so the safety profile is covered. The description adds meaningful behavior beyond those annotations: the historical series is bounded to 0-100 values, may include volume, and rate limits or quota exhaustion should be surfaced to the user as a plan-limit message.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences with no filler: the core function is front-loaded, usage alternatives are given next, and the rate-limit instruction is a distinct actionable note. Every sentence earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With an output schema present, the description does not need to explain return values in depth. It covers the purpose, scope, alternatives, sibling routing, and an important error-handling behavior, making it complete for an agent to select and invoke the tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, and the input schema already contains highly detailed parameter docs, especially for keyword formats per source. The description adds only minor context like 'one keyword and one source,' which mostly restates the schema's 'Exactly one source per request,' so the description does not need to compensate further.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb and resource: 'Full historical series for one keyword and one source (0-100 values, plus volume when available).' It also explicitly distinguishes itself from sibling tools by naming get_top_trends and get_growth, so an agent can immediately tell what this tool is for.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives direct usage guidance: 'Use for charting or custom math' and explicitly says not for live trending boards, redirecting to get_top_trends. It also routes growth questions to get_growth and provides rate-limit/quota handling instructions, leaving little ambiguity about when to invoke this tool.

    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 read-only, open-world, and idempotent, so the safety profile is covered. The description adds meaningful behavioral detail beyond that: point-to-point window comparisons, a 0-100 normalized scale plus absolute volume when available, and a required user-facing response when rate limits or monthly quota are exhausted. It does not contradict any annotation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is dense but every sentence earns its place: core definition, output scale, routing preference, source ambiguity warning, and quota behavior. It is front-loaded with the primary purpose and keeps ancillary guidance brief, avoiding redundant schema restatement.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given a rich input schema, an output schema, and read-only/idempotent annotations, the description does not need to explain return values. It completes the remaining operational picture by defining the growth window concept, the output scale, cross-tool routing, and rate-limit behavior. An agent has enough context to invoke and respond correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already fully documents source, keyword, and percent_growth semantics. The description mostly restates that windows are preset strings and that app downloads/app rankings use Android bundle IDs, which is already in the schema. Therefore it adds little new parameter-level meaning, so the baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific operation: point-to-point growth for a keyword across one or more sources, using preset time windows. It also explicitly differentiates itself from get_time_series and get_top_trends by naming the exact confusion points. This gives an agent a clear, distinguishing purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    'Prefer this over get_time_series for growth questions' is an explicit routing rule between sibling tools. It also clarifies that app downloads/app rankings are keyword sources, not the live boards on get_top_trends, preventing a likely mis-selection. The rate-limit/quota instruction adds an operational when-to-act condition.

    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?

    Beyond the readOnly/openWorld/idempotent annotations, the description adds meaningful behavioral context: it warns about category omission causing mixed boards, clarifies that some feeds are live store boards rather than keyword lookups, and instructs the agent to inform the user when rate limits or quota are reached. This goes beyond what annotations alone convey.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded, with every sentence serving a purpose. It packs critical usage rules, alternatives, and rate-limit behavior into a short paragraph without fluff or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the rich schema and output schema, the description covers the key decision points: which feed types require category, how sorting works, when to use sibling tools, and how to handle quota/rate-limit errors. Nothing important for correctly selecting and invoking this tool is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does 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 extra context around the type and sort parameters by explaining live store boards and app-history alternatives. It also reinforces the category requirement and rank_change window options. Some content duplicates the schema, so the added value is modest but real.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the tool as a live top-trending board for exactly one feed type, which is specific and actionable. It also distinguishes the tool from keyword lookups and from history-style tools like get_growth and get_time_series. The category requirement for certain feed types further clarifies scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states when to use this tool versus alternatives: use get_growth or get_time_series for app history, and do not use get_time_series for live boards. It also gives concrete category-passing rules for specific feed types and explains the sort behavior with rank_change and windows. This is strong, explicit routing guidance.

    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

npm-trends-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

npm-trends-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

Latest Blog Posts

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/npm-trends-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server