home / mcp / pokeapi mcp server

PokeAPI MCP Server

Provides an MCP server that fetches Pokémon data from PokeAPI across 47 endpoints for AI tool calls.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "asthanaji05-mcp_pokemon": {
      "url": "https://pokemon-mcp-server-vs8m.onrender.com",
      "headers": {
        "MCP_HTTP_SERVER_URL": "https://pokemon-mcp-server-vs8m.onrender.com"
      }
    }
  }
}

You can empower your AI with direct access to Pokémon data by running the PokeAPI MCP Server. This MCP server acts as a bridge to fetch and expose Pokémon data from PokeAPI through many predefined tools, enabling AI assistants to call specific endpoints and retrieve up-to-date information about Pokémon, moves, items, and more.

How to use

To use this MCP server, connect it to your MCP client as either an HTTP endpoint or a local stdio server. You can then invoke any of the available tools by name to fetch Pokémon data, learn about game mechanics, or retrieve specific resources such as moves, items, regions, and encounters.

How to install

Prerequisites: ensure you have Node.js installed on your system. You will also use a package runner such as npm or npx to run the MCP server.

# Global installation (optional if you plan to run via npx)
npm install -g pokeapi-mcp-server

Additional sections

Configuration notes: you can connect the MCP server to your client using either a remote HTTP URL or by running the server locally as a stdio process. If you use a remote HTTP URL, provide that URL to your MCP client, and if you run locally, execute the stdio command and ensure MCP_HTTP_SERVER_URL is set to the remote HTTP server URL if required by your setup.

Security: limit access to the MCP server to trusted clients and consider using proper authentication if your environment requires it. Do not expose the MCP server to untrusted networks without appropriate safeguards.

Available tools

getPokemonByName

Fetches Pokémon data by name from the PokeAPI, returning core details such as id, name, types, height, weight, and more.

getPokemonSpeciesByName

Retrieves Pokémon species information by name, including evolution chains, flavor texts, and habitat data.

getPokemonFormByName

Returns specific Pokémon form details by name, including variations and form-related attributes.

getPokemonColorByName

Gets color category information for a Pokémon, useful for classification and UI theming.

getPokemonHabitatByName

Provides habitat details for a Pokémon, including habitat name and related descriptions.

getPokemonShapeByName

Fetches the shape classification for a Pokémon, which influences appearance and grouping.

getMoveByName

Retrieves data about a Pokémon move by name, including power, accuracy, type, and effects.

getMoveCategoryByName

Returns the category information for a move, such as physical or special.

getMoveDamageClassByName

Gets the damage class (physical, special, or status) of a move by name.

getMoveAilmentByName

Fetches any ailment association for a move, describing status effects it can cause.

getMoveBattleStyleByName

Provides the battle style classification for a move, such as physical or special interactions.

getMoveLearnMethodByName

Returns how a move is learned (level-up, TM, tutor) by name.

getMoveTargetByName

Gives the target information for a move, such as user, opponent, or other targets.

getItemByName

Fetches item data by name, including effects, category, and attributes.

getItemCategoryByName

Retrieves the category information for an item.

getItemAttributeByName

Gets specific attributes associated with an item, such as potency or effect type.

getItemFlingEffectByName

Returns the fling effect information for items that have a fling mechanic.

getItemPocketByName

Provides the item pocket classification where an item is stored in inventory.

getTypeByName

Fetches a game mechanic type by name, including weaknesses, resistances, and interactions.

getStatByName

Retrieves base stats by name, useful for understanding Pokémon performance metrics.

getAbilityByName

Returns ability details by name, including effects and flavor text.

getGrowthRateByName

Provides growth rate information for experience calculations and leveling.

getNatureByName

Fetches nature data, which affects growth and stat modifiers.

getEggGroupByName

Gets the egg group classification for a Pokémon, informing breeding compatibility.

getGenerationByName

Retrieves generation-specific data and meta information by name.

getVersionByName

Returns version information for game releases by name.

getVersionGroupByName

Provides version group data, aggregating versions into groups.

getPokedexByName

Fetches Pokedex data by name, including entries and regional variations.

getLanguageByName

Gets language metadata used in descriptions and localization.

getLocationByName

Fetches location data by name for encounters and gameplay context.

getLocationAreaByName

Provides location area details by name.

getEncounterMethodByName

Retrieves encounter method information used in wild encounters.

getEncounterConditionByName

Returns encounter condition data for specific in-game scenarios.

getEncounterConditionValueByName

Gives details for condition values that affect encounters.

getBerryByName

Fetches berry data by name, including growth, flavor, and effects.

getBerryFirmnessByName

Provides firmness classification for berries.

getBerryFlavorByName

Gets flavor data associated with berries.

getContestTypeByName

Retrieves contest type information used in contest mechanics.

getContestEffectById

Returns contest effect details by identifier.

getSuperContestEffectById

Provides advanced contest effect data relevant to Super Contests.

getEvolutionChainById

Fetches Pokémon evolution chain data by its identifier.

getEvolutionTriggerByName

Gets evolution trigger details by name, describing what initiates evolution.

getCharacteristicById

Returns a Pokémon characteristic by identifier.

getMachineById

Provides TM/HM machine data by identifier, describing moves learned.

getPalParkAreaByName

Retrieves Pal Park area information for specific regions.

getPokeathlonStatByName

Fetches Pokeathlon stat data by name for competitive metrics.

getRegionByName

Gets regional data by name, including locales and related content.