- Home
- MCP servers
- PokeAPI
PokeAPI
- javascript
1
GitHub Stars
javascript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
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.