Pokemon Go MCP Server
A comprehensive MCP server providing real-time Pokemon Go data including events, raids, research tasks, egg hatches, and Team Rocket lineups.
README
<div align="center"> <h1>Pokemon Go MCP Server</h1> <p>A comprehensive Model Context Protocol (MCP) server providing real-time Pokemon Go data including events, raids, research tasks, egg hatches, and Team Rocket lineups</p> </div>
<p align="center"> <img src="https://img.shields.io/badge/Python-3.10+-blue?style=for-the-badge&logo=python&logoColor=white" alt="Python 3.10+"> <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="MIT License"> <img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey?style=for-the-badge" alt="Platform Support"> </p>
<div align="center"> <h2>Feature Overview</h2> </div>
<div align="center"> <table> <tr> <th>Category</th> <th>Features</th> <th>Key Capabilities</th> </tr> <tr> <td><strong>Events</strong></td> <td>Current Events, Event Details, Community Days</td> <td>Real-time event tracking, spawn data, bonuses, exclusive moves</td> </tr> <tr> <td><strong>Raids</strong></td> <td>Raid Bosses, Tier Filtering, Shiny Tracking</td> <td>Complete raid listings, type filtering, weather boost detection</td> </tr> <tr> <td><strong>Research</strong></td> <td>Field Tasks, Reward Tracking, Task Filtering</td> <td>Task discovery, shiny rewards, easy completion paths</td> </tr> <tr> <td><strong>Eggs</strong></td> <td>Egg Pools, Distance Filtering, Shiny Tracking</td> <td>Distance-based filtering, regional exclusives, Adventure Sync rewards</td> </tr> <tr> <td><strong>Team Rocket</strong></td> <td>Lineups, Shadow Pokemon, Encounter Rewards</td> <td>Complete trainer lineups, type effectiveness, shiny shadows</td> </tr> <tr> <td><strong>Cross-Platform</strong></td> <td>Universal Search, Daily Priorities, Status</td> <td>Multi-source search, curated recommendations, cache management</td> </tr> </table> </div>
<div align="center"> <h2>Quick Start</h2> </div>
<div align="center"> <table> <tr> <th>Step</th> <th>Command</th> <th>Description</th> </tr> <tr> <td><strong>1. Clone</strong></td> <td><code>git clone <repository-url></code></td> <td>Clone the repository</td> </tr> <tr> <td><strong>2. Navigate</strong></td> <td><code>cd pokemon-go-mcp</code></td> <td>Enter project directory</td> </tr> <tr> <td><strong>3. Install (uv)</strong></td> <td><code>uv sync</code></td> <td>Install with uv package manager (recommended)</td> </tr> <tr> <td><strong>3. Install (pip)</strong></td> <td><code>pip install -e .</code></td> <td>Install with pip</td> </tr> <tr> <td><strong>4. Run</strong></td> <td><code>uv run python server.py</code></td> <td>Start the MCP server</td> </tr> </table> </div>
Prerequisites
- Python 3.10 or higher
uvpackage manager (recommended) orpip
<div align="center"> <h2>Integration Options</h2> </div>
<div align="center"> <table> <tr> <th>Platform</th> <th>Configuration</th> <th>Notes</th> </tr> <tr> <td><strong>Claude Desktop</strong></td> <td>Add to <code>claude_desktop_config.json</code></td> <td>Requires absolute path to server.py</td> </tr> <tr> <td><strong>Claude Code</strong></td> <td>Use <code>claude mcp add</code> command</td> <td>Or create <code>.mcp.json</code> manually</td> </tr> <tr> <td><strong>VS Code</strong></td> <td>Create <code>.vscode/mcp.json</code></td> <td>Supports stdio and HTTP transports</td> </tr> <tr> <td><strong>n8n Workflows</strong></td> <td>Install <code>n8n-nodes-mcp</code></td> <td>HTTP transport recommended</td> </tr> <tr> <td><strong>Docker</strong></td> <td>Use <code>docker build</code> and <code>docker run</code></td> <td>Supports HTTP/SSE transports</td> </tr> </table> </div>
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
-
Install n8n MCP Node:
npm install n8n-nodes-mcp # Set environment: N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true -
Configure MCP Client Node:
- Connection Type: HTTP Streamable (Recommended)
- URL:
http://localhost:8000(when running withMCP_TRANSPORT=http) - Headers: Optional authentication headers if needed
-
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
<div align="center"> <table> <tr> <th>Transport</th> <th>Command</th> <th>Use Case</th> </tr> <tr> <td><strong>HTTP</strong></td> <td><code>MCP_TRANSPORT=http MCP_PORT=8000 python pogo_mcp/server.py</code></td> <td>Web integrations, automation tools</td> </tr> <tr> <td><strong>SSE</strong></td> <td><code>MCP_TRANSPORT=sse MCP_PORT=8000 python pogo_mcp/server.py</code></td> <td>Legacy systems</td> </tr> <tr> <td><strong>stdio</strong></td> <td><code>python pogo_mcp/server.py</code></td> <td>Default, Claude Desktop</td> </tr> </table> </div>
<div align="center"> <h2>Showcase</h2> </div>
<div align="center">
</div>
<div align="center"> <h2>Available Tools</h2> </div>
<div align="center"> <table> <tr> <th>Tool Name</th> <th>Category</th> <th>Description</th> </tr> <tr> <td><code>get_current_events</code></td> <td>Events</td> <td>List all active and upcoming events</td> </tr> <tr> <td><code>get_event_details</code></td> <td>Events</td> <td>Detailed information about a specific event</td> </tr> <tr> <td><code>get_community_day_info</code></td> <td>Events</td> <td>Community Day specifics and featured Pokemon</td> </tr> <tr> <td><code>get_event_spawns</code></td> <td>Events</td> <td>Pokemon spawning more frequently during events</td> </tr> <tr> <td><code>get_event_bonuses</code></td> <td>Events</td> <td>Active event bonuses (XP, Stardust, etc.)</td> </tr> <tr> <td><code>search_events</code></td> <td>Events</td> <td>Search events by name or type</td> </tr> <tr> <td><code>get_current_raids</code></td> <td>Raids</td> <td>All current raid bosses by tier</td> </tr> <tr> <td><code>get_raid_by_tier</code></td> <td>Raids</td> <td>Filter raids by tier (1, 3, 5, Mega)</td> </tr> <tr> <td><code>get_shiny_raids</code></td> <td>Raids</td> <td>Only shiny-eligible raid bosses</td> </tr> <tr> <td><code>search_raid_boss</code></td> <td>Raids</td> <td>Find specific Pokemon in raids</td> </tr> <tr> <td><code>get_raids_by_type</code></td> <td>Raids</td> <td>Filter raids by Pokemon type</td> </tr> <tr> <td><code>get_weather_boosted_raids</code></td> <td>Raids</td> <td>Raids boosted by weather conditions</td> </tr> <tr> <td><code>get_raid_recommendations</code></td> <td>Raids</td> <td>Smart raid recommendations based on priorities</td> </tr> <tr> <td><code>get_current_research</code></td> <td>Research</td> <td>All field research tasks and rewards</td> </tr> <tr> <td><code>search_research_by_reward</code></td> <td>Research</td> <td>Find tasks by Pokemon reward</td> </tr> <tr> <td><code>get_research_by_task_type</code></td> <td>Research</td> <td>Filter by task type (catch, battle, spin, etc.)</td> </tr> <tr> <td><code>get_shiny_research_rewards</code></td> <td>Research</td> <td>Tasks with shiny reward potential</td> </tr> <tr> <td><code>get_easy_research_tasks</code></td> <td>Research</td> <td>Quick-completion tasks for efficient farming</td> </tr> <tr> <td><code>search_research_tasks</code></td> <td>Research</td> <td>Search tasks by description</td> </tr> <tr> <td><code>get_research_recommendations</code></td> <td>Research</td> <td>Personalized research task recommendations</td> </tr> <tr> <td><code>get_egg_hatches</code></td> <td>Eggs</td> <td>All Pokemon currently hatching from eggs</td> </tr> <tr> <td><code>get_egg_hatches_by_distance</code></td> <td>Eggs</td> <td>Filter by egg distance (2km, 5km, 10km, etc.)</td> </tr> <tr> <td><code>get_shiny_egg_hatches</code></td> <td>Eggs</td> <td>Shiny-eligible egg Pokemon</td> </tr> <tr> <td><code>search_egg_pokemon</code></td> <td>Eggs</td> <td>Find specific Pokemon in egg pools</td> </tr> <tr> <td><code>get_regional_egg_pokemon</code></td> <td>Eggs</td> <td>Region-exclusive Pokemon from eggs</td> </tr> <tr> <td><code>get_gift_exchange_pokemon</code></td> <td>Eggs</td> <td>7km gift egg Pokemon from friends</td> </tr> <tr> <td><code>get_route_gift_pokemon</code></td> <td>Eggs</td> <td>7km route gift egg Pokemon</td> </tr> <tr> <td><code>get_adventure_sync_rewards</code></td> <td>Eggs</td> <td>Adventure Sync weekly walking rewards</td> </tr> <tr> <td><code>get_egg_recommendations</code></td> <td>Eggs</td> <td>Smart incubation strategy recommendations</td> </tr> <tr> <td><code>get_team_rocket_lineups</code></td> <td>Team Rocket</td> <td>All current Team Rocket trainer lineups</td> </tr> <tr> <td><code>search_rocket_by_pokemon</code></td> <td>Team Rocket</td> <td>Find trainers using specific Pokemon</td> </tr> <tr> <td><code>get_shiny_shadow_pokemon</code></td> <td>Team Rocket</td> <td>All Shadow Pokemon that can be shiny</td> </tr> <tr> <td><code>get_rocket_encounters</code></td> <td>Team Rocket</td> <td>Pokemon available as encounter rewards</td> </tr> <tr> <td><code>get_rocket_trainers_by_type</code></td> <td>Team Rocket</td> <td>Filter trainers by Pokemon type specialty</td> </tr> <tr> <td><code>calculate_pokemon_weakness</code></td> <td>Team Rocket</td> <td>Type effectiveness against Shadow Pokemon</td> </tr> <tr> <td><code>get_rocket_trainer_details</code></td> <td>Team Rocket</td> <td>Detailed information about a specific trainer</td> </tr> <tr> <td><code>get_all_shiny_pokemon</code></td> <td>Cross-Platform</td> <td>All shiny Pokemon across all sources</td> </tr> <tr> <td><code>search_pokemon_everywhere</code></td> <td>Cross-Platform</td> <td>Universal Pokemon search across all data</td> </tr> <tr> <td><code>get_daily_priorities</code></td> <td>Cross-Platform</td> <td>Curated daily activity recommendations</td> </tr> <tr> <td><code>get_server_status</code></td> <td>Cross-Platform</td> <td>Server status and data freshness information</td> </tr> <tr> <td><code>clear_cache</code></td> <td>Cross-Platform</td> <td>Force fresh data retrieval from sources</td> </tr> </table> </div>
<div align="center"> <h2>Example Usage</h2> </div>
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_raidsfor raid targetsget_shiny_research_rewardsfor research tasksget_shiny_egg_hatchesfor egg planningget_route_gift_pokemonfor special route gift opportunitiesget_shiny_shadow_pokemonfor Shadow Pokemon
<div align="center"> <h2>Architecture</h2> </div>
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
<div align="center"> <table> <tr> <th>Component</th> <th>Technology</th> <th>Purpose</th> </tr> <tr> <td><strong>FastMCP</strong></td> <td>MCP Framework</td> <td>Modern MCP server framework for easy tool registration</td> </tr> <tr> <td><strong>Custom Scraper</strong></td> <td>Python</td> <td>Built-in scraper that collects and saves data to local JSON files</td> </tr> <tr> <td><strong>Local Data Client</strong></td> <td>Python</td> <td>Reads data from local JSON files with smart caching</td> </tr> <tr> <td><strong>Type Safety</strong></td> <td>Python Type Hints</td> <td>Full type hints and data validation throughout codebase</td> </tr> <tr> <td><strong>Modular Design</strong></td> <td>Python Modules</td> <td>Separate modules for each data domain (events, raids, etc.)</td> </tr> </table> </div>
<div align="center"> <h2>Development</h2> </div>
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
<div align="center"> <table> <tr> <th>Command</th> <th>Description</th> </tr> <tr> <td><code>pytest</code></td> <td>Run all tests</td> </tr> <tr> <td><code>pytest --cov=pogo_mcp</code></td> <td>Run tests with coverage report</td> </tr> <tr> <td><code>pytest tests/test_events_parsing.py</code></td> <td>Test specific module</td> </tr> </table> </div>
<div align="center"> <h2>License</h2> <p>This project is licensed under the MIT License - see the <a href="LICENSE">LICENSE</a> file for details.</p> </div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。