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