Skip to main content
Glama

PokeMCP

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.

Features

  • Fetches Pokémon base stats, types, and abilities (with effect descriptions)

  • Retrieves up to 10 moves per Pokémon, including move effects

  • Provides the full evolution chain for a given Pokémon

  • Handles errors gracefully and returns informative error messages

Related MCP server: Poke-MCP

Requirements

Installation

  1. Clone this repository:

    git clone https://github.com/ChiragAgg5k/poke-mcp.git cd poke-mcp
  2. Install dependencies using uv:

    uv sync

Usage

Development Server

Run the server using uv (ensure you have the required MCP infrastructure):

uv run mcp dev server.py

Connecting with Claude

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.

API

Tool: get_pokemon_info

Fetches detailed information about a Pokémon.

Arguments

  • pokemon_name (str): The name of the Pokémon (case-insensitive)

Returns

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"] }

Error Handling

If the Pokémon is not found or there is a network error, the response will include an error key with a descriptive message.

Tool: simulate_battle

Simulates a Pokémon battle between two Pokémon using core mechanics (stats, type, and status effects).

Arguments

  • pokemon1 (str): Name of the first Pokémon (case-insensitive)

  • pokemon2 (str): Name of the second Pokémon (case-insensitive)

Returns

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" }

Error Handling

If either Pokémon is not found or there is a network error, the response will include an error key with a descriptive message.

License

This project uses the PokeAPI and is intended for educational and non-commercial use.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChiragAgg5k/poke-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server