Skip to main content

Pokemon Showdown MCP Server - Pokemon data lookup tools for LLMs via Model Context Protocol

Reason this release was yanked:

documentation edits

Project description

mcpkmn-showdown

License: MIT Python 3.10+ MCP

A Model Context Protocol (MCP) server that provides Pokemon Showdown data to LLMs. Enables AI assistants like Claude to look up Pokemon stats, moves, abilities, items, and type matchups during conversations.

Claude Desktop using mcpkmn-showdown

What is MCP?

Model Context Protocol is an open standard that allows AI assistants to securely access external tools and data sources. This server exposes Pokemon game data as MCP tools that Claude and other compatible LLMs can call.

Features

  • Pokemon Lookup - Stats, types, abilities for any Pokemon
  • Move Database - Power, accuracy, effects, priority, descriptions
  • Ability Info - Full descriptions of what abilities do in battle
  • Item Effects - Held item descriptions and battle effects
  • Type Calculator - Calculate type effectiveness multipliers
  • Priority Moves - Search for moves with priority (Quick Attack, etc.)
  • Ability Search - Find all Pokemon with a specific ability
  • Dangerous Abilities - List battle-critical abilities (immunities, etc.)

Installation

Option 1: Using uvx (Recommended)

The easiest way to use mcpkmn-showdown is with uvx:

uvx mcpkmn-showdown

Option 2: Using pip

pip install mcpkmn-showdown

Then run:

mcpkmn-showdown

Option 3: From Source

git clone https://github.com/drewsungg/mcpkmn-showdown.git
cd mcpkmn-showdown
pip install .
mcpkmn-showdown

Usage with Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pokemon": {
      "command": "uvx",
      "args": ["mcpkmn-showdown"]
    }
  }
}

Or if installed via pip:

{
  "mcpServers": {
    "pokemon": {
      "command": "mcpkmn-showdown"
    }
  }
}

Restart Claude Desktop after updating the config.

Available Tools

get_pokemon

Look up a Pokemon by name. Returns base stats, types, abilities with descriptions, weight, and competitive tier.

Input: {"name": "garchomp"}
Output: Pokemon stats, types, abilities, etc.

get_move

Look up a move by name. Returns power, accuracy, type, category, priority, effects, and full description.

Input: {"name": "earthquake"}
Output: Move details including damage, accuracy, effects

get_ability

Look up an ability by name. Returns full description of what the ability does in battle.

Input: {"name": "levitate"}
Output: "This Pokemon is immune to Ground-type moves."

get_item

Look up a held item by name. Returns full description of what the item does in battle.

Input: {"name": "choice-scarf"}
Output: Item effect description

get_type_effectiveness

Calculate type effectiveness multiplier for an attack against a Pokemon's types.

Input: {"attack_type": "electric", "defend_types": ["water", "flying"]}
Output: "4x - Super effective!"

search_priority_moves

Find all moves with priority (moves that go before normal moves).

Input: {"min_priority": 1}
Output: List of priority moves (Quick Attack, Mach Punch, etc.)

search_pokemon_by_ability

Find all Pokemon that can have a specific ability.

Input: {"ability": "levitate"}
Output: List of Pokemon with Levitate

list_dangerous_abilities

List abilities that can significantly affect battle outcomes.

Input: {"category": "immunity"}
Output: Levitate, Flash Fire, Volt Absorb, etc.

Example Conversations

Once configured, you can ask Claude things like:

  • "What are Garchomp's stats and abilities?"
  • "Is Earthquake effective against Rotom-Wash?"
  • "What does the ability Protean do?"
  • "What priority moves can hit Ghost types?"
  • "Which Pokemon have the ability Intimidate?"

Data Sources

Pokemon data is sourced from Pokemon Showdown, the popular competitive Pokemon battle simulator. Data includes:

  • pokedex.json - Pokemon stats, types, abilities
  • moves_showdown.json - Move data with effects
  • abilities_full.json - Ability descriptions
  • items.json - Item descriptions
  • typechart.json - Type effectiveness chart

Development

Testing with MCP Inspector

Use the MCP Inspector to test the tools interactively:

npx @modelcontextprotocol/inspector mcpkmn-showdown

MCP Inspector

Running Locally

git clone https://github.com/drewsungg/mcpkmn-showdown.git
cd mcpkmn-showdown
pip install -e ".[dev]"
python -m src.pokemon_server

Updating Pokemon Data

The cache data can be refreshed using the data fetcher:

python -m src.data_fetcher

Related Projects

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Andrew Sung - @drewsungg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcpkmn_showdown-1.0.0.tar.gz (234.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcpkmn_showdown-1.0.0-py3-none-any.whl (245.4 kB view details)

Uploaded Python 3

File details

Details for the file mcpkmn_showdown-1.0.0.tar.gz.

File metadata

  • Download URL: mcpkmn_showdown-1.0.0.tar.gz
  • Upload date:
  • Size: 234.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for mcpkmn_showdown-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8918769453d5ae2b785e91bdc1fc6f4371a0a73c53c90210bff55b3e92ca2205
MD5 c6e7623a69a67372cfd06db5411b458d
BLAKE2b-256 32aeff298c616933763148b887cd535741ddd1fb0ecda282b2191fd2e12dcecc

See more details on using hashes here.

File details

Details for the file mcpkmn_showdown-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mcpkmn_showdown-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 245.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for mcpkmn_showdown-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2167394f77fbec32bc789e3f7b3ff42f54afef59812dd0001572b2ed7801d638
MD5 79fcc5337bc8d702e29c366cfb9299c1
BLAKE2b-256 6dcea659f7cf7ccfe1fa6fc3eed85eb2a390ea6a8a4a27654c6abcf2d7e0b10a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page