calculate_statusLABSCO SUMMARY
The two sweep tools are what a calculator site can't do.
A single damage roll you can get anywhere. Sweeping one side's EVs across the whole range and reading off the threshold is the part that answers a real question — how much Attack do I actually need, how much bulk does surviving this cost. Weather-dependent and weight-dependent moves are handled specially, with power landing at 100 under weather and scaling from 20 to 120 by weight respectively.
What it is
A calculator for the third-generation games, exposed as MCP tools. Stat and damage formulas are arithmetic a language model gets wrong on its own; this hands the arithmetic to code and leaves the reasoning to the model.
What you get
calculate_statuscomputes real stat values from base stats, IVs, EVs and naturecalculate_damagefolds in type matchup, STAB, abilities, held items, weather, field effects such as Reflect and Light Screen, stat stages from -6 to +6, critical hits, and moves whose type or power changes with weather or the target's weightcalculate_damage_matrix_varying_attackfixes the defender's EVs and sweeps the attacker's, which is how you find the minimum investment that still guarantees a KOcalculate_damage_matrix_varying_defensesweeps the other way, to find the defensive spread that survives a specific attack
Requirements
Node.js and npm, version 1.0.0 of the project built from source: clone the repo, npm install, npm run build, then point the client at dist/index.js with node. No account and no network access — the game data ships with the project.
Setup effort
Build from source — git clone https://github.com/ptrst102/pokemon-gen3-calc-mcp.git
USE CASES
Finding the minimum EVs that still guarantee the KO
Fix the defender's spread, sweep your attack investment, and read the threshold off the matrix.
Building a spread that survives a specific attack
Fix the attacker, sweep your defensive EVs, and see which allocation holds.
Checking a damage roll with all the modifiers on
Get one number with ability, item, weather, screens and stat stages all applied, instead of an approximation.
Confirming a stat total before committing to a build
Compute the real value from base stats, IVs, EVs and nature.
4 tools
Listed in project docs. Your client may show a different list.
calculate_damagecalculate_damage_matrix_varying_attackcalculate_damage_matrix_varying_defenseBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
node on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/ptrst102/pokemon-gen3-calc-mcp.git
cd pokemon-gen3-calc-mcp
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"pokemon-gen3-calc": {
"command": "node",
"args": [
"<YOUR_PATH_TO_POKEMON_GEN3_CALC_MCP>/dist/index.js"
]
}
}
}<YOUR_PATH_TO_POKEMON_GEN3_CALC_MCP>/dist/index.js is the full path of dist/index.js in your clone. npm run build creates it.