pokemon-world-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pokemon-world-mcpStart a new game with charmander"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pokémon World MCP
Agent playground: explore a small map, battle and catch real-named Pokémon via MCP tools.
Public URL (planned):
https://poke.vanscoding.comMCP endpoint:
https://poke.vanscoding.com/mcp/(local:http://127.0.0.1:8080/mcp/)Auth: same as vans-mcp —
Authorization: Bearer vcr_sk_...(router Neonapi_keysviaDATABASE_URL) or localMCP_DEV_BYPASS_KEYSaves / catalog: game Neon
POKEMON_DATABASE_URL(pokemon_saves,pokemon_catalog_cache); otherwise local SQLite under$HOME/.pokemon-world-mcp/Catalog cache: if missing or older than 24h (
CATALOG_CACHE_TTL_HOURS), fetch PokéAPI and write the game DB. Fresh cache skips the API. Long-running processes re-check viaensure_fresh. API failure uses in-memory fallback and does not write fallback to DB.
This project is separate from vans-mcp-server (Notion / Calendar / Gmail).
Goal (V1)
Collect 3 different species in your party.
Starter (required): bulbasaur | charmander | squirtle at Lv5.
Related MCP server: PokeMCP
Progression
Exp (official curves): each species has a PokéAPI
growth_rateand cumulative total-exp table (six rates).party.expis total experience.Battle yield: active Pokémon gains
floor(enemy.base_experience × enemy.level / 7)on win or catchLevel-up: when total exp reaches the next level threshold; stats scale with level; may learn moves from the species learnset
Moves: max 4. If a new move is offered while full, resolve with
battle_action(replace_move, forget_move_name=...)orskip_learnbefore exploring/battling againEvolution: automatic at species thresholds (e.g. bulbasaur → ivysaur at 16)
Tools
Tool | When |
| Start / reset save (starter required) |
| Phase, position, party summary, pending learn |
| 3×3 nearby tiles (exploring) |
|
|
| Party details (level, exp, moves) |
| In battle (or pending learn) |
|
|
Tip for student agents: after each tool call, narrate the result to the human before the next action.
Local development
cd C:\Users\mz038\Desktop\peas-agent\pokemon-world-mcp
uv sync --extra dev
$env:MCP_DEV_BYPASS_KEY = "vcr_sk_dev_local_only"
# Optional — router Neon (api_keys):
# $env:DATABASE_URL = "postgresql://..."
# Optional — game Neon (saves + catalog); without this, SQLite is used:
# $env:POKEMON_DATABASE_URL = "postgresql://..."
uv run pokemon-world-mcpWithout POKEMON_DATABASE_URL, player saves and the catalog cache both live in the same SQLite file (%USERPROFILE%\.pokemon-world-mcp\pokemon_world.db, or SQLITE_PATH). Progress survives restarts.
Health:
http://127.0.0.1:8080/health(no key)MCP:
http://127.0.0.1:8080/mcp/with Bearer header
Production on Fly must set both DATABASE_URL (router) and POKEMON_DATABASE_URL (game) — see docs/deploy-fly.md.
Tests
uv run pytestCursor / student Agent config (example)
Point MCP at this server (not mcp.vanscoding.com), same course API key:
{
"mcpServers": {
"pokemon-world": {
"url": "https://poke.vanscoding.com/mcp/",
"headers": {
"Authorization": "Bearer vcr_sk_YOUR_KEY"
}
}
}
}Local:
{
"mcpServers": {
"pokemon-world": {
"url": "http://127.0.0.1:8080/mcp/",
"headers": {
"Authorization": "Bearer vcr_sk_dev_local_only"
}
}
}
}Map notes
10×10 fixed map:
path,grass,water(blocked)~25% encounter chance on grass steps
Wild level ≈ party average ±2 (clamped 2–50)
Wild species by map quadrant (no starters in the wild):
Zone | Coordinates | Pool |
NW | x≤4, y≤4 | pidgey, rattata, jigglypuff |
NE | x≥5, y≤4 | pikachu, meowth, jigglypuff |
SW | x≤4, y≥5 | geodude, meowth, rattata |
SE | x≥5, y≥5 | gastly, geodude, pidgey |
Blackout: return to start, party healed
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server implementation that enables users to interact with the PokeAPI to fetch Pokemon information through natural language queries.Last updated
- FlicenseBqualityDmaintenanceAn MCP server that provides detailed Pokémon information by integrating with the PokeAPI, allowing users to fetch comprehensive data about Pokémon and simulate battles.Last updated22
- Flicense-qualityDmaintenanceAn MCP server that enables AI agents to play Pokémon games by providing a functional interface for game interaction. It allows for seamless integration with AI clients to execute gameplay tasks and manage game states.Last updated3
- Flicense-quality-maintenanceAn AI-powered Gen 1 text RPG MCP server that transforms Pokémon into sentient companions with persistent memory and unique personality traits. It enables users to explore Kanto, engage in authentic battles, and develop deep emotional bonds with their Pokémon through natural language interaction.Last updated
Related MCP Connectors
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mz038197/pokemon-world-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server