Skip to main content
Glama

Liquid movers (rising cards that actually sell)

liquid_movers
Read-onlyIdempotent

Use this when the user wants cards that are both rising in price and easy to sell: recent gainers filtered to cards with at least 25 recorded sales a year and a raw price of at least $5, across all games and sports. Better than trending_cards for flipping or selling decisions. Do not use for a single named card.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameNoRestrict to one game or sport; omit for all.
limitNo
include_unknown_volumeNoAlso include cards whose yearly sales count is not tracked (mostly Pokémon from the Scrydex source). Off by default so every result has a verifiable sales figure.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofYesWhen this ranking was computed (ISO 8601)
cardsYes
countYes
criteriaYes
volume_verifiedYesFalse when the list had to include cards whose yearly sales count is not tracked (Pokémon and other Scrydex-sourced games have no volume data).
excluded_unstableYesCandidates dropped because their own 40-day raw series did not hold together.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / volume_verified
      Added value: +{
      +  "description": "False when the list had to include cards whose yearly sales count is not tracked (Pokémon and other Scrydex-sourced games have no volume data).",
      +  "type": "boolean"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "as_of",
      -  "criteria",
      -  "count",
      -  "excluded_unstable",
      -  "cards"
      -]New value: +[
      +  "as_of",
      +  "criteria",
      +  "count",
      +  "volume_verified",
      +  "excluded_unstable",
      +  "cards"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / excluded_unstable
      Added value: +{
      +  "description": "Candidates dropped because their own 40-day raw series did not hold together.",
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "as_of",
      -  "criteria",
      -  "count",
      -  "cards"
      -]New value: +[
      +  "as_of",
      +  "criteria",
      +  "count",
      +  "excluded_unstable",
      +  "cards"
      +]
  3. Changed2 schema fields changed
    • addedInput schema / properties / include_unknown_volume
      Added value: +{
      +  "default": false,
      +  "description": "Also include cards whose yearly sales count is not tracked (mostly Pokémon from the Scrydex source). Off by default so every result has a verifiable sales figure.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / cards / items / properties / sales_per_year / description
      Added value: +"Recorded sales in the last year; null only when include_unknown_volume is on and the source does not track volume."
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only and idempotent, so the safety profile is covered. The description adds behavioral detail about the filtering logic (recent gainers, minimum sales and price, all games by default) that goes beyond the annotations. It does not mention how 'recent' is defined, but this is minor given the output schema.

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?

Three sentences, no fluff. The use case is front-loaded, followed by criteria and alternatives. Every sentence earns its place.

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

Completeness4/5

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

For a read-only tool with an output schema and annotations covering safety, the description is largely complete: it states the use case, criteria, default scope, and the sibling alternative. It omits sorting order or exact definition of 'recent gainers', but these are likely reflected in the output schema or are minor for correct invocation.

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 67% (game and include_unknown_volume are described). The description adds context that the default is 'across all games and sports' and implies the sales filter relates to include_unknown_volume being off, but it does not clarify the limit parameter beyond what the schema provides. It adds some value but not substantial.

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 purpose: returning cards that are both rising in price and easy to sell, with concrete filters (at least 25 sales/year, price >= $5). It also differentiates from sibling trending_cards by explicitly naming it, so an agent can distinguish the tools.

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?

It gives explicit when-to-use guidance: 'Better than trending_cards for flipping or selling decisions' and an exclusion: 'Do not use for a single named card.' This clearly routes to or away from this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.