Read-only Pokémon Champions VGC data: legality, usage stats, type analysis and matchup calcs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
For a list of Pokémon, count how many are weak to, resist or are immune to each attacking type, and report shared weaknesses, types nothing on the team resists, and defensive types that would patch the most gaps. It considers typing only — not abilities, items or moves — and suggests types, not specific Pokémon. Pass a Mega form's name (e.g. "Charizard-Mega-Y") to analyse its post-Mega typing.
Pokémon names on the team
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http vgc-teambuilder https://api.pokemcp.com/mcp
For a list of Pokémon, count how many are weak to, resist or are immune to each attacking type, and report shared weaknesses, types nothing on the team resists, and defensive types that would patch the most gaps. It considers typing only — not abilities, items or moves — and suggests types, not specific Pokémon. Pass a Mega form's name (e.g. "Charizard-Mega-Y") to analyse its post-Mega typing.
| Argument | Type | Description |
|---|---|---|
| team* | array | Pokémon names on the team |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"team"
],
"properties": {
"team": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English, e.g. \"Incineroar\" or \"Landorus-Therian\""
},
"maxItems": 6,
"minItems": 1,
"description": "Pokémon names on the team"
}
}
}Calculate how much damage one move does from one Pokémon to another in Pokémon Champions doubles: the damage range, the share of the defender's HP, and the chance to knock it out. Use it instead of estimating damage. Any part of a set that is left out is filled in from the regulation's usage statistics and listed under `assumptions`. A move that hits both opponents is calculated at its reduced doubles damage unless `singleTarget` is set. This is one calculation, not a battle simulation: it does not account for the rest of the turn, switching or luck beyond the damage roll and critical hits.
| Argument | Type | Description |
|---|---|---|
| move* | string | Move name, for example "Earthquake" |
| field | object | Battle conditions. Leave out for none. |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| attacker* | object | The Pokémon using the move |
| defender* | object | The Pokémon being hit |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attacker",
"defender",
"move"
],
"properties": {
"move": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Move name, for example \"Earthquake\""
},
"field": {
"type": "object",
"properties": {
"reflect": {
"type": "boolean",
"description": "Reflect on the defender's side"
},
"terrain": {
"enum": [
"electric",
"grassy",
"misty",
"psychic"
],
"type": "string"
},
"weather": {
"enum": [
"sun",
"rain",
"sand",
"snow"
],
"type": "string"
},
"auroraVeil": {
"type": "boolean"
},
"criticalHit": {
"type": "boolean"
},
"friendGuard": {
"type": "boolean",
"description": "Defender's ally has Friend Guard"
},
"helpingHand": {
"type": "boolean",
"description": "Attacker has Helping Hand"
},
"lightScreen": {
"type": "boolean"
},
"singleTarget": {
"type": "boolean",
"description": "Set true when a spread move has only one target left, so it does full damage."
}
},
"description": "Battle conditions. Leave out for none.",
"additionalProperties": false
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"attacker": {
"type": "object",
"required": [
"pokemon"
],
"properties": {
"item": {
"type": "string",
"maxLength": 40,
"description": "Held item, or \"none\". Defaults to the Pokémon's most used item in the regulation."
},
"boosts": {
"type": "object",
"properties": {
"atk": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"def": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spa": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spd": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spe": {
"type": "integer",
"maximum": 6,
"minimum": -6
}
},
"description": "Stat stages from moves and abilities, -6 to +6. For example { atk: 2 }.",
"additionalProperties": false
},
"nature": {
"type": "string",
"maxLength": 20,
"description": "Nature, such as Adamant or Timid. If nature and statPoints are both left out, the Pokémon's most common spread in the regulation's usage statistics is used."
},
"status": {
"enum": [
"burn",
"paralysis"
],
"type": "string",
"description": "Burn halves physical damage dealt; paralysis halves Speed."
},
"ability": {
"type": "string",
"maxLength": 40,
"description": "Ability. Defaults to the Pokémon's most used ability in the regulation."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
},
"statPoints": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"atk": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"def": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spa": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spd": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spe": {
"type": "integer",
"maximum": 32,
"minimum": 0
}
},
"description": "Pokémon Champions stat points per stat (0–32 each, 66 in total). Stats left out get 0.",
"additionalProperties": false
}
},
"description": "The Pokémon using the move",
"additionalProperties": false
},
"defender": {
"type": "object",
"required": [
"pokemon"
],
"properties": {
"item": {
"type": "string",
"maxLength": 40,
"description": "Held item, or \"none\". Defaults to the Pokémon's most used item in the regulation."
},
"boosts": {
"type": "object",
"properties": {
"atk": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"def": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spa": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spd": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spe": {
"type": "integer",
"maximum": 6,
"minimum": -6
}
},
"description": "Stat stages from moves and abilities, -6 to +6. For example { atk: 2 }.",
"additionalProperties": false
},
"nature": {
"type": "string",
"maxLength": 20,
"description": "Nature, such as Adamant or Timid. If nature and statPoints are both left out, the Pokémon's most common spread in the regulation's usage statistics is used."
},
"status": {
"enum": [
"burn",
"paralysis"
],
"type": "string",
"description": "Burn halves physical damage dealt; paralysis halves Speed."
},
"ability": {
"type": "string",
"maxLength": 40,
"description": "Ability. Defaults to the Pokémon's most used ability in the regulation."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
},
"statPoints": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"atk": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"def": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spa": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spd": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spe": {
"type": "integer",
"maximum": 32,
"minimum": 0
}
},
"description": "Pokémon Champions stat points per stat (0–32 each, 66 in total). Stats left out get 0.",
"additionalProperties": false
}
},
"description": "The Pokémon being hit",
"additionalProperties": false
}
}
}Check a team against the Pokémon it is most likely to face in a regulation. For each threat (the most used Pokémon by default, or the ones named) it reports the team's hardest hit into it, its hardest hit into the team, and which team members outspeed it. Each threat uses its most common set in the regulation's usage statistics. Results are single hits with no screens or stat changes, under the weather or terrain the attacker's own ability sets if any. This is not a battle simulation; use calculate_damage to examine one matchup under specific conditions.
| Argument | Type | Description |
|---|---|---|
| team* | array | The team, one to six Pokémon |
| limit | integer | How many of the most used Pokémon to check (1–10). Defaults to 8 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| threats | array | Pokémon to check against. Defaults to the most used in the regulation. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"team"
],
"properties": {
"team": {
"type": "array",
"items": {
"type": "object",
"required": [
"pokemon"
],
"properties": {
"item": {
"type": "string",
"maxLength": 40,
"description": "Held item, or \"none\". Defaults to the Pokémon's most used item in the regulation."
},
"moves": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 4,
"description": "This Pokémon's moves. Defaults to its most used attacks in the regulation."
},
"boosts": {
"type": "object",
"properties": {
"atk": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"def": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spa": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spd": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spe": {
"type": "integer",
"maximum": 6,
"minimum": -6
}
},
"description": "Stat stages from moves and abilities, -6 to +6. For example { atk: 2 }.",
"additionalProperties": false
},
"nature": {
"type": "string",
"maxLength": 20,
"description": "Nature, such as Adamant or Timid. If nature and statPoints are both left out, the Pokémon's most common spread in the regulation's usage statistics is used."
},
"status": {
"enum": [
"burn",
"paralysis"
],
"type": "string",
"description": "Burn halves physical damage dealt; paralysis halves Speed."
},
"ability": {
"type": "string",
"maxLength": 40,
"description": "Ability. Defaults to the Pokémon's most used ability in the regulation."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
},
"statPoints": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"atk": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"def": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spa": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spd": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spe": {
"type": "integer",
"maximum": 32,
"minimum": 0
}
},
"description": "Pokémon Champions stat points per stat (0–32 each, 66 in total). Stats left out get 0.",
"additionalProperties": false
}
},
"additionalProperties": false
},
"maxItems": 6,
"minItems": 1,
"description": "The team, one to six Pokémon"
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many of the most used Pokémon to check (1–10). Defaults to 8"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"threats": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
},
"maxItems": 10,
"description": "Pokémon to check against. Defaults to the most used in the regulation."
}
}
}Work out the Speed of several Pokémon in Pokémon Champions and the order they move in, including the effect of items such as Choice Scarf, Tailwind, paralysis, stat stages, weather abilities and Trick Room. Use it to answer who outspeeds whom. Any part of a set that is left out is filled in from the regulation's usage statistics and listed under `assumptions`. Speed decides order only among moves of the same priority.
| Argument | Type | Description |
|---|---|---|
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| pokemon* | array | The Pokémon to compare. The same Pokémon may appear with two sets. |
| terrain | string | |
| weather | string | |
| trickRoom | boolean | Trick Room is up: slower moves first |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"pokemon": {
"type": "array",
"items": {
"type": "object",
"required": [
"pokemon"
],
"properties": {
"item": {
"type": "string",
"maxLength": 40,
"description": "Held item, or \"none\". Defaults to the Pokémon's most used item in the regulation."
},
"boosts": {
"type": "object",
"properties": {
"atk": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"def": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spa": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spd": {
"type": "integer",
"maximum": 6,
"minimum": -6
},
"spe": {
"type": "integer",
"maximum": 6,
"minimum": -6
}
},
"description": "Stat stages from moves and abilities, -6 to +6. For example { atk: 2 }.",
"additionalProperties": false
},
"nature": {
"type": "string",
"maxLength": 20,
"description": "Nature, such as Adamant or Timid. If nature and statPoints are both left out, the Pokémon's most common spread in the regulation's usage statistics is used."
},
"status": {
"enum": [
"burn",
"paralysis"
],
"type": "string",
"description": "Burn halves physical damage dealt; paralysis halves Speed."
},
"ability": {
"type": "string",
"maxLength": 40,
"description": "Ability. Defaults to the Pokémon's most used ability in the regulation."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
},
"tailwind": {
"type": "boolean",
"description": "This Pokémon's side has Tailwind"
},
"statPoints": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"atk": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"def": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spa": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spd": {
"type": "integer",
"maximum": 32,
"minimum": 0
},
"spe": {
"type": "integer",
"maximum": 32,
"minimum": 0
}
},
"description": "Pokémon Champions stat points per stat (0–32 each, 66 in total). Stats left out get 0.",
"additionalProperties": false
},
"abilityActive": {
"type": "boolean",
"description": "A conditional Speed ability is active, such as Unburden after its item is used. Weather abilities follow `weather` and need no flag."
}
},
"additionalProperties": false
},
"maxItems": 12,
"minItems": 1,
"description": "The Pokémon to compare. The same Pokémon may appear with two sets."
},
"terrain": {
"enum": [
"electric",
"grassy",
"misty",
"psychic"
],
"type": "string"
},
"weather": {
"enum": [
"sun",
"rain",
"sand",
"snow"
],
"type": "string"
},
"trickRoom": {
"type": "boolean",
"description": "Trick Room is up: slower moves first"
}
}
}List the Pokémon that most reliably beat the given Pokémon on the ladder, ranked by Smogon's checks-and-counters score. The data records one-on-one outcomes (a knockout or a forced switch), so in doubles treat it as a rough signal. Pokémon with few recorded matchups have no data.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum entries to return (1–30). Defaults to 10 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| pokemon* | string | Pokémon name in English. Mega Evolutions are tracked separately, e.g. "Charizard-Mega-Y" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Maximum entries to return (1–30). Defaults to 10"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
}
}
}Compare a regulation's usage between two months: the biggest risers and fallers, Pokémon that newly reached meaningful usage and Pokémon that dropped out. Use it to see how the metagame changed. Needs at least two months of history.
| Argument | Type | Description |
|---|---|---|
| to | string | Last month, YYYY-MM. Defaults to the most recent month |
| from | string | First month, YYYY-MM. The nearest month with data is used if it has none |
| limit | integer | Maximum entries to return (1–25). Defaults to 10 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| months | integer | Months to look back from `to` when `from` is omitted. Defaults to 3 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Last month, YYYY-MM. Defaults to the most recent month"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "First month, YYYY-MM. The nearest month with data is used if it has none"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum entries to return (1–25). Defaults to 10"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"months": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Months to look back from `to` when `from` is omitted. Defaults to 3"
}
}
}Show how one Pokémon is typically built in a regulation: its usage and rank, and the most common abilities, items, moves and stat spreads as a share of its recorded sets. Spreads use the stat-point scale the ladder records (0–32 per stat in Pokémon Champions).
| Argument | Type | Description |
|---|---|---|
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| pokemon* | string | Pokémon name in English. Mega Evolutions are tracked separately, e.g. "Charizard-Mega-Y" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
}
}
}List the Pokémon that most often share a team with the given Pokémon in a regulation, as the share of its teams that include each one. Use it to find proven partners and cores.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum entries to return (1–30). Defaults to 10 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| pokemon* | string | Pokémon name in English. Mega Evolutions are tracked separately, e.g. "Charizard-Mega-Y" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Maximum entries to return (1–30). Defaults to 10"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
}
}
}Rank the most-used Pokémon in a regulation by the share of ladder teams they appear on, from the most recent month of usage statistics loaded for that regulation (the month itself is not reported; get_usage_trend shows dated history). Use it to see what a team should expect to face. Mega Evolutions are ranked as separate entries.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum entries to return (1–50). Defaults to 20 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum entries to return (1–50). Defaults to 20"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
}
}
}Fit a trend to each Pokémon's monthly usage across a range and list the fastest rising, fastest declining and most volatile. These are descriptive trends, not forecasts. Needs at least three months of history in the range; with so few points, treat the result as a direction, not a measurement.
| Argument | Type | Description |
|---|---|---|
| to | string | Last month, YYYY-MM. Defaults to the most recent month |
| from | string | First month, YYYY-MM. The nearest month with data is used if it has none |
| limit | integer | Maximum entries to return (1–25). Defaults to 10 |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| months | integer | Months to look back from `to` when `from` is omitted. Defaults to 6 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Last month, YYYY-MM. Defaults to the most recent month"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "First month, YYYY-MM. The nearest month with data is used if it has none"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum entries to return (1–25). Defaults to 10"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"months": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Months to look back from `to` when `from` is omitted. Defaults to 6"
}
}
}Show one Pokémon's monthly usage and rank in a regulation across a range of months, with its net change and peak. History exists only for months the regulation's ladder was active.
| Argument | Type | Description |
|---|---|---|
| to | string | Last month, YYYY-MM. Defaults to the most recent month |
| from | string | First month, YYYY-MM. The nearest month with data is used if it has none |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
| months | integer | Months to look back from `to` when `from` is omitted. Defaults to 12 |
| pokemon* | string | Pokémon name in English. Mega Evolutions are tracked separately, e.g. "Charizard-Mega-Y" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Last month, YYYY-MM. Defaults to the most recent month"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "First month, YYYY-MM. The nearest month with data is used if it has none"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
},
"months": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Months to look back from `to` when `from` is omitted. Defaults to 12"
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English. Mega Evolutions are tracked separately, e.g. \"Charizard-Mega-Y\""
}
}
}List the Pokémon Champions regulations this connector supports, with each one's id, dates, whether it is current, team rules, number of legal Mega Evolutions and whether usage statistics are available. Use it to find the `format` value other tools accept and to see which format they use by default.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get a Pokémon's types, base stats, abilities, weight, alternate forms and any Mega Evolutions legal in the supported regulations (with the Mega's types, ability and base stats). Data comes from Pokémon Showdown; it does not say whether the Pokémon itself is legal in a format — use validate_team for that.
| Argument | Type | Description |
|---|---|---|
| pokemon* | string | Pokémon name in English, e.g. "Incineroar" or "Landorus-Therian" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon"
],
"properties": {
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English, e.g. \"Incineroar\" or \"Landorus-Therian\""
}
}
}Check whether a Pokémon can learn each of the given moves in any Pokémon game, counting moves inherited from its pre-evolutions and base form. Based on Pokémon Showdown learnset data across all generations, not Pokémon Champions' own move lists: a move learnable only in an older game may not exist in Champions, and a move added only in Champions may be reported as not learnable.
| Argument | Type | Description |
|---|---|---|
| moves* | array | Move names to check |
| pokemon* | string | Pokémon name in English, e.g. "Incineroar" or "Landorus-Therian" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pokemon",
"moves"
],
"properties": {
"moves": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 12,
"minItems": 1,
"description": "Move names to check"
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English, e.g. \"Incineroar\" or \"Landorus-Therian\""
}
}
}Check a team against a Pokémon Champions regulation: each Pokémon is on the regulation's allowed list, Species Clause, Item Clause, at most four moves each, moves are learnable and abilities belong to the Pokémon. A Mega Evolution named directly (e.g. "Charizard-Mega-Y") is checked as its base Pokémon holding its Mega Stone. It does not check stat spreads or held-item availability. Move data comes from Pokémon Showdown across all generations, not Pokémon Champions' own move lists, so a move from an older game can pass and a Champions-only move can fail.
| Argument | Type | Description |
|---|---|---|
| team* | array | Team members. Only `pokemon` is required for each |
| format | string | Regulation id from list_formats. Defaults to "champions-regmc" (Pokémon Champions — Regulation M-C). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"team"
],
"properties": {
"team": {
"type": "array",
"items": {
"type": "object",
"required": [
"pokemon"
],
"properties": {
"item": {
"type": "string",
"maxLength": 60
},
"moves": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 8
},
"ability": {
"type": "string",
"maxLength": 60
},
"pokemon": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Pokémon name in English, e.g. \"Incineroar\" or \"Landorus-Therian\""
}
}
},
"maxItems": 10,
"minItems": 1,
"description": "Team members. Only `pokemon` is required for each"
},
"format": {
"enum": [
"champions-regma",
"champions-regmb",
"champions-regmc"
],
"type": "string",
"description": "Regulation id from list_formats. Defaults to \"champions-regmc\" (Pokémon Champions — Regulation M-C)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.