Skip to main content
Glama

List meta threats

list_threats
Read-onlyIdempotent

Retrieve the most-used Pokémon in a Pokémon Champions regulation, ranked by usage share with species, role, and tier. Omit the regulation ID to list all available regulations and threat counts.

Instructions

List the most-used Pokémon of one Pokémon Champions regulation, ranked by measured usage: each threat’s species, role, tier (S/A/B by usage rank) and usage share, plus the sample and sources the list was derived from; omit regulation to get every available list. This is the ranking only — for a threat’s standard set call get_set, which takes several species at once, and use list_regulations to discover regulation ids. Regulation ids match case- and punctuation-insensitively ("M-C", "mc"); an unknown one returns an isError naming the available lists. Usage-derived from Limitless VGC tournament teams, not editorial opinion. Read-only and offline; no network, auth, or rate limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
regulationNoOptional regulation set id, e.g. "m-c" (matched case- and punctuation-insensitively); omit to list every regulation with its threat count.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name of the returned list, e.g. "Regulation Set M-C"; present only when `regulation` was supplied.
noteNoHow that list was derived and what it leaves out; present only when `regulation` was supplied.
listsNoOne summary per regulation; present only when `regulation` was omitted.
sampleNoSize and window of the sample the list was derived from; present only when `regulation` was supplied.
sourceNoProvenance of the returned list ("usage"); present only when `regulation` was supplied.
sourcesNoEvery dataset behind the list, with what each one supplies; present only when `regulation` was supplied.
threatsNoEvery threat in this regulation, most used first — species, role, tier and usage only; present only when `regulation` was supplied. Fetch the sets you need with `get_set`, which takes several species in one call.
regulationNoId of the returned list, e.g. "m-c"; present only when `regulation` was supplied.
sourceAsOfNoISO date of the newest data point behind that list; present only when `regulation` was supplied.
corroborationNoIndependent second ranking used to check the ordering; absent when the cross-check was unavailable, or when `regulation` was omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv3.2.0
    • changedOutput schema / properties / threats / description
      Previous value: -"Every threat in this regulation, most used first, with its standard set; present only when `regulation` was supplied."New value: +"Every threat in this regulation, most used first — species, role, tier and usage only; present only when `regulation` was supplied. Fetch the sets you need with `get_set`, which takes several species in one call."
    • removedOutput schema / properties / threats / items / properties / ability
      Removed value: -{
      -  "description": "Most-played ability on the form that was led, i.e. before Mega Evolving on a Mega set.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / evs
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "Most-played spread, keyed by Showdown stat and scaled to the 0-252 EVs `calculate_stats` and `calculate_damage` take; only invested stats are listed, everything omitted is 0. Absent when the source published no spread for that species.",
      -  "properties": {
      -    "atk": {
      -      "description": "Attack EVs.",
      -      "type": "number"
      -    },
      -    "def": {
      -      "description": "Defense EVs.",
      -      "type": "number"
      -    },
      -    "hp": {
      -      "description": "HP EVs.",
      -      "type": "number"
      -    },
      -    "spa": {
      -      "description": "Special Attack EVs.",
      -      "type": "number"
      -    },
      -    "spd": {
      -      "description": "Special Defense EVs.",
      -      "type": "number"
      -    },
      -    "spe": {
      -      "description": "Speed EVs.",
      -      "type": "number"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / threats / items / properties / form
      Removed value: -{
      -  "description": "Form the set is played as when that is not the default one, e.g. \"Arcanine-Hisui\"; absent otherwise.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / item
      Removed value: -{
      -  "description": "Most-played held item, e.g. \"Salamencite\".",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / megaAbility
      Removed value: -{
      -  "description": "Ability after Mega Evolving; absent when the set is not a Mega set.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / megaForm
      Removed value: -{
      -  "description": "Mega form this set evolves into, e.g. \"Salamence-Mega\"; absent when the set is not a Mega set.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / moves
      Removed value: -{
      -  "description": "The four most-played moves, most played first.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / threats / items / properties / nature
      Removed value: -{
      -  "description": "Most-played nature, e.g. \"Timid\".",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / notes
      Removed value: -{
      -  "description": "The usage figures this set was derived from; absent when the list carries none.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / threats / items / properties / rank
      Removed value: -{
      -  "description": "Position by usage in this list; 1 is the most used.",
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • changedOutput schema / properties / threats / items / properties / role / description
      Previous value: -"Role read off the set’s ability and moves, e.g. \"Rain setter\", \"Mega Intimidate pivot\"."New value: +"Role read off the set."
    • changedOutput schema / properties / threats / items / properties / species / description
      Previous value: -"Base species name in Showdown spelling, e.g. \"Garchomp\"; every form collapses into it because Species Clause is per National Pokédex number."New value: +"Base species name, e.g. \"Rillaboom\"."
    • changedOutput schema / properties / threats / items / properties / tier / description
      Previous value: -"Usage band: S is the top 5 by usage, A the next 7, B the rest of the list."New value: +"Usage band within that regulation."
    • changedOutput schema / properties / threats / items / required
      Previous value: -[
      -  "species",
      -  "role",
      -  "tier",
      -  "rank",
      -  "usage",
      -  "item",
      -  "ability",
      -  "nature",
      -  "moves"
      -]New value: +[
      +  "species",
      +  "role",
      +  "tier",
      +  "usage"
      +]
  2. Changed31 schema fields changedv2.0.0
    • changedInput schema / properties / regulation / description
      Previous value: -"Optional regulation set id, e.g. \"m-c\" (matched case- and punctuation-insensitively); omit to list every curated regulation with its threat count."New value: +"Optional regulation set id, e.g. \"m-c\" (matched case- and punctuation-insensitively); omit to list every regulation with its threat count."
    • addedOutput schema / properties / corroboration
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Independent second ranking used to check the ordering; absent when the cross-check was unavailable, or when `regulation` was omitted.",
      +  "properties": {
      +    "dataDate": {
      +      "description": "That source’s own data-revision label, which lags the regulation itself.",
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "The independent source that was compared against, e.g. \"Pikalytics\".",
      +      "type": "string"
      +    },
      +    "top10Overlap": {
      +      "description": "How many of this list’s top 10 that source also ranks in its top 10, out of 10.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "url": {
      +      "description": "Where that source publishes its ranking.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "url",
      +    "dataDate",
      +    "top10Overlap"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / lists / description
      Previous value: -"One summary per curated regulation; present only when `regulation` was omitted."New value: +"One summary per regulation; present only when `regulation` was omitted."
    • changedOutput schema / properties / lists / items / properties / sourceAsOf / description
      Previous value: -"ISO date the list was last reviewed."New value: +"ISO date of the newest data point behind that list."
    • changedOutput schema / properties / lists / items / properties / threats / description
      Previous value: -"Reduced projection of that regulation’s threats — species, role, and tier only; call again with `regulation`, or use `get_set`, for the full standard sets."New value: +"Reduced projection of that regulation’s threats — species, role, tier and usage only; call again with `regulation`, or use `get_set`, for the full standard sets."
    • changedOutput schema / properties / lists / items / properties / threats / items / properties / role / description
      Previous value: -"Short competitive role."New value: +"Role read off the set."
    • changedOutput schema / properties / lists / items / properties / threats / items / properties / species / description
      Previous value: -"Curated base species name, e.g. \"Incineroar\"."New value: +"Base species name, e.g. \"Rillaboom\"."
    • changedOutput schema / properties / lists / items / properties / threats / items / properties / tier / description
      Previous value: -"Curated tier within that regulation."New value: +"Usage band within that regulation."
    • addedOutput schema / properties / lists / items / properties / threats / items / properties / usage
      Added value: +{
      +  "description": "Share of the sampled teams carrying this species, in percent.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / lists / items / properties / threats / items / required
      Previous value: -[
      -  "species",
      -  "role",
      -  "tier"
      -]New value: +[
      +  "species",
      +  "role",
      +  "tier",
      +  "usage"
      +]
    • changedOutput schema / properties / note / description
      Previous value: -"Standing disclaimer for that list (editorial, not usage-derived); present only when `regulation` was supplied."New value: +"How that list was derived and what it leaves out; present only when `regulation` was supplied."
    • addedOutput schema / properties / sample
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Size and window of the sample the list was derived from; present only when `regulation` was supplied.",
      +  "properties": {
      +    "minPlayers": {
      +      "description": "Minimum players per tournament for inclusion.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "teams": {
      +      "description": "Teams sampled.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "through": {
      +      "description": "ISO date of the newest tournament in the sample.",
      +      "type": "string"
      +    },
      +    "tournaments": {
      +      "description": "Tournaments those teams came from.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "windowDays": {
      +      "description": "How far back the source looked, in days.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "teams",
      +    "tournaments",
      +    "minPlayers",
      +    "windowDays",
      +    "through"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / source / description
      Previous value: -"Provenance of the returned list (\"curated\"); present only when `regulation` was supplied."New value: +"Provenance of the returned list (\"usage\"); present only when `regulation` was supplied."
    • changedOutput schema / properties / sourceAsOf / description
      Previous value: -"ISO date that list was last reviewed; present only when `regulation` was supplied."New value: +"ISO date of the newest data point behind that list; present only when `regulation` was supplied."
    • addedOutput schema / properties / sources
      Added value: +{
      +  "description": "Every dataset behind the list, with what each one supplies; present only when `regulation` was supplied.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "description": "Dataset name, e.g. \"Data from Limitless TCG\".",
      +        "type": "string"
      +      },
      +      "scope": {
      +        "description": "Which fields of a threat it supplies.",
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Where that dataset is published.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "url",
      +      "scope"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / threats / description
      Previous value: -"Every curated threat in full, with its standard set; present only when `regulation` was supplied."New value: +"Every threat in this regulation, most used first, with its standard set; present only when `regulation` was supplied."
    • changedOutput schema / properties / threats / items / properties / ability / description
      Previous value: -"Ability on the base form, i.e. before Mega Evolving."New value: +"Most-played ability on the form that was led, i.e. before Mega Evolving on a Mega set."
    • changedOutput schema / properties / threats / items / properties / evs / description
      Previous value: -"EV spread keyed by Showdown stat; only the invested stats are listed, everything omitted is 0."New value: +"Most-played spread, keyed by Showdown stat and scaled to the 0-252 EVs `calculate_stats` and `calculate_damage` take; only invested stats are listed, everything omitted is 0. Absent when the source published no spread for that species."
    • addedOutput schema / properties / threats / items / properties / form
      Added value: +{
      +  "description": "Form the set is played as when that is not the default one, e.g. \"Arcanine-Hisui\"; absent otherwise.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / threats / items / properties / item / description
      Previous value: -"The set’s standard held item, e.g. \"Garchompite\"."New value: +"Most-played held item, e.g. \"Salamencite\"."
    • changedOutput schema / properties / threats / items / properties / megaForm / description
      Previous value: -"Mega form this set evolves into, e.g. \"Mega Garchomp\"; absent when the set is not a Mega set."New value: +"Mega form this set evolves into, e.g. \"Salamence-Mega\"; absent when the set is not a Mega set."
    • changedOutput schema / properties / threats / items / properties / moves / description
      Previous value: -"The four recommended moves."New value: +"The four most-played moves, most played first."
    • changedOutput schema / properties / threats / items / properties / nature / description
      Previous value: -"Recommended nature, e.g. \"Jolly\"."New value: +"Most-played nature, e.g. \"Timid\"."
    • changedOutput schema / properties / threats / items / properties / notes / description
      Previous value: -"Curator commentary on how the set is played; absent when the curated set has none."New value: +"The usage figures this set was derived from; absent when the list carries none."
    • addedOutput schema / properties / threats / items / properties / rank
      Added value: +{
      +  "description": "Position by usage in this list; 1 is the most used.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / threats / items / properties / role / description
      Previous value: -"Short competitive role, e.g. \"Mega sweeper / wallbreaker\"."New value: +"Role read off the set’s ability and moves, e.g. \"Rain setter\", \"Mega Intimidate pivot\"."
    • changedOutput schema / properties / threats / items / properties / species / description
      Previous value: -"Curated base species name in Showdown spelling, e.g. \"Garchomp\"."New value: +"Base species name in Showdown spelling, e.g. \"Garchomp\"; every form collapses into it because Species Clause is per National Pokédex number."
    • removedOutput schema / properties / threats / items / properties / teraType
      Removed value: -{
      -  "description": "Recommended Tera type; absent when the curated set does not specify one.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / threats / items / properties / tier / description
      Previous value: -"Curated tier within the regulation: S (format-defining), A, or B — editorial, not usage data."New value: +"Usage band: S is the top 5 by usage, A the next 7, B the rest of the list."
    • addedOutput schema / properties / threats / items / properties / usage
      Added value: +{
      +  "description": "Share of the sampled teams carrying this species, in percent.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / threats / items / required
      Previous value: -[
      -  "species",
      -  "role",
      -  "tier",
      -  "item",
      -  "ability",
      -  "nature",
      -  "evs",
      -  "moves"
      -]New value: +[
      +  "species",
      +  "role",
      +  "tier",
      +  "rank",
      +  "usage",
      +  "item",
      +  "ability",
      +  "nature",
      +  "moves"
      +]
  3. Addedv1.1.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true; the description goes beyond them by disclosing data provenance ('Usage-derived from Limitless VGC tournament teams, not editorial opinion'), offline behavior ('no network, auth, or rate limits'), and error semantics ('an unknown one returns an isError naming the available lists'). 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/5

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

The core purpose is front-loaded in the first sentence, and every subsequent sentence earns its place: sibling routing, parameter behavior, provenance, safety. It is on the verbose side for a one-parameter list tool, but there is no filler or repetition of schema text.

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?

Complete for a read-only list tool with a single optional parameter and an output schema present. It covers return contents, omit-parameter behavior, error handling, data source, and safety profile — nothing an agent needs to call it correctly 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% and the schema already documents the regulation param including case/punctuation-insensitive matching and omit behavior, so baseline is 3. The description adds value on top by disclosing the error response for an unknown regulation ('isError naming the available lists'), which the schema does not state.

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?

States a specific verb and resource ('List the most-used Pokémon of one Pokémon Champions regulation, ranked by measured usage') and enumerates the output contents (species, role, tier, usage share, sample, sources). It also distinguishes itself from siblings by explicitly calling itself 'the ranking only' and naming get_set as the alternative for standard sets.

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?

Provides explicit routing: 'for a threat’s standard set call get_set, which takes several species at once' and 'use list_regulations to discover regulation ids.' It also gives the omit-parameter behavior ('omit regulation to get every available list') and error behavior for unknown ids. An agent knows exactly when to pick this tool over its siblings.

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