pogo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POGO_MCP_REFRESH_INTERVAL_HOURS | No | The number of hours after which the locally cached snapshot is considered stale and automatically refreshed. | 6 |
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 | Look up one Pokemon battle form by name or internal id (e.g. "Mewtwo", "Giratina Origin", "MEWTWO_MEGA_X"). If the name matches more than one distinct battle form, returns a structured ambiguous_pokemon error listing every candidate instead of guessing. |
| search_pokemonA | Substring search across Pokemon display names. Use this for discovery/browsing when you don't know the exact name; use get_pokemon when you already know which Pokemon/form you want. |
| get_moveA | Look up one move by name or internal id (e.g. "Psycho Cut", "PSYCHO_CUT_FAST"). Returns both PvE fields (power/energy/duration used for raids and gyms) and, separately, PvP fields when the move has them - never mix the two. |
| search_movesA | Substring search across move display names. |
| get_movesetB | All legal PvE fast/charged moves (including elite moves, which require a TM/Elite TM) for one Pokemon battle form, resolved to full move records. |
| get_data_statusA | Report the freshness, validation status, and size of the currently served data snapshot, and whether the server is currently falling back to cached data after a failed refresh. |
| refresh_dataA | Force an immediate fetch/normalize/validate/promote cycle against the upstream provider. On failure, the previously-served snapshot keeps being used and the failure is reported in get_data_status via last_refresh_error. |
| calculate_cpA | CP (and actual Attack/Defense/HP) for an exact IV spread at a given level, 1.0-50.0 in 0.5 increments, IVs 0-15. Set shadow=True to apply the Shadow attack/defense modifiers used by the real game's CP display. |
| calculate_powerup_costA | Total Stardust/Candy/Candy XL to power up from current_level to target_level. Cost does not depend on species - it's the same for every Pokemon at a given level. Shadow adds a Stardust+Candy surcharge, Purified gives a Stardust+Candy discount, Lucky gives a Stardust-only discount (candy cost is unaffected). A Pokemon can be Lucky and Purified at the same time, but never Shadow and Lucky/Purified at the same time. |
| calculate_move_damageA | Damage for one hit of |
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 10 tools
Every tool has a clear, unique purpose: search vs exact lookup for both Pokemon and moves, separate calculation tools for CP, power-up cost, and damage, plus distinct data-management tools for status and refresh. There is no apparent overlap or ambiguity between any pair of tools.
All tool names follow a consistent verb_noun pattern using snake_case: get_pokemon, search_pokemon, get_move, search_moves, get_moveset, get_data_status, refresh_data, calculate_cp, calculate_powerup_cost, calculate_move_damage. Grouping by verb (get/search/calculate/refresh) creates a predictable and readable structure.
10 tools is well-scoped for a Pokemon GO data and calculation server. The set covers lookup, discovery, data management, and simulation without being bloated or thin, and each tool earns its place.
The domain is well covered with Pokemon/move lookup and search, moveset resolution, CP and damage calculations, and data-refresh management. Minor gaps exist, such as no PvP moveset endpoint and no standalone type-effectiveness lookup, but these are non-critical and the core workflows are fully supported.