Skip to main content
Glama

Pokemon MCP Server

by Pablo-Davila

Pokemon MCP Server

An MCP (Model Context Protocol) server built with FastMCP that provides Pokemon information including height, weight, and types.

Features

  • Get Pokemon information by name or ID

  • Get random Pokemon by type

  • Compare two Pokemon side-by-side (Prompt)

  • No API keys required (uses free PokeAPI)

  • Provides height, weight, types, and base stats for any Pokemon

Installation

Option 1: Local Installation

  1. Install dependencies:

pip install -r requirements.txt

Option 2: Docker

Build and run using Docker:

# Build the Docker image docker build -t pokemon-mcp-server . # Run the container docker run -it pokemon-mcp-server

Usage

Local

Run the MCP server:

python pokemon_server.py

Docker

The Docker container runs the server automatically when started. The server communicates via stdin/stdout as per MCP protocol.

API

get_pokemon(pokemon_name: str)

Get Pokemon information for a specified Pokemon by name or ID.

Parameters:

  • pokemon_name (str): The name or ID of the Pokemon to look up (case-insensitive)

Returns:

  • Formatted string with Pokemon information including:

    • Pokemon ID

    • Height (in meters and centimeters)

    • Weight (in kilograms)

    • Types

Example:

get_pokemon("pikachu") get_pokemon("charizard") get_pokemon("25") # Can also use ID

get_random_pokemons_by_type(type_name: str, n: int = 5)

Get n random Pokemon of a specified type.

Parameters:

  • type_name (str): The type name (e.g., "fire", "water", "grass", "electric", etc.)

  • n (int): Number of random Pokemon to return (default: 5)

Returns:

  • JSON string containing a list of Pokemon names of the specified type

Example:

get_random_pokemons_by_type("fire", 10) get_random_pokemons_by_type("water")

Prompts

compare_pokemon(pokemon1_name: str, pokemon2_name: str)

Compare two Pokemon based on their stats, types, and characteristics.

Parameters:

  • pokemon1_name (str): The name or ID of the first Pokemon

  • pokemon2_name (str): The name or ID of the second Pokemon

Returns:

  • Formatted comparison string including:

    • Basic information (ID, height, weight, types) for both Pokemon

    • Base stats comparison (HP, Attack, Defense, Special Attack, Special Defense, Speed)

    • Total base stats comparison

    • Summary analysis

Example:

compare_pokemon("pikachu", "charizard") compare_pokemon("25", "6") # Can also use IDs

How It Works

  1. The server queries the PokeAPI endpoint: https://pokeapi.co/api/v2/pokemon/{name}/

  2. Extracts height, weight, and types from the response

  3. Converts height from decimeters to meters/centimeters and weight from hectograms to kilograms

  4. Formats and returns the Pokemon information to the client

Dependencies

  • fastmcp: FastMCP framework for building MCP servers

  • requests: HTTP library for making API requests

API Reference

The server uses the PokeAPI which is free and doesn't require authentication.

-
security - not tested
F
license - not found
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pablo-Davila/pokemon-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server