pokemcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CACHE_TTL | No | Cache time-to-live in seconds | 3600 |
| LOG_LEVEL | No | Python logging level | INFO |
| REDIS_URL | No | Redis URL for persistent caching (e.g. redis://localhost:6379). If unset, an in-memory cache is used. | |
| POKEAPI_BASE_URL | No | PokéAPI base URL | https://pokeapi.co/api/v2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pokemonA | Get full details for a Pokémon by name or Pokédex ID. Returns species info, types, stats, abilities, sprites, and more. |
| get_pokemon_speciesB | Get species-level data for a Pokémon including flavor text (Pokédex entries), habitat, generation, legendary/mythical status, and gender rate. |
| get_pokemon_statsB | Get base stats for a Pokémon (HP, Attack, Defense, Sp. Atk, Sp. Def, Speed) along with the total base stat sum. |
| get_pokemon_abilitiesC | Get all abilities for a Pokémon, including whether they are hidden abilities. |
| get_evolution_chainA | Get the full evolution chain for a Pokémon species. Returns the chain of evolutions with trigger conditions. |
| list_pokemonB | List Pokémon with pagination. Returns names and URLs. Max limit is 100 per request. |
| search_pokemon_by_typeA | Get all Pokémon that belong to a given type (e.g. 'fire', 'water', 'dragon'). |
| get_moveB | Get full details for a move by name or ID. Includes type, power, accuracy, PP, damage class, effect, and more. |
| get_move_summaryB | |
| get_moves_learned_by_pokemonA | Get all moves a Pokémon can learn, grouped by learn method (level-up, TM/HM, egg, tutor). |
| list_movesB | List all moves with pagination. Returns names and URLs. Max limit is 100 per request. |
| get_moves_by_typeA | Get all moves that belong to a specific type (e.g. 'fire', 'psychic'). Returns move names and their URLs for further lookup. |
| get_itemA | Get full details for an item by name or ID. Includes category, cost, effect, attributes, and Pokémon it's held by. |
| get_item_summaryC | |
| list_itemsA | List all items with pagination. Returns names and URLs. Max limit is 100 per request. |
| get_items_by_categoryB | Get all items in a specific category (e.g. 'pokeballs', 'healing', 'held-items', 'berries', 'evolution'). |
| get_item_held_by_pokemonA | Get all Pokémon that can hold a specific item in the wild, along with the rarity of them holding it per game version. |
| get_typeA | Get full details for a type by name or ID. Includes damage relations, Pokémon of that type, and moves of that type. |
| get_type_matchupsA | Get the offensive matchup chart for a type — which types it hits for super effective (2x), not very effective (0.5x), no effect (0x), or normal damage. |
| get_type_defensesB | Get the defensive matchup chart for a type — what it takes super effective, not very effective, or no damage from. |
| get_dual_type_matchupsA | Calculate the combined defensive matchup for a dual-type Pokémon. Multiplies the damage modifiers from both types together to give the final effective multiplier (e.g. 4x, 2x, 1x, 0.5x, 0.25x, 0x). |
| list_typesA | List all available Pokémon types. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Each tool has a clearly distinct purpose, covering different aspects of Pokémon data (Pokémon, moves, items, types, evolutions). Even the type defense tools are differentiated between single-type and dual-type matchups, and offensive vs. defensive. No significant overlap.
All tools follow a consistent verb_noun pattern in snake_case (e.g., get_pokemon, list_items, search_pokemon_by_type). There are no deviations or mixed conventions, making the naming predictable and easy to navigate.
With 22 tools, the server is slightly above the typical well-scoped range (3-15), but it is justified by the breadth of Pokémon data (Pokémon, moves, items, types, evolution). The number feels appropriate for a comprehensive Pokémon information server.
The tool set covers core CRUD/lifecycle operations for Pokémon, moves, items, and types, including details, summaries, listings, filtering by type or category, and evolution chains. There are no obvious gaps for a Pokémon information API.