Sujal-py3/Real-time-battle-simulation---MCP-Claude
3.2
If you are the rightful owner of Real-time-battle-simulation---MCP-Claude and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Pokémon Battle Simulation MCP Server is a minimal server that provides Pokémon data from PokeAPI and a simple battle simulator, including type effectiveness and status effects.
Tools
4
Resources
0
Prompts
0
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
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