An MCP server that provides detailed Pokémon information by integrating with the PokeAPI, allowing users to fetch comprehensive data about Pokémon and simulate battles.
PokeMCP is an MCP (Modular Command Platform) server that provides detailed Pokémon information by integrating with the PokeAPI. It exposes a tool to fetch comprehensive data about any Pokémon, including base stats, types, abilities (with effects), moves (with effects), and evolution chain.
git clone https://github.com/ChiragAgg5k/poke-mcp.git cd poke-mcp
uv sync
Run the server using uv (ensure you have the required MCP infrastructure):
uv run mcp dev server.py
Run the following command to connect with Claude:
uv run mcp install server.py
Result should look like this:
Added server 'poke-mcp' to Claude config Successfully installed poke-mcp in Claude app
Now you can use the poke-mcp
MCP tools in Claude:
Get Pokemon Info
Simulate Battle
Learn how to connect the server with other MCP clients like Cursor here.
get_pokemon_info
Fetches detailed information about a Pokémon.
pokemon_name
(str): The name of the Pokémon (case-insensitive)A dictionary with the following structure:
{ "name": "pikachu", "id": 25, "base_stats": { "hp": 35, "attack": 55, ... }, "types": ["electric"], "abilities": [ {"name": "static", "effect": "May paralyze on contact."}, ... ], "moves": [ {"name": "thunder-shock", "effect": "Has a 10% chance to paralyze the target."}, ... ], "evolution_chain": ["pichu", "pikachu", "raichu"] }
If the Pokémon is not found or there is a network error, the response will include an error
key with a descriptive message.
simulate_battle
Simulates a Pokémon battle between two Pokémon using core mechanics (stats, type, and status effects).
pokemon1
(str): Name of the first Pokémon (case-insensitive)pokemon2
(str): Name of the second Pokémon (case-insensitive)A dictionary with the following structure:
{ "pokemon1": "pikachu", "pokemon2": "charizard", "initial_hp": { "pikachu": 35, "charizard": 78 }, "battle_log": [ "Turn 1:", "charizard uses mega-punch and deals 75 damage! (pikachu HP: 0)", "pikachu fainted!", "Winner: charizard!" ], "winner": "charizard" }
If either Pokémon is not found or there is a network error, the response will include an error
key with a descriptive message.
This project uses the PokeAPI and is intended for educational and non-commercial use.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!