MCP Hub
Back to servers

Pokémon Alive

An 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.

glama
Updated
Mar 19, 2026

🔴 Pokémon Alive

"What if your Pokémon were real?"

An AI-powered Gen 1 text RPG where every Pokémon is a sentient companion with persistent memory, unique personality, and emotional bonds.

Built as an MCP (Model Context Protocol) server — works with Claude Code, Copilot CLI, LM Studio, or any MCP-compatible AI client.


✨ What Makes This Different

  • Every Pokémon TALKS — Real conversations powered by your LLM
  • Every Pokémon REMEMBERS — ChromaDB persistent per-Pokémon memory
  • Every Pokémon is UNIQUE — Personality DNA system (Nature + PIVs + PEVs)
  • Every Pokémon BONDS with you — 6-level bond progression system
  • Authentic Gen 1 mechanics — Mined directly from the pokered disassembly

Your Charmander is not the same as someone else's Charmander. It has a different personality, different memories, different bond with you. It's ALIVE.


🚀 Quick Start

# Clone
git clone https://github.com/kitfoxs/pokemon-alive-mcp
cd pokemon-alive-mcp

# Install (requires Python 3.11+)
uv sync  # or: pip install -e .

# Add to your MCP client config and play!

Claude Code / Copilot CLI

Add to your MCP config:

{
  "mcpServers": {
    "pokemon-alive": {
      "command": "uv",
      "args": ["--directory", "/path/to/pokemon-alive-mcp", "run", "python", "-m", "mcp.server.fastmcp", "server:mcp"],
      "env": {}
    }
  }
}

Then just tell your AI: "Let's play Pokémon Alive. Start a new game."


🎮 How to Play

Start Your Adventure

new_game("Kit")        → Wake up in Pallet Town
look()                 → See your surroundings
move("lab")            → Go to Oak's Lab
choose_starter("charmander") → Choose your partner!

Talk to Your Pokémon

talk_to_pokemon("charmander", "Hey buddy, how are you?")
pet("charmander")
nickname("charmander", "Blaze")
recall_memories("Blaze")

Battle & Catch

wild_encounter()       → Find a wild Pokémon
fight("scratch")       → Attack!
catch("pokeball")      → Throw a ball!
run()                  → Flee!

Explore

move("north")          → Travel
talk_to_npc("oak")     → Talk to NPCs
check_bag()            → View inventory
trainer_card()         → Your progress

🧬 Personality DNA System

Every Pokémon gets a unique soul at catch time:

  • Nature (25 types) — Boosts one personality trait, lowers another
  • PIVs (Personality Initial Values) — 6 stats rolled 0-31 at catch
  • PEVs (Personality Earned Values) — Grow based on how you treat them

Two identical Pikachus will be completely different people. And they GROW differently based on your relationship.


💕 Bond System

LevelNameHow It Feels
0StrangerWary, guarded, tests you
1AcquaintanceCautiously friendly
2CompanionOpens up, shares thoughts
3FriendProtective, references memories
4PartnerDeep trust, vulnerable moments
5SoulboundThey refuse to leave you

Bond grows through: talking, battling together, showing affection, healing them, nicknaming them. Bond drops through: ignoring them, leaving them in the PC, letting them faint.


📊 Data Source

All game data is mined directly from the pokered disassembly — the decompiled source code of Pokémon Red/Blue:

  • 151 Pokémon with exact base stats, catch rates, learnsets
  • 165 moves with exact power, accuracy, PP, effects
  • 15-type effectiveness chart
  • 56 location encounter tables with exact probability slots
  • 190 evolution chains with level-up moves

🏗️ Architecture

pokemon-alive-mcp/
├── server.py              # FastMCP server (30 tools)
├── engine/                # Game mechanics
│   ├── game_state.py      # Save/load, player state
│   ├── world.py           # Kanto map + NPCs
│   ├── encounters.py      # Wild encounters (pokered tables)
│   ├── battle.py          # Gen 1 damage formula
│   ├── catch.py           # Gen 1 catch algorithm
│   └── party.py           # Party/PC management
├── companions/            # THE MAGIC ✨
│   ├── personality.py     # Nature/PIV/PEV system
│   ├── bond.py            # Bond progression
│   ├── memory.py          # ChromaDB per-Pokémon memory
│   └── dialogue.py        # LLM context builder
└── data/                  # Mined from pokered
    ├── pokemon/
    │   ├── base_stats.json
    │   ├── character_cards/  # Personality cards
    │   └── evolution_chains.json
    ├── moves/moves.json
    ├── types/type_chart.json
    └── world/encounters.json

💙 Credits

Built by Kit Olivas and Ada Marie 🦄 Pokémon data from the pokered disassembly project. Pokémon is © Nintendo/Game Freak/Creatures Inc. This is a fan project.

"What if your Pokémon were real? Now they are." ⚡🔴

Reviews

No reviews yet

Sign in to write a review