Skip to main content
Glama
Pokemon Go MCP Server

Pokemon Go MCP Server

by GhostTypes


Prerequisites

  • Python 3.10 or higher

  • uv package manager (recommended) or pip


Claude Desktop Configuration

{
  "mcpServers": {
    "pokemon-go": {
      "command": "uv",
      "args": ["run", "python", "/path/to/pokemon-go-mcp/pogo_mcp/server.py"]
    }
  }
}

Claude Code Configuration

# Quick add with claude mcp command
claude mcp add pokemon-go uv run python /path/to/pokemon-go-mcp/pogo_mcp/server.py

# Or manually create .mcp.json in your project directory
echo '{"servers": {"pokemon-go": {"command": "uv", "args": ["run", "python", "/path/to/pokemon-go-mcp/pogo_mcp/server.py"]}}}' > .mcp.json

VS Code Configuration

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "pokemon-go-stdio": {
      "command": "uv",
      "args": ["run", "python", "/path/to/pokemon-go-mcp/pogo_mcp/server.py"]
    },
    "pokemon-go-http": {
      "type": "http",
      "url": "http://localhost:8000",
      "description": "Pokemon Go MCP Server via HTTP"
    }
  }
}

n8n Workflows

  1. Install n8n MCP Node:

    npm install n8n-nodes-mcp
    # Set environment: N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  2. Configure MCP Client Node:

    • Connection Type: HTTP Streamable (Recommended)

    • URL: http://localhost:8000 (when running with MCP_TRANSPORT=http)

    • Headers: Optional authentication headers if needed

  3. Docker Deployment for n8n:

    # Build and run the Pokemon Go MCP server
    docker build -t pokemon-go-mcp .
    docker run -d -p 8000:8000 -e MCP_TRANSPORT=http pokemon-go-mcp

Transport Modes


Pokemon Go MCP Server Showcase 1

Pokemon Go MCP Server Showcase 2

Pokemon Go MCP Server Showcase 3



Get Today's Priorities

Use the get_daily_priorities tool to get curated recommendations for:

  • Active events to participate in

  • Priority raids for shiny hunting

  • Easy research tasks with valuable rewards

  • Optimal egg hatching strategy

Find a Specific Pokemon

Use search_pokemon_everywhere with "Dratini" to find:

  • If it's featured in any current events

  • Whether it's available as a raid boss

  • Which research tasks reward it

  • If it can be hatched from eggs

  • Shiny availability across all sources

Plan Your Shiny Hunt

Use get_all_shiny_pokemon to see every shiny currently available, then:

  • get_shiny_raids for raid targets

  • get_shiny_research_rewards for research tasks

  • get_shiny_egg_hatches for egg planning

  • get_route_gift_pokemon for special route gift opportunities

  • get_shiny_shadow_pokemon for Shadow Pokemon


pokemon-go-mcp/
├── pogo_mcp/
│   ├── __init__.py          # Package initialization
│   ├── server.py            # Main MCP server with cross-cutting tools
│   ├── api_client.py        # Local data client with caching
│   ├── types.py             # Type definitions and data classes
│   ├── utils.py             # Utility functions and formatters
│   ├── events.py            # Event-related tools
│   ├── raids.py             # Raid-related tools
│   ├── research.py          # Research-related tools
│   ├── eggs.py              # Egg-related tools
│   └── rocket_lineups.py    # Team Rocket-related tools
├── data/                    # Local JSON data files (git-ignored)
├── tests/                   # Test files
├── server.py                # Main entry point
├── pyproject.toml           # Project configuration
└── README.md                # This file

Setup Development Environment

# Clone repository
git clone <repository-url>
cd pokemon-go-mcp

# Install with development dependencies
uv sync --all-extras --dev

# Code formatting
ruff format .

# Linting
ruff check .

# Type checking
pyright

Testing


Available Tools

43 tools
calculate_pokemon_weaknessA

Calculate type effectiveness when attacking a specific Pokemon.

This tool works for ANY Pokemon, not just those in Team Rocket lineups. It uses PokeAPI to look up Pokemon types for any valid Pokemon name.

Inputs: pokemon_name (required), attacking_type (required). Returns: result

clear_cacheA

Clear the API data cache to force fresh data retrieval.

Forces the server to fetch fresh data from the LeekDuck API on the next request. Use this if you suspect the data is stale or after major game updates.

