Skip to main content
Glama
Emieeel

Pokémon Champions MCP Server

by Emieeel

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
calculate_damageA

Calculate the damage one Pokémon deals to another with a given move in Pokémon Champions (VGC-style, defaults to Doubles). Wraps the trusted @smogon/calc engine, so abilities (Contrary, Intimidate, ...), items, weather, terrain, Tera, crits, multi-hit, screens and Doubles spread reduction are all handled correctly. For moves whose power builds up over a battle — Rage Fist (per hit taken), Last Respects (per fainted ally) — pass moveContext so the base power scales correctly; or pin any variable-power move with moveContext.basePowerOverride. Answers questions like "does my Choice Band Staraptor-Mega OHKO that Garchomp?". Returns the damage range, percent range, hits-to-KO, and the human-readable calc string.

type_effectivenessA

Given an attacking type and 1 or 2 defending types, return the damage multiplier (0, 0.25, 0.5, 1, 2, or 4) and a short explanation, for Pokémon Champions. Derived from the type chart bundled in @smogon/calc. Answers "how effective is Fighting vs a Flying/Psychic Pokémon?".

get_pokemonA

Look up a Pokémon by name (Mega forms accepted, e.g. "Staraptor-Mega" or "Mega Staraptor") in Pokémon Champions: returns base stats, typing, abilities, and weight. Data comes from the Champions Pokédex (Serebii) so game-original Mega Evolutions are accurate — e.g. Mega Staraptor has Contrary, which @smogon/calc gets wrong. Also returns the Pokémon's full learnable movelist ("moves"). The "source" field shows whether the answer came from the Champions dex or the @smogon/calc fallback. Optionally pass a regulation id (e.g. "m-b") to also get whether the Pokémon is legal there and its regulation-legal moves.

check_legalityA

Check whether a Pokémon — and optionally specific moves and/or held items — is legal in a given Pokémon Champions regulation (e.g. "m-b"). Reads purely from local regulation JSON (fully offline). If the regulation file is missing, returns an error telling you to run the scraper. If the regulation has no per-move or per-item legality data, that is stated explicitly rather than guessed.

list_regulationsA

List the Pokémon Champions regulations currently available locally (the JSON files in regulations/), with each one's metadata (name, date range, source URL, last-scraped timestamp) and counts of legal Pokémon/moves. Cheap way to know what legality data this server has before calling check_legality.

list_itemsA

Browse the items a Pokémon can hold in Pokémon Champions: Hold Items (Choice Scarf, Life Orb, Leftovers, ...), Mega Stones (Garchompite, Charizardite X, ...), and Berries (Sitrus, Lum, type-resist berries, ...). Each item includes its in-game effect, how to obtain it, and its category. Data is scraped from the Champions items page (Serebii). Optionally filter by category or a name substring, and pass a regulation id (e.g. "m-b") to mark which items are legal there. Answers "what berries can I hold?" or "which Mega Stones exist in Champions?".

get_itemA

Look up a single Pokémon Champions held item by name (e.g. "Choice Scarf", "Garchompite", "Sitrus Berry"): returns its in-game effect, how to obtain it, its category (Hold Item / Mega Stone / Berry), and whether it can be held in battle. Data comes from the Champions items page (Serebii). The "source" field shows whether the answer came from the Champions catalog or the @smogon/calc fallback (which lacks effect/location text). Optionally pass a regulation id (e.g. "m-b") to also get whether the item is legal there.

find_pokemon_by_moveA

Given a move and a Pokémon Champions regulation (e.g. "m-b"), list every Pokémon that is legal in that regulation AND can learn the move. Answers "who can run Fake Out in M-B?" or "which legal mons get Spore?". Learnsets come from the Champions dex; the move's type/category/base power are included when the engine knows the move. NOTE: Champions publishes no per-move bans, so "legal move" means a legal Pokémon can learn it. Defaults to regulation "m-b".

list_legal_movesA

List the moves available in a Pokémon Champions regulation (e.g. "m-b") — i.e. every move learnable by at least one legal Pokémon — each with its type, category (Physical/Special/Status), base power, and how many legal Pokémon can learn it. Optionally filter by name substring, move type (e.g. "Fire"), or category. Answers "what Fairy moves are usable in M-B?" or "is Glacial Lance legal here?". NOTE: Champions publishes no per-move bans, so this is the pool of learnable moves, not a separate curated allowlist. Defaults to regulation "m-b".

list_legal_pokemonA

List the Pokémon legal in a Pokémon Champions regulation (e.g. "m-b") — the regulation's legal pool — each enriched with its National Dex number, typing, base stats, and abilities from the Champions dex. Optionally filter by name substring or by type (e.g. "Dragon"). Answers "what Fairy types are legal in M-B?" or "show me the M-B roster". Reads the regulation's legal-Pokémon allowlist directly (the complement to list_legal_moves). Defaults to regulation "m-b".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct query type—damage calculation, type chart, Pokémon data, legality, items, and move/regulation lists. No two tools appear to do the same thing; even list_items vs get_item follow the standard browse/detail pattern.

Naming Consistency4/5

Most tools follow a verb_noun pattern (calculate_damage, get_pokemon, list_regulations, check_legality), but 'type_effectiveness' is a noun phrase rather than a command, and the verbs vary (list, get, check, find). Still, the naming is readable and predictable within action groups.

Tool Count5/5

With 10 tools, the server is well-scoped for its purpose, covering damage calc, type matchups, Pokémon lookup, legality, items, and regulation queries without redundancy. This falls comfortably within the ideal 3-15 range.

Completeness4/5

The tool surface covers the core workflows: damage calculation, type effectiveness, Pokémon data, legality checks, item browsing, and legal move/Pokémon lists. Minor gaps like a dedicated get_move tool are not critical because list_legal_moves and get_pokemon already provide move information.

Maintenance

ActivityInactive
ResponsivenessNo issues