Skip to main content
Glama
PokeAPI MCP Server

PokeAPI MCP Server

by Asthanaji05

PokeAPI MCP Server

npm version MCP Server License: ISC

Empower your AI with Pokédex powers! Fetch and explore Pokémon data seamlessly via PokeAPI.

Server: io.github.Asthanaji05/pokeapi-mcp-server
npm package: pokeapi-mcp-server

This project provides a Model Context Protocol (MCP) Server that enables Large Language Models (LLMs) to make tool calls for Pokémon-related data. It integrates with the PokeAPI to offer access to 47 different Pokémon-related endpoints.

Project Overview

The PokeAPI MCP Server acts as a bridge, allowing AI assistants to fetch and utilize comprehensive Pokémon data directly from the PokeAPI. This facilitates the development of intelligent applications that require accurate and up-to-date information about Pokémon, moves, items, game mechanics, and more.

Related MCP server: Pokémon MCP Server

Available Tools

The server provides 47 Pokémon-related tools, covering a wide range of data:

  • Pokémon Data: getPokemonByName, getPokemonSpeciesByName, getPokemonFormByName, getPokemonColorByName, getPokemonHabitatByName, getPokemonShapeByName.

  • Moves: getMoveByName, getMoveCategoryByName, getMoveDamageClassByName, getMoveAilmentByName, getMoveBattleStyleByName, getMoveLearnMethodByName, getMoveTargetByName.

  • Items: getItemByName, getItemCategoryByName, getItemAttributeByName, getItemFlingEffectByName, getItemPocketByName.

  • Game Mechanics: getTypeByName, getStatByName, getAbilityByName, getGrowthRateByName, getNatureByName, getEggGroupByName, getGenerationByName, getVersionByName, getVersionGroupByName, getPokedexByName, getLanguageByName.

  • Encounters: getLocationByName, getLocationAreaByName, getEncounterMethodByName, getEncounterConditionByName, getEncounterConditionValueByName.

  • Berries: getBerryByName, getBerryFirmnessByName, getBerryFlavorByName.

  • Contests: getContestTypeByName, getContestEffectById, getSuperContestEffectById.

  • Evolution: getEvolutionChainById, getEvolutionTriggerByName.

  • Other: getCharacteristicById, getMachineById, getPalParkAreaByName, getPokeathlonStatByName, getRegionByName.

🚀 Installation

Global Installation

npm install -g pokeapi-mcp-server

⚙️ Configuration

After installation, add the server to your MCP client configuration:

For Claude Desktop

Add to Claude>claude_desktop_config.json

{
  "mcpServers": {
    "pokemon-mcp-server": {
      "command": "npx",
      "args": [
        "pokeapi-mcp-server@1.4.0"
      ]
    }
  }
}

image

For Cursor IDE

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "pokemon-mcp-server": {
      "command": "npx",
      "args": [
        "pokeapi-mcp-server@1.4.0"
      ]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "pokemon-mcp-server": {
      "command": "npx",
      "args": [
        "pokeapi-mcp-server@1.4.0"
      ]
    }
  }
}

image

For Gemini CLI

Add to .gemini/settings.json:

{
  "mcpServers": {
    "pokemon-mcp-server": {
      "command": "npx",
      "args": [
        "--yes",
        "pokeapi-mcp-server@1.4.0"
      ],
      "transport": "stdio",
      "trust": true,
      "env": {
        "MCP_HTTP_SERVER_URL": "https://pokemon-mcp-server-vs8m.onrender.com"
      }
    }
  }
}

image

image

image

Note: The env section ensures the MCP server connects to the correct HTTP server. The remote server at https://pokemon-mcp-server-vs8m.onrender.com is available by default. If you're running a local HTTP server on port 3000, change the URL to http://localhost:3000. Restart Cursor IDE or Gemini CLI after updating the configuration to load the MCP server.


Made with ❤️ by Asthanaji05

Available Tools

47 tools
getAbilityByNameB

Get information about an ability by its name.

Inputs: name (required).

getBerryByNameB

Get information about a berry by its name.

Inputs: name (required).

getBerryFirmnessByNameA

Get information about a berry firmness by its name.

Inputs: name (required).

getBerryFlavorByNameB

Get information about a berry flavor by its name.

Inputs: name (required).

getCharacteristicByIdB

Get information about a characteristic by its ID.

Inputs: id (required).

getContestEffectByIdC

Get information about a contest effect by its ID.

Inputs: id (required).

getContestTypeByNameA

Get information about a contest type by its name.

Inputs: name (required).

getEggGroupByNameA

Get information about an egg group by its name.

Inputs: name (required).

getEncounterConditionByNameC

Get information about an encounter condition by its name.

Inputs: name (required).

getEncounterConditionValueByNameC

