# pokeapi-mcp-server MCP server

Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-pokeapi-mcp-server
- Repository: https://github.com/cyanheads/pokeapi-mcp-server

## Install
- Command: `npx -y @cyanheads/pokeapi-mcp-server`
- Endpoint: https://pokeapi.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/pokeapi-mcp-server v0.1.3
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/pokeapi-mcp-server v0.1.3
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://pokeapi.caseyjhand.com/mcp

## Tools
- pokeapi_get_pokemon (Get Pokémon) - Get a fully denormalized Pokémon dossier in a single call — base stats, types, abilities (with full English effect text), height/weight, resolved evolution chain, sprite URLs including official artwork, species flavor text, variety list, capture rate, growth rate, gender rate, legendary/mythical flags, egg groups, and (optionally) a summarized learnable-move list. Accepts a name (lowercase, hyphens for spaces, e.g. "bulbasaur", "mr-mime") or Pokédex number. Set include_moves=true to include the move summary (large); defaults to false. Use game_version to select flavor text from a specific game (e.g. "sword", "red"); falls back to the most recent English entry when the version is not found. Use pokeapi_find_pokemon to discover Pokémon by type, generation, or egg group before calling this tool. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_get_type_matchups (Get Type Matchups) - Get the full offensive and defensive type effectiveness breakdown. Provide either a type name (e.g. "fire", "psychic") or a Pokémon identifier (name or dex number). For dual-type Pokémon, the defensive multipliers are correctly composed (e.g. Fire/Flying vs Rock = 4× because both types are weak to Rock). Exactly one of type or pokemon must be provided. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_get_move (Get Move) - Get move details by name or numeric ID — type, damage class, power, accuracy, PP, priority, target, stat changes, status-effect chance, and full English effect text. Set include_learners=true to include the list of Pokémon that can learn the move. Move names are available from pokeapi_get_pokemon when include_moves=true. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_get_ability (Get Ability) - Get ability details by name or numeric ID — full English effect text, short effect text, generation introduced, and the list of Pokémon that have the ability (including hidden-ability flag and slot). Ability names are returned by pokeapi_get_pokemon in the abilities array. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_get_item (Get Item) - Get item details by name or numeric ID — effect text, category, in-game cost, fling power, item attributes (holdable, consumable, etc.), sprite URL, and Pokémon that commonly hold it. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_get_nature (Get Nature) - Get nature details — the stat boosted (+10%), stat reduced (-10%), and preferred/disliked berry flavors. Omit the identifier to list all 25 natures at once. Natures are critical for competitive team-building: every non-neutral nature modifies two stats by ±10%. Endpoint: https://pokeapi.caseyjhand.com/mcp
- pokeapi_find_pokemon (Find Pokémon) - Filter Pokémon by generation, type, regional pokédex, or egg group. Returns names and Pokédex numbers suitable for follow-up pokeapi_get_pokemon calls. All filters are optional and combined with AND logic; query adds strict token matching on name. When no category filter is provided alongside query, returns an empty result — at least one categorical filter is required. Endpoint: https://pokeapi.caseyjhand.com/mcp

## Resources
- pokeapi://pokemon/bulbasaur - Pokémon Dossier Pokémon dossier addressable by name or Pokédex number. Same payload as pokeapi_get_pokemon without move details. MIME type: application/json
- pokeapi://pokemon/1 - Pokémon Dossier Pokémon dossier addressable by name or Pokédex number. Same payload as pokeapi_get_pokemon without move details. MIME type: application/json
- pokeapi://type/normal - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/fire - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/water - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/electric - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/grass - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/ice - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/fighting - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/poison - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/ground - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/flying - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/psychic - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/bug - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/rock - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/ghost - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/dragon - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/dark - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/steel - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json
- pokeapi://type/fairy - Type Damage Relations Type damage relations — offensive and defensive multiplier tables for a given type. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.3
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 6, 2026
- Source: https://registry.modelcontextprotocol.io
