home / mcp / pokemon mcp server
Pokemon MCP (Model Context Protocol) system - A monorepo with MCP server and data ingestion service for Pokemon data
Configuration
View docs{
"mcpServers": {
"grovesjosephn-pokemcp": {
"url": "https://example-mcp/pokemon",
"headers": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}You run a dedicated MCP server that serves Pokemon data through a set of standardized tools. It stores complete Pokemon data locally and can ingest fresh data from external sources, providing fast, consistent access for clients and explorers alike.
You connect to the server using an MCP client or inspector to access available tools. The server exposes a set of endpoints that let you fetch details for a specific Pokemon, search by name or type, compare Pokemon stats, and understand type effectiveness. Use the client’s standard MCP workflow to locate the Pokemon data, run a search, or compare two Pokemon side by side. The server reads data from a local SQLite database and responds with structured Pokemon information that includes stats, types, abilities, and more.
Prerequisites you need before installing: Node.js 18 or newer, PNPM, and Git. You will clone the project, install dependencies, set up the local database, and build all packages before starting the server.
# Prerequisites
node -v
pnpm -v
git --version
# Clone the repository
git clone https://github.com/grovesjosephn/pokemcp.git
cd pokemcp
# Install dependencies
pnpm install
# Set up the database
./scripts/setup.sh
# Build all packages
pnpm buildData ingestion runs separately to populate the SQLite database from PokeAPI. Start the ingestion service when you want to refresh or repopulate data in the database.
# Run data ingestion (separate process)
cd packages/pokemon-mcp-ingestion
pnpm startYou can integrate the Pokemon MCP Server with Claude Desktop using one of the supported methods. The recommended approach is to install the server package globally after building, then point Claude to the executable with an environment variable for the data directory.
Option 1: NPM Package (Recommended) sets up a global executable and configures Claude to run it.
Option 2 and Option 3 provide alternatives to run the server directly or in development mode with explicit command configurations.
Fetch detailed information for a specific Pokemon by name or ID, returning base data such as stats, types, and abilities.
Search Pokemon by name, type, or other criteria, returning a list of matching Pokemon with key attributes.
Identify the strongest Pokemon based on selected stats and criteria.
Retrieve detailed statistics for a given Pokemon, including HP, Attack, Defense, and more.
Compare stats and attributes between two Pokemon to highlight where one outperforms the other.
Provide type effectiveness data showing how Pokemon types interact in battles.