PokéAPI MCP Server
Give your AI assistant access to the entire Pokémon universe
A Model Context Protocol (MCP) server in TypeScript that wraps PokéAPI v2 — the largest Pokémon RESTful API (1300+ species, 900+ moves, 300+ abilities, 18 types). Ships as both an npm package and a VS Code extension.
Packages
| Package | Description | Docs |
|---|---|---|
pokeapi-mcp-server | MCP server (npm/CLI) | README → |
pokeapi-mcp-extension | VS Code extension | README → |
Quick Start
Option 1: VS Code Extension (recommended)
Install from the marketplace — the extension handles everything automatically:
ext install bhayanak.pokeapi-mcp-extension
VS Code provides built-in start / stop / restart controls. Your AI assistant gets access to all 12 tools immediately.
Option 2: npm / CLI
npm install -g pokeapi-mcp-server
pokeapi-mcp-server
Or use with Claude Desktop:
{
"mcpServers": {
"pokeapi": {
"command": "npx",
"args": ["-y", "pokeapi-mcp-server"]
}
}
}
12 MCP Tools
| Category | Tools | What They Do |
|---|---|---|
| Pokémon | pokemon_get, pokemon_search | Lookup & search by type/generation |
| Types | pokemon_get_type, pokemon_type_matchup | Type details & effectiveness calculator |
| Moves | pokemon_get_move, pokemon_search_moves | Move database & filtered search |
| Abilities | pokemon_get_ability | Ability effects & Pokémon lists |
| Evolution | pokemon_get_evolution_chain | Full evolution trees with conditions |
| Species | pokemon_get_species | Flavor text, habitat, egg groups |
| Items | pokemon_get_item | Item details, effects, categories |
| Analysis | pokemon_compare, pokemon_type_coverage | Side-by-side stats & team coverage |
License
MIT © bhayanak
Quick Start
# Install dependencies
pnpm install
# Build all packages
pnpm run build
# Run the MCP server (stdio mode)
cd packages/pokeapi-server && pnpm run dev
MCP Tools
| Tool | Description |
|---|---|
pokemon_get | Get detailed Pokémon data (stats, types, abilities, moves) |
pokemon_search | Search Pokémon by type, generation, or browse |
pokemon_get_type | Get type details and damage relations |
pokemon_type_matchup | Check type effectiveness |
pokemon_get_move | Get move details (power, accuracy, effect) |
pokemon_search_moves | Search moves by criteria |
pokemon_get_ability | Get ability details |
pokemon_get_evolution_chain | Get evolution chain with conditions |
pokemon_get_species | Get species data (flavor text, habitat, catch rate) |
pokemon_get_item | Get item details |
pokemon_compare | Compare 2-4 Pokémon side-by-side |
pokemon_type_coverage | Analyze team type coverage |
Configuration
| Variable | Default | Description |
|---|---|---|
POKEAPI_MCP_BASE_URL | https://pokeapi.co/api/v2 | API base URL |
POKEAPI_MCP_CACHE_TTL_MS | 86400000 (24hr) | Cache TTL |
POKEAPI_MCP_CACHE_MAX_SIZE | 500 | Max cache entries |
POKEAPI_MCP_TIMEOUT_MS | 10000 | HTTP timeout |
POKEAPI_MCP_LANGUAGE | en | Preferred language |
Development
pnpm run typecheck # TypeScript type checking
pnpm run lint # ESLint with security rules
pnpm run test # Run tests
pnpm run build # Build all packages
License
MIT