Skip to main content
Glama
anishadesai5

Pokemon MCP Server

by anishadesai5
README.md
# Pokemon MCP Server

A MCP (Model Context Protocol) server that connects to two APIs — **[PokéAPI](https://pokeapi.co/)** for live Pokémon data and the **[Wikipedia REST API](https://en.wikipedia.org/api/rest_v1/)** (free, no key needed) for real-world animal facts — and exposes tools that an LLM (like Claude) can use to fetch, explore, and battle Pokémon.

Built with [FastMCP](https://github.com/chain-ml/model-context-protocol) and `httpx`.

## Tools

| Tool | Description |
|------|-------------|
| `get_pokemon_info` | Get detailed info (types, abilities, stats) for any Pokémon by name |
| `list_popular_pokemon` | List popular tournament-ready Pokémon picks |
| `create_tournament_squad` | Build a powerful 6-Pokémon squad for a tournament |
| `find_pokemon_by_type` | Find top 5 Pokémon of a given type (e.g. fire, water, psychic) with stats |
| `battle_simulator` | Simulate a 1v1 battle between two Pokémon based on their stats |
| `pokemon_real_animal` | Find which real animal a Pokémon resembles, with fun facts pulled from the Wikipedia API |

## How `pokemon_real_animal` Works

For animal data, the tool uses the **Wikipedia API** (free, no API key needed) to pull real-world animal facts. Here's how it works:

1. Uses a hardcoded mapping of Pokémon → real animal (e.g. Pikachu → Mouse, Garchomp → Hammerhead Shark)
2. Hits Wikipedia's REST API to fetch a summary about that animal
3. Returns a fun comparison alongside the Pokémon's stats

> Covers 60+ Pokémon with known real-world inspirations.

## Requirements

- Python 3.8+
- `httpx`
- `mcp` (Model Context Protocol library)

## Installation

```bash
# Clone the repo
git clone https://github.com/your-username/pokemon-mcp-server
cd pokemon-mcp-server

# Create a virtual environment
python -m venv venv
.\venv\Scripts\Activate  # On Windows
# source venv/bin/activate  # On macOS/Linux

# Install dependencies
pip install httpx "mcp[cli]"
```


## Running the Server

```bash
python poke.py
```

The server runs over `stdio` transport, making it compatible with Claude Desktop and other MCP-compatible LLM hosts.

## Connect to Claude Desktop

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "pokemon": {
      "command": "python",
      "args": ["/path/to/poke.py"]
    }
  }
}
```

## Example Interactions

- "What are Charizard's stats?"
- "Find me the top fire type Pokémon"
- "Simulate a battle between Pikachu and Mewtwo"
- "What real animal does Garchomp resemble?"
- "Build me a tournament squad"