Skip to main content
Glama
Sujal-py3

Pokémon Battle Simulation MCP Server

by Sujal-py3

Pokémon Battle Simulation – MCP Server

Minimal MCP server exposing:

  • Pokémon data from PokeAPI

  • A simple battle simulator (type effectiveness, status effects, logs)

This document explains install, run, Claude Desktop setup, and how to test.

MCP architecture (overview)

flowchart LR
  subgraph Client[Claude Desktop]
    UI[User prompt]
    MCPClient[MCP client]
  end

  subgraph Server[MCP Pokémon Server]
    Tools[Tools]
    Resources[Resources]
    Engine[BattleEngine]
    API[PokeAPI Client]
  end

  subgraph PokeAPI[PokeAPI]
    DS[(Types\nMoves\nPokémon)]
  end

  UI --> MCPClient
  MCPClient <--> |stdio JSON-RPC| Server
  Server --> Resources
  Server --> Tools
  Tools --> Engine
  Engine --> API
  Resources --> API
  API --> |HTTPS| DS

Related MCP server: Pokémon MCP Server

Prerequisites

  • Node.js 18+ on Windows (recommended via nvm-windows or nodejs.org installer)

  • Internet access (for PokeAPI and first-time dependency install)

  • Claude Desktop installed

Project structure

mcp-pokemon/
├── src/
│   ├── server/            # MCP server (registers resources + tools)
│   ├── data_layer/        # PokeAPI client + caching
│   ├── battle/            # battle engine
│   └── schemas/           # TypeScript interfaces
├── scripts/
│   └── ingest_pokeapi.ts  # optional: pre-fetch data to local JSON
├── data/                  # generated by ingestion (optional)
├── dist/                  # compiled JS
├── package.json
└── tsconfig.json

1) Install

npm install

2) Build

npm run build

This compiles TypeScript to dist/.

3) Run the server (pick one)

  • Development (tsx + TypeScript):

npm run dev
  • Production (compiled JS):

node dist/server/index.js

Expected output: Pokémon MCP Server running on stdio.

4) Configure Claude Desktop (Windows)

Edit the file:

C:\Users\<YourUser>\AppData\Roaming\Claude\claude_desktop_config.json

Add this entry (adjust paths if needed):

{
  "mcpServers": {
    "pokemon": {
      "command": "node",
      "args": ["C:\\Users\\Sujal\\mcp-pokemon\\dist\\server\\index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

Notes:

  • Dev alternative: "command": "npx", "args": ["tsx", "src/server/index.ts"].

  • Restart Claude Desktop after editing the config.

5) Optional: Pre-fetch data

Downloads type effectiveness, popular moves, and Gen‑1 Pokémon to data/.

npm run ingest

6) Use from Claude

Example prompts:

  • List the available MCP tools

  • Get detailed information about Pikachu

  • Search for Pokémon with “char” in the name

  • Tell me about the move “thunderbolt”

  • Simulate a battle between Charizard and Blastoise at level 50

Tools:

  • get_pokemon(identifier: string)

  • search_pokemon(query: string)

  • get_move(moveName: string)

  • simulate_battle(pokemon1: string, pokemon2: string, level1?: number, level2?: number)

Resource:

  • pokemon://data – metadata and usage help for the Pokémon data resource

Troubleshooting

  • If Claude shows “Server disconnected”, open logs: “Open Logs Folder” → mcp-server-pokemon.log.

  • Ensure the config path points to the absolute dist/server/index.js.

  • Rebuild after edits: npm run build.

  • Manual test: node dist/server/index.js (expect stdio banner, no errors).

Uninstall / clean

# remove build output
rd /s /q dist

# remove downloaded data (if created by ingest)
rd /s /q data

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/Sujal-py3/Real-time-battle-simulation---MCP-Claude'

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