Inputs: no named parameters. Returns: result

get_active_promo_codesA

Get all currently active promo codes with their rewards and expiration dates.

Returns a formatted list of active promo codes that can be redeemed in Pokemon GO, including their rewards, descriptions, and expiration information.

Inputs: no named parameters. Returns: result

get_adventure_sync_rewardsA

Get Pokemon available as Adventure Sync rewards.

Returns Pokemon that can be obtained from Adventure Sync reward eggs, which are earned by walking specific distances each week.

Inputs: no named parameters. Returns: result

get_all_shiny_pokemonA

Get all Pokemon currently available as shiny across all sources.

Returns a comprehensive list of all shiny-eligible Pokemon from events, raids, research rewards, and egg hatches. Perfect for shiny hunters!

Inputs: no named parameters. Returns: result

get_community_day_infoA

Get information about current or upcoming Community Day events.

Returns detailed Community Day information including featured Pokemon, bonuses, exclusive moves, and special research tasks.

Inputs: no named parameters. Returns: result

get_current_eventsA

Get all active and upcoming Pokemon Go events.

Returns a formatted list of all current and upcoming events with their details, including event type, duration, and links for more information.

Inputs: no named parameters. Returns: result

get_current_raidsA

Get all current raid bosses in Pokemon Go.

Returns a comprehensive list of all raid bosses currently available, organized by tier with CP ranges, types, weather boosts, and shiny availability.

Inputs: no named parameters. Returns: result

get_current_researchA

Get all current field research tasks in Pokemon Go.

Returns a comprehensive list of all field research tasks currently available from PokeStops, including task requirements and possible Pokemon rewards. Note: You receive ONE of the possible rewards, not all of them.

Inputs: no named parameters. Returns: result

get_daily_prioritiesA

Get daily priorities and recommendations for Pokemon Go activities.

Returns a curated list of what to focus on today based on active events, valuable raids, research tasks, and egg hatching recommendations.

Inputs: no named parameters. Returns: result

get_easy_research_tasksA

Get field research tasks that are easy to complete.

Returns tasks that can be completed quickly or with minimal effort, perfect for players who want to stack rewards efficiently.

Inputs: no named parameters. Returns: result

get_egg_hatchesA

Get all Pokemon currently available from eggs in Pokemon Go.

Returns a comprehensive list of all Pokemon that can hatch from eggs, organized by egg distance with CP ranges, shiny availability, and special features.

Inputs: no named parameters. Returns: result

get_egg_hatches_by_distanceB

Get Pokemon available from eggs of a specific distance.

Inputs: distance (required). Returns: result

get_egg_recommendationsA

Get egg incubation recommendations based on specified priority.

Inputs: priority. Returns: result

get_event_bonusesA

Get active bonuses from current Pokemon Go events.

Returns information about experience, stardust, candy, and other bonuses that are currently active from events.

Inputs: no named parameters. Returns: result

get_event_detailsB

Get detailed information about a specific Pokemon Go event.

Inputs: event_id (required). Returns: result

get_event_spawnsB

Get Pokemon spawns from active events.

Inputs: event_type. Returns: result

get_gift_exchange_pokemonB

Get Pokemon that are available from gift eggs (7km eggs from friends).

Returns Pokemon that can be hatched from 7km eggs received from gifts, which often contain regional Pokemon and special variants.

Inputs: no named parameters. Returns: result

get_pokestop_showcase_infoA

Get information about active or upcoming PokéStop Showcase events.

Inputs: no named parameters. Returns: result

get_raid_by_tierB

Get raid bosses filtered by tier.

Inputs: tier (required). Returns: result

get_raid_recommendationsC

Get raid recommendations based on specified criteria.

Inputs: tier, shiny_only. Returns: result

get_raids_by_typeB

Get raid bosses filtered by Pokemon type.

Inputs: pokemon_type (required). Returns: result

get_regional_egg_pokemonA

Get Pokemon from eggs that are region-locked.

Returns regional Pokemon that can only be obtained from eggs in specific regions, useful for planning trades or travel.

Inputs: no named parameters. Returns: result

get_research_by_task_typeA

Get field research tasks filtered by task type.

Inputs: task_type (required). Returns: result

get_research_recommendationsC

Get research task recommendations based on specified priority.

Inputs: priority. Returns: result

get_rocket_encountersA

Get all possible Team Rocket encounter rewards.

