Skip to main content
Glama

Get Pokémon data

get_pokemon
Read-onlyIdempotent

Fetch a Pokémon's competitive profile with types, base stats, abilities, weight, gender ratio, egg groups, and evolutions. Accepts Showdown names or forms case-insensitively.

Instructions

Look up one Pokémon and return its competitive profile: types, base stats and BST, abilities by slot, weight, gender ratio, egg groups, and evolutions. Accepts any Showdown name or form, case- and punctuation-insensitive ("garchomp", "Ogerpon-Wellspring", "rotom wash"); unknown names return an isError listing near matches. Use search_dex when you only have a partial name, list_forms for alternate or cosmetic forms, and calculate_stats when you need stats computed from EVs, IVs, and nature. Read-only and offline over the bundled Showdown dataset — no network, auth, or rate limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies or form name, e.g. "Garchomp", "Ogerpon-Wellspring", "Rotom-Wash".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bstYesBase stat total — the sum of `baseStats`.
genYesGeneration this entry was introduced in; 0 for entries outside the numbered generations (e.g. MissingNo.).
nfeYestrue when the species can still evolve (not fully evolved).
numYesNational Dex number; 0 for entries that have none.
evosYesSpecies this one evolves into; empty when it does not evolve.
nameYesDisplay name of the entry, e.g. "Garchomp" or "Ogerpon-Wellspring".
tagsYesDataset tags such as ["Sub-Legendary"] or ["Mythical"]; empty when the entry is untagged.
formeNoForme label when this entry is an alternate forme, e.g. "Mega", "Wash"; absent for the base forme.
prevoNoSpecies this one evolves from; absent for base evolutions.
typesYesTyping, in order, e.g. ["Dragon", "Ground"]. One of "Bug", "Dark", "Dragon", "Electric", "Fairy", "Fighting", "Fire", "Flying", "Ghost", "Grass", "Ground", "Ice", "Normal", "Poison", "Psychic", "Rock", "Steel", "Water".
genderNo"M", "F", or "N" (genderless) for species that are not a mix of both; absent when the species has a mixed gender ratio.
isMegaNotrue for Mega Evolutions; absent otherwise.
evoItemNoItem required to evolve, when the evolution is item-based.
evoMoveNoMove the species must know to evolve, when the evolution is move-based.
canHatchYestrue when the species can hatch from an Egg.
evoLevelNoLevel required to evolve, when the evolution is level-based.
isPrimalNotrue for Primal Reversions; absent otherwise.
weightkgYesWeight in kilograms, as used by weight-based moves such as Heavy Slam.
abilitiesYesAbilities keyed by Showdown slot: "0" primary, "1" secondary, "H" hidden, "S" special.
baseFormeNoLabel of the species' default forme when it has formes, e.g. "Teal" for Ogerpon; absent otherwise.
baseStatsYesAll six stats keyed by stat id ("hp", "atk", "def", "spa", "spd", "spe").
eggGroupsYesEgg groups, e.g. ["Monster", "Dragon"]; empty for species that cannot breed.
battleOnlyNoThe species this entry transforms from during battle, e.g. "Garchomp" for Garchomp-Mega, or a list when it can come from more than one (Wishiwashi); absent for normally selectable entries.
formeOrderNoDataset display order of the species and its formes; absent when the species has no formes.
baseSpeciesYesName of the species this entry belongs to; equal to `name` for a base forme.
genderRatioYesGender odds at encounter; both 0 for genderless species.
otherFormesNoNames of the non-cosmetic alternate formes; null or absent when the species has none.
evoConditionNoFree-text condition for evolutions that are not plain level, item, or move evolutions, e.g. "Level up with 999 Coins in the bag".
canGigantamaxNoName of the G-Max move, when this entry is a Gigantamax-capable forme; absent otherwise.
cannotDynamaxYestrue when the species cannot Dynamax.
isNonstandardYes"Past", "Future", "Unobtainable", or "CAP" when the entry is not available in the current games; null when it is standard.
cosmeticFormesNoNames of cosmetic-only formes (different look, identical mechanics); null or absent when there are none.
isCosmeticFormeYestrue when this entry is a cosmetic forme rather than a mechanically distinct one.
unreleasedHiddenNotrue when the hidden ability has not been released; absent otherwise.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv3.2.0
    • removedInput schema / properties / generation
      Removed value: -{
      -  "default": 9,
      -  "description": "Generation whose data to use, 1-9 (default 9). Earlier generations omit moves, items, abilities, and forms that did not exist yet.",
      -  "maximum": 9,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedOutput schema / properties / doublesTier
      Removed value: -{
      -  "description": "Doubles (VGC) tier label from the bundled dataset.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / natDexTier
      Removed value: -{
      -  "description": "National Dex tier label; the empty string when the entry has none.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / requiredTeraType
      Removed value: -{
      -  "description": "Tera type this entry is locked to (e.g. an Ogerpon mask); absent when the Tera type is freely chosen.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / tier
      Removed value: -{
      -  "description": "Singles tier label from the bundled dataset, e.g. \"OU\", \"UU\", \"LC\".",
      -  "type": "string"
      -}
    • changedOutput schema / properties / types / description
      Previous value: -"Typing in the requested generation, in order, e.g. [\"Dragon\", \"Ground\"]. One of \"Bug\", \"Dark\", \"Dragon\", \"Electric\", \"Fairy\", \"Fighting\", \"Fire\", \"Flying\", \"Ghost\", \"Grass\", \"Ground\", \"Ice\", \"Normal\", \"Poison\", \"Psychic\", \"Rock\", \"Steel\", \"Water\"."New value: +"Typing, in order, e.g. [\"Dragon\", \"Ground\"]. One of \"Bug\", \"Dark\", \"Dragon\", \"Electric\", \"Fairy\", \"Fighting\", \"Fire\", \"Flying\", \"Ghost\", \"Grass\", \"Ground\", \"Ice\", \"Normal\", \"Poison\", \"Psychic\", \"Rock\", \"Steel\", \"Water\"."
    • changedOutput schema / required
      Previous value: -[
      -  "name",
      -  "num",
      -  "gen",
      -  "types",
      -  "baseStats",
      -  "bst",
      -  "abilities",
      -  "tier",
      -  "doublesTier",
      -  "natDexTier",
      -  "baseSpecies",
      -  "isCosmeticForme",
      -  "weightkg",
      -  "genderRatio",
      -  "eggGroups",
      -  "nfe",
      -  "canHatch",
      -  "evos",
      -  "cannotDynamax",
      -  "isNonstandard",
      -  "tags"
      -]New value: +[
      +  "name",
      +  "num",
      +  "gen",
      +  "types",
      +  "baseStats",
      +  "bst",
      +  "abilities",
      +  "baseSpecies",
      +  "isCosmeticForme",
      +  "weightkg",
      +  "genderRatio",
      +  "eggGroups",
      +  "nfe",
      +  "canHatch",
      +  "evos",
      +  "cannotDynamax",
      +  "isNonstandard",
      +  "tags"
      +]
  2. Changed3 schema fields changedv1.1.1
    • addedInput schema / properties / generation / description
      Added value: +"Generation whose data to use, 1-9 (default 9). Earlier generations omit moves, items, abilities, and forms that did not exist yet."
    • addedInput schema / properties / species / description
      Added value: +"Species or form name, e.g. \"Garchomp\", \"Ogerpon-Wellspring\", \"Rotom-Wash\"."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "abilities": {
      +      "additionalProperties": false,
      +      "description": "Abilities keyed by Showdown slot: \"0\" primary, \"1\" secondary, \"H\" hidden, \"S\" special.",
      +      "properties": {
      +        "0": {
      +          "description": "Primary ability.",
      +          "type": "string"
      +        },
      +        "1": {
      +          "description": "Secondary ability; absent from species with only one normal ability.",
      +          "type": "string"
      +        },
      +        "H": {
      +          "description": "Hidden ability; absent from species that have none.",
      +          "type": "string"
      +        },
      +        "S": {
      +          "description": "Special slot, used by abilities that come with a forme (Battle Bond, Power Construct); absent for species that have none.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "0"
      +      ],
      +      "type": "object"
      +    },
      +    "baseForme": {
      +      "description": "Label of the species' default forme when it has formes, e.g. \"Teal\" for Ogerpon; absent otherwise.",
      +      "type": "string"
      +    },
      +    "baseSpecies": {
      +      "description": "Name of the species this entry belongs to; equal to `name` for a base forme.",
      +      "type": "string"
      +    },
      +    "baseStats": {
      +      "additionalProperties": false,
      +      "description": "All six stats keyed by stat id (\"hp\", \"atk\", \"def\", \"spa\", \"spd\", \"spe\").",
      +      "properties": {
      +        "atk": {
      +          "description": "Attack.",
      +          "type": "number"
      +        },
      +        "def": {
      +          "description": "Defense.",
      +          "type": "number"
      +        },
      +        "hp": {
      +          "description": "Hit Points.",
      +          "type": "number"
      +        },
      +        "spa": {
      +          "description": "Special Attack.",
      +          "type": "number"
      +        },
      +        "spd": {
      +          "description": "Special Defense.",
      +          "type": "number"
      +        },
      +        "spe": {
      +          "description": "Speed.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "hp",
      +        "atk",
      +        "def",
      +        "spa",
      +        "spd",
      +        "spe"
      +      ],
      +      "type": "object"
      +    },
      +    "battleOnly": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ],
      +      "description": "The species this entry transforms from during battle, e.g. \"Garchomp\" for Garchomp-Mega, or a list when it can come from more than one (Wishiwashi); absent for normally selectable entries."
      +    },
      +    "bst": {
      +      "description": "Base stat total — the sum of `baseStats`.",
      +      "type": "number"
      +    },
      +    "canGigantamax": {
      +      "description": "Name of the G-Max move, when this entry is a Gigantamax-capable forme; absent otherwise.",
      +      "type": "string"
      +    },
      +    "canHatch": {
      +      "description": "true when the species can hatch from an Egg.",
      +      "type": "boolean"
      +    },
      +    "cannotDynamax": {
      +      "description": "true when the species cannot Dynamax.",
      +      "type": "boolean"
      +    },
      +    "cosmeticFormes": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Names of cosmetic-only formes (different look, identical mechanics); null or absent when there are none."
      +    },
      +    "doublesTier": {
      +      "description": "Doubles (VGC) tier label from the bundled dataset.",
      +      "type": "string"
      +    },
      +    "eggGroups": {
      +      "description": "Egg groups, e.g. [\"Monster\", \"Dragon\"]; empty for species that cannot breed.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "evoCondition": {
      +      "description": "Free-text condition for evolutions that are not plain level, item, or move evolutions, e.g. \"Level up with 999 Coins in the bag\".",
      +      "type": "string"
      +    },
      +    "evoItem": {
      +      "description": "Item required to evolve, when the evolution is item-based.",
      +      "type": "string"
      +    },
      +    "evoLevel": {
      +      "description": "Level required to evolve, when the evolution is level-based.",
      +      "type": "number"
      +    },
      +    "evoMove": {
      +      "description": "Move the species must know to evolve, when the evolution is move-based.",
      +      "type": "string"
      +    },
      +    "evos": {
      +      "description": "Species this one evolves into; empty when it does not evolve.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "forme": {
      +      "description": "Forme label when this entry is an alternate forme, e.g. \"Mega\", \"Wash\"; absent for the base forme.",
      +      "type": "string"
      +    },
      +    "formeOrder": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Dataset display order of the species and its formes; absent when the species has no formes."
      +    },
      +    "gen": {
      +      "description": "Generation this entry was introduced in; 0 for entries outside the numbered generations (e.g. MissingNo.).",
      +      "type": "number"
      +    },
      +    "gender": {
      +      "description": "\"M\", \"F\", or \"N\" (genderless) for species that are not a mix of both; absent when the species has a mixed gender ratio.",
      +      "type": "string"
      +    },
      +    "genderRatio": {
      +      "additionalProperties": false,
      +      "description": "Gender odds at encounter; both 0 for genderless species.",
      +      "properties": {
      +        "F": {
      +          "description": "Fraction of encounters that are female.",
      +          "type": "number"
      +        },
      +        "M": {
      +          "description": "Fraction of encounters that are male.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "M",
      +        "F"
      +      ],
      +      "type": "object"
      +    },
      +    "isCosmeticForme": {
      +      "description": "true when this entry is a cosmetic forme rather than a mechanically distinct one.",
      +      "type": "boolean"
      +    },
      +    "isMega": {
      +      "description": "true for Mega Evolutions; absent otherwise.",
      +      "type": "boolean"
      +    },
      +    "isNonstandard": {
      +      "description": "\"Past\", \"Future\", \"Unobtainable\", or \"CAP\" when the entry is not available in the current games; null when it is standard.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "isPrimal": {
      +      "description": "true for Primal Reversions; absent otherwise.",
      +      "type": "boolean"
      +    },
      +    "name": {
      +      "description": "Display name of the entry, e.g. \"Garchomp\" or \"Ogerpon-Wellspring\".",
      +      "type": "string"
      +    },
      +    "natDexTier": {
      +      "description": "National Dex tier label; the empty string when the entry has none.",
      +      "type": "string"
      +    },
      +    "nfe": {
      +      "description": "true when the species can still evolve (not fully evolved).",
      +      "type": "boolean"
      +    },
      +    "num": {
      +      "description": "National Dex number; 0 for entries that have none.",
      +      "type": "number"
      +    },
      +    "otherFormes": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Names of the non-cosmetic alternate formes; null or absent when the species has none."
      +    },
      +    "prevo": {
      +      "description": "Species this one evolves from; absent for base evolutions.",
      +      "type": "string"
      +    },
      +    "requiredTeraType": {
      +      "description": "Tera type this entry is locked to (e.g. an Ogerpon mask); absent when the Tera type is freely chosen.",
      +      "type": "string"
      +    },
      +    "tags": {
      +      "description": "Dataset tags such as [\"Sub-Legendary\"] or [\"Mythical\"]; empty when the entry is untagged.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "tier": {
      +      "description": "Singles tier label from the bundled dataset, e.g. \"OU\", \"UU\", \"LC\".",
      +      "type": "string"
      +    },
      +    "types": {
      +      "description": "Typing in the requested generation, in order, e.g. [\"Dragon\", \"Ground\"]. One of \"Bug\", \"Dark\", \"Dragon\", \"Electric\", \"Fairy\", \"Fighting\", \"Fire\", \"Flying\", \"Ghost\", \"Grass\", \"Ground\", \"Ice\", \"Normal\", \"Poison\", \"Psychic\", \"Rock\", \"Steel\", \"Water\".",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "unreleasedHidden": {
      +      "description": "true when the hidden ability has not been released; absent otherwise.",
      +      "type": "boolean"
      +    },
      +    "weightkg": {
      +      "description": "Weight in kilograms, as used by weight-based moves such as Heavy Slam.",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "name",
      +    "num",
      +    "gen",
      +    "types",
      +    "baseStats",
      +    "bst",
      +    "abilities",
      +    "tier",
      +    "doublesTier",
      +    "natDexTier",
      +    "baseSpecies",
      +    "isCosmeticForme",
      +    "weightkg",
      +    "genderRatio",
      +    "eggGroups",
      +    "nfe",
      +    "canHatch",
      +    "evos",
      +    "cannotDynamax",
      +    "isNonstandard",
      +    "tags"
      +  ],
      +  "type": "object"
      +}
  3. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint, and the description adds substantial context beyond them: offline operation over the bundled Showdown dataset, no network/auth/rate limits, case- and punctuation-insensitive matching, acceptance of any Showdown form, and isError behavior listing near matches for unknown names. 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/5

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

Three sentences carry a dense but fully-signaled payload: purpose+returns, matching semantics+error behavior, sibling routing, and operational constraints. Every clause earns its place and the core purpose is front-loaded before the routing and operational details.

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?

For a one-parameter lookup tool with an output schema and safety-bearing annotations, nothing needed to invoke it correctly is missing: name variants, error behavior, relationship to three siblings, and resource/network characteristics are all covered. The output schema relieves the description of explaining return structures.

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 value beyond the schema: it specifies that the species parameter accepts any Showdown name or form in a case- and punctuation-insensitive manner, gives three contrasting examples, and discloses the error behavior for unknown inputs. This exceeds what the schema alone communicates.

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 ('Look up') and resource ('one Pokémon'), and enumerates the exact return contract: types, base stats and BST, abilities by slot, weight, gender ratio, egg groups, and evolutions. It clearly differentiates from siblings by naming search_dex, list_forms, and calculate_stats with their distinct purposes.

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?

Explicit routing is provided: 'Use `search_dex` when you only have a partial name, `list_forms` for alternate or cosmetic forms, and `calculate_stats` when you need stats computed from EVs, IVs, and nature.' This gives the agent concrete selection conditions rather than leaving when-to-use to inference.

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