Skip to Content
Tools

Tools

VGC Teambuilder is a Model Context Protocol  server at https://api.pokemcp.com/mcp. Every tool only reads data; nothing is written, and no account is needed. To add it to an assistant, see Connect.

ToolParametersDescription
list_formatsnoneList 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.
lookup_pokemonpokemon (string, required) — Pokémon name in English, e.g. “Incineroar” or “Landorus-Therian”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.
validate_movesetpokemon (string, required) — Pokémon name in English, e.g. “Incineroar” or “Landorus-Therian”; moves (array, required) — Move names to checkCheck 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.
validate_teamteam (array, required) — Team members. Only pokemon is required for each; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).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.
analyze_team_typesteam (array, required) — Pokémon names on the teamFor 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.
get_top_usageformat (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; limit (number, optional) — Maximum entries to return (1–50). Defaults to 20Rank 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.
get_pokemon_usagepokemon (string, required) — Pokémon name in English. Mega Evolutions are tracked separately, e.g. “Charizard-Mega-Y”; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).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).
get_teammatespokemon (string, required) — Pokémon name in English. Mega Evolutions are tracked separately, e.g. “Charizard-Mega-Y”; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; limit (number, optional) — Maximum entries to return (1–30). Defaults to 10List 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.
get_checks_and_counterspokemon (string, required) — Pokémon name in English. Mega Evolutions are tracked separately, e.g. “Charizard-Mega-Y”; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; limit (number, optional) — Maximum entries to return (1–30). Defaults to 10List 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.
get_usage_trendpokemon (string, required) — Pokémon name in English. Mega Evolutions are tracked separately, e.g. “Charizard-Mega-Y”; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; from (string, optional) — First month, YYYY-MM. The nearest month with data is used if it has none; to (string, optional) — Last month, YYYY-MM. Defaults to the most recent month; months (number, optional) — Months to look back from to when from is omitted. Defaults to 12Show 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.
get_meta_shiftsformat (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; from (string, optional) — First month, YYYY-MM. The nearest month with data is used if it has none; to (string, optional) — Last month, YYYY-MM. Defaults to the most recent month; months (number, optional) — Months to look back from to when from is omitted. Defaults to 3; limit (number, optional) — Maximum entries to return (1–25). Defaults to 10Compare 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.
get_usage_momentumformat (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; from (string, optional) — First month, YYYY-MM. The nearest month with data is used if it has none; to (string, optional) — Last month, YYYY-MM. Defaults to the most recent month; months (number, optional) — Months to look back from to when from is omitted. Defaults to 6; limit (number, optional) — Maximum entries to return (1–25). Defaults to 10Fit 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.
calculate_damageattacker (object, required) — The Pokémon using the move; defender (object, required) — The Pokémon being hit; move (string, required) — Move name, for example “Earthquake”; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; field (object, optional) — Battle conditions. Leave out for none.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.
compare_speedpokemon (array, required) — The Pokémon to compare. The same Pokémon may appear with two sets.; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; weather (enum: sun, rain, sand, snow, optional); terrain (enum: electric, grassy, misty, psychic, optional); trickRoom (boolean, optional) — Trick Room is up: slower moves firstWork 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.
check_team_threatsteam (array, required) — The team, one to six Pokémon; format (enum: champions-regma, champions-regmb, champions-regmc, optional) — Regulation id from list_formats. Defaults to “champions-regmc” (Pokémon Champions — Regulation M-C).; threats (array, optional) — Pokémon to check against. Defaults to the most used in the regulation.; limit (number, optional) — How many of the most used Pokémon to check (1–10). Defaults to 8Check 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.

Describing a Pokémon for the matchup tools

calculate_damage, compare_speed and check_team_threats take Pokémon as sets. Only the name is required:

FieldMeaning
pokemonName in English. Name the Mega form (Charizard-Mega-Y) to calculate it Mega Evolved.
natureFor example Adamant or Timid.
statPointsPokémon Champions stat points per stat: hp, atk, def, spa, spd, spe. Up to 32 on one stat and 66 in total.
ability, itemNames in English. Use none for no item.
boostsStat stages from -6 to +6, for example { "atk": 2 }.
statusburn or paralysis.

Anything left out is filled in with that Pokémon’s most common choice in the regulation’s usage statistics, and the result lists what was assumed. If nature and stat points are both left out, its most common spread is used; if only one is given, the other is taken as neutral or zero.

calculate_damage also takes a field: weather (sun, rain, sand, snow), terrain (electric, grassy, misty, psychic), reflect, lightScreen, auroraVeil, helpingHand, friendGuard, criticalHit, and singleTarget for a spread move with one target left.

Tools that take a format use the newest regulation with published usage statistics when it is omitted. Call list_formats to see the supported regulations.

Where the data comes from

  • Pokémon, moves and abilities come from the open-source Pokémon Showdown data set.
  • Usage statistics and trends come from the Pokémon Showdown ladder data that Smogon publishes each month. Percentages are shares of teams or sets, not win rates.
  • Allowed Pokémon lists come from the published regulation for each format.
  • Damage and Speed calculations use the open-source calculator behind Pokémon Showdown, in its Pokémon Champions mode: level 50 and stat points.

Limits worth knowing

  • Move checks use Pokémon Showdown’s learnset data across all generations, not Pokémon Champions’ own move lists. A move from an older game can pass, and a move added only in Champions can be reported as not learnable.
  • Team validation checks the allowed Pokémon list, Species Clause, Item Clause, move count, learnable moves and abilities. It does not check stat spreads or held-item availability.
  • Type analysis considers typing only, not abilities, items or moves.
  • Checks-and-counters data records one-on-one outcomes, so in doubles it is a rough signal.
  • Usage rankings come from the most recent month loaded for a regulation and do not state the month; the trend tools show dated history.
  • Trend tools need history: two months to compare shifts, three to fit momentum.
  • Matchup tools do single calculations. They do not play out a battle, so they say nothing about switching, turn order beyond Speed, or how a game would go.
  • When a set is not fully given, the matchup tools fill the gaps with that Pokémon’s most common spread, ability and item in the regulation’s usage statistics, and list what they assumed.
  • A move that hits both opponents is calculated at its reduced doubles damage unless you say only one target is left.

Privacy

The connector takes no personal information and has no accounts. It records operational metrics for each call (the tool name, format, whether it succeeded and how long it took) and does not store the arguments you send or the results it returns. See the privacy policy .

About

VGC Teambuilder is an unofficial fan project. It is not affiliated with or endorsed by Nintendo, Creatures Inc., GAME FREAK inc. or The Pokémon Company. Questions or problems: [email protected].

Last updated on