Returns information about Pokemon you can catch after defeating Team Rocket trainers, organized by trainer.

Inputs: no named parameters. Returns: result

get_rocket_trainer_detailsB

Get detailed information about a specific Team Rocket trainer.

Inputs: trainer_name (required). Returns: result

get_rocket_trainers_by_typeB

Get Team Rocket trainers filtered by Pokemon type.

Inputs: trainer_type (required). Returns: result

get_route_gift_pokemonA

Get Pokemon that are available from route gift eggs.

Returns Pokemon that can be hatched from 7km eggs received from route gifts, which often contain special variants.

Inputs: no named parameters. Returns: result

get_server_statusA

Get the current status and statistics of the Pokemon Go MCP server.

Returns information about data freshness, cache status, and summary statistics across all Pokemon Go data sources.

Inputs: no named parameters. Returns: result

get_shiny_egg_hatchesA

Get all Pokemon from eggs that can be encountered as shiny.

Returns Pokemon that can hatch from eggs in their shiny form, organized by egg distance for efficient shiny hunting planning.

Inputs: no named parameters. Returns: result

get_shiny_raidsA

Get only raid bosses that can be encountered as shiny.

Returns all current raid bosses where the shiny form is available, perfect for shiny hunters planning their raid activities.

Inputs: no named parameters. Returns: result

get_shiny_research_rewardsA

Get all field research tasks that can reward shiny Pokemon.

Returns research tasks where at least one of the possible rewards can be encountered as a shiny, perfect for shiny hunters.

Inputs: no named parameters. Returns: result

get_shiny_shadow_pokemonA

Get all Shadow Pokemon that can be shiny from Team Rocket encounters.

Returns a comprehensive list of all shiny-eligible Shadow Pokemon with their types, weaknesses, and which trainers use them.

Inputs: no named parameters. Returns: result

get_team_rocket_lineupsA

Get all Team Rocket trainer lineups currently available.

Returns comprehensive information about all Team Rocket trainers, their Pokemon lineups, types, and encounter rewards.

Inputs: no named parameters. Returns: result

get_weather_boosted_raidsA

Get raid bosses that are boosted by specific weather.

Inputs: weather (required). Returns: result

search_egg_pokemonA

Search for a specific Pokemon in current egg pools.

Inputs: pokemon_name (required). Returns: result

search_eventsC

Search for Pokemon Go events by name or description.

Inputs: query (required). Returns: result

search_pokemon_everywhereB

Search for a Pokemon across all data sources (events, raids, research, eggs).

Inputs: pokemon_name (required). Returns: result

search_raid_bossB

Search for a specific Pokemon in current raids.

Inputs: pokemon_name (required). Returns: result

search_research_by_rewardA

Find field research tasks that reward a specific Pokemon.

Inputs: pokemon_name (required). Returns: result

search_research_tasksB

Search field research tasks by task description.

Inputs: query (required). Returns: result

search_rocket_by_pokemonB

Search for Team Rocket trainers that have a specific Pokemon.

Inputs: pokemon_name (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 43 tools

    Disambiguation3/5

    Many tools serve similar purposes (e.g., multiple raid filters, egg hatch queries), causing potential confusion. However, explicit naming and descriptions help differentiate them, reducing ambiguity but not eliminating it.

    Naming Consistency4/5

    Tool names follow a consistent verb_noun pattern in snake_case, primarily using 'get_' or 'search_'. A few outliers like 'calculate_pokemon_weakness' and 'clear_cache' slightly deviate but still fit the overall convention.

    Tool Count3/5

    With 43 tools, the surface is heavy but arguably justified by the breadth of Pokemon Go content. Many tools are redundant filters that could be parameterized, but the count is not extreme (under 50).

    Completeness4/5

    The tool set covers major informational needs: events, raids, research, eggs, Team Rocket, shiny hunting, daily priorities, and server status. Minor gaps exist (e.g., no PvP or trading tools), but core features are well-covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      An MCP server that provides detailed Pokémon information by integrating with the PokeAPI, allowing users to fetch comprehensive data about Pokémon and simulate battles.
      2
      2
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for pokemon information
      4
      -
    • A
      license
      Not graded
      quality
      F
      maintenance
      An MCP server that provides standardized access to Pokemon data, allowing users to search, compare, and retrieve detailed information about Pokemon through natural language tools.
      6
      ISC