Get information about an encounter condition value by its name.

Inputs: name (required).

getEncounterMethodByNameB

Get information about an encounter method by its name.

Inputs: name (required).

getEvolutionChainByIdA

Get information about an evolution chain by its ID.

Inputs: id (required).

getEvolutionTriggerByNameC

Get information about an evolution trigger by its name.

Inputs: name (required).

getGenerationByNameC

Get information about a generation by its name.

Inputs: name (required).

getGrowthRateByNameC

Get information about a growth rate by its name.

Inputs: name (required).

getItemAttributeByNameC

Get information about an item attribute by its name.

Inputs: name (required).

getItemByNameC

Get information about an item by its name.

Inputs: name (required).

getItemCategoryByNameA

Get information about an item category by its name.

Inputs: name (required).

getItemFlingEffectByNameB

Get information about an item fling effect by its name.

Inputs: name (required).

getItemPocketByNameB

Get information about an item pocket by its name.

Inputs: name (required).

getLanguageByNameC

Get information about a language by its name.

Inputs: name (required).

getLocationAreaByNameB

Get information about a location area by its name.

Inputs: name (required).

getLocationByNameB

Get information about a location by its name.

Inputs: name (required).

getMachineByIdB

Get information about a machine by its ID.

Inputs: id (required).

getMoveAilmentByNameB

Get information about a move ailment by its name.

Inputs: name (required).

getMoveBattleStyleByNameC

Get information about a move battle style by its name.

Inputs: name (required).

getMoveByNameC

Get information about a move by its name.

Inputs: name (required).

getMoveCategoryByNameB

Get information about a move category by its name.

Inputs: name (required).

getMoveDamageClassByNameB

Get information about a move damage class by its name.

Inputs: name (required).

getMoveLearnMethodByNameA

Get information about a move learn method by its name.

Inputs: name (required).

getMoveTargetByNameC

Get information about a move target by its name.

Inputs: name (required).

getNatureByNameC

Get information about a nature by its name.

Inputs: name (required).

getPalParkAreaByNameC

Get information about a pal park area by its name.

Inputs: name (required).

getPokeathlonStatByNameB

Get information about a pokeathlon stat by its name.

Inputs: name (required).

getPokedexByNameB

Get information about a pokedex by its name.

Inputs: name (required).

getPokemonByNameB

Get information about a Pokemon by its name.

Inputs: name (required).

getPokemonColorByNameB

Get information about a pokemon color by its name.

Inputs: name (required).

getPokemonFormByNameB

Get information about a pokemon form by its name.

Inputs: name (required).

getPokemonHabitatByNameB

Get information about a pokemon habitat by its name.

Inputs: name (required).

getPokemonShapeByNameB

Get information about a pokemon shape by its name.

Inputs: name (required).

getPokemonSpeciesByNameC

Get information about a pokemon species by its name.

Inputs: name (required).

getRegionByNameB

Get information about a region by its name.

Inputs: name (required).

getStatByNameB

Get information about a stat by its name.

Inputs: name (required).

getSuperContestEffectByIdC

Get information about a super contest effect by its ID.

Inputs: id (required).

getTypeByNameB

Get information about a type by its name.

Inputs: name (required).

getVersionByNameA

Get information about a version by its name.

Inputs: name (required).

getVersionGroupByNameC

Get information about a version group by its name.

Inputs: name (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 47 tools

    Disambiguation5/5

    Each tool targets a distinct Pokemon entity type (ability, berry, etc.), with no overlap in purpose. An agent can clearly differentiate them.

    Naming Consistency5/5

    All tools follow a strict 'getXByName' or 'getXById' pattern, ensuring predictable and uniform naming.

    Tool Count3/5

    With 47 tools, the server is quite heavy. While it covers many entity types, the count is high for a typical MCP server and may overwhelm agents, though it is scoped to a single domain.

    Completeness3/5

    The server provides read-only access to a wide range of Pokemon data, but lacks listing, search, or mutation capabilities. This limits its completeness for dynamic workflows.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables users to access comprehensive Pokemon data through the PokeAPI, including Pokemon stats, types, descriptions, move details, and complete evolution chains. Allows Claude to answer Pokemon-related questions with detailed information about any Pokemon, their abilities, and evolutionary relationships.
      1
      17 npm
      ISC
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI models to access comprehensive Pokémon data from PokéAPI and simulate battles between any two Pokémon with realistic mechanics including type effectiveness, stat-based damage calculations, and status effects.
      1
      -
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to access comprehensive Pokémon data through PokeAPI, including detailed Pokémon information, type effectiveness charts, encounter locations, and search capabilities. Provides a complete toolkit for retrieving stats, abilities, sprites, battle mechanics, and wild encounter data for all Pokémon.
      4
      212 npm
      1
      MIT