{"id":"e8a1c543-2221-4c87-890d-6ca5f46b2380","slug":"poke-wars","kind":"mcp","name":"Poke-wars","summary":"A modular MCP server to fetch Pokemon stats and simulate battles","owner":"GunjanKaur20","repoUrl":"https://github.com/GunjanKaur20/Poke-wars","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2025-08-29T10:54:07.000Z","addedAt":"2026-10-21T15:50:08.767Z","logoUrl":"https://avatars.githubusercontent.com/u/205433578?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["browser-web","cloud-infra"],"tags":["api","backend","battle","fastapi","ga","game-development","pokemon","project"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T15:25:05.578Z","sample":false,"url":"https://conduits.dev/tools/poke-wars","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# 🐉 Pokémon Battle Simulation MCP Server\n\n> A **FastAPI-based MCP (Model Context Protocol)** server that powers Pokémon battle simulations with strategy, status effects, and real-time battle logic — built for hackathons, AI integrations, and gaming experiments.\n\n---\n\n## 📖 Overview\n\nThis project is an **MCP-compatible server** that allows clients (like Claude Desktop or custom MCP clients) to:\n- Fetch detailed Pokémon data  \n- Simulate turn-by-turn Pokémon battles  \n- Apply **status effects** like Burn, Poison, and Paralysis  \n- Retrieve **battle strategies, status updates, and move sets** dynamically  \n\nThe backend is built with **FastAPI** and exposes REST endpoints for direct use, while the MCP server allows AI tools to query it as a resource.\n\n---\n\n## ✨ Features\n\n- 🎮 **Battle Simulation**: Turn-based Pokémon battles with realistic mechanics  \n- ⚡ **Status Effects**: Burn, Poison, Paralysis with impact on health and moves  \n- 🧠 **Strategy Engine**: AI-assisted move recommendations  \n- 🔌 **MCP Protocol Support**: Easily integrates with Claude Desktop & other MCP clients  \n- 📡 **REST API Endpoints**: Accessible via HTTP for quick testing  \n- 🧪 **Test Scripts**: Automated testing with `test_battle.py`  \n- 🛠 **Hackathon-Ready**: Modular and easy to extend  \n\n---\n\n## 🛠 Tech Stack\n\n- **Language**: Python 3.10+  \n- **Framework**: FastAPI  \n- **MCP Integration**: [Model Context Protocol](https://modelcontextprotocol.io/)  \n- **Testing**: `pytest`, REST Client (`battle.http`)  \n- **Other Tools**: `uvicorn` for ASGI serving\n\n---\n\n## 📂 Project Structure\n\n├── api.py            # FastAPI app & API routes\n├── mcp_tool.py       # MCP tool definitions\n├── mcp_resources.py  # MCP resource definitions\n├── engine.py         # Battle logic & status effect handling\n├── test_battle.py    # Automated tests\n├── battle.http       # REST Client test requests\n├── requirements.txt  # Dependencies\n└── README.md         # Project documentation\n\n\n## 🚀 Getting Started\n\n### 1️⃣ Clone the Repository\n\ngit clone https://github.com/GunjanKaur20/pokemon-battle-mcp.git\ncd pokemon-battle-mcp\n\n2️⃣ Install Dependencies\npip install -r requirements.txt\n\n3️⃣ Run the Server\nuvicorn api:app --reload\nThe API will be available at:\n\narduino\nhttp://localhost:8000\n\n4️⃣ (Optional) Run as MCP Server\npython mcp_tool.py\nThis will start the MCP server so it can be used in tools like Claude Desktop.\n\n **Get the Swagger UI at http://127.0.0.1:8000/docs**\n \n🔗 API Endpoints\n\n📜 Get Pokémon Info\nGET /pokemon/{name}\nExample: GET /pokemon/pikachu\n\n⚔️ Simulate Battle\n\nPOST /battle/simulate\nQuery Parameters:\n- pokemon1 (str) — First Pokémon name\n- pokemon2 (str) — Second Pokémon name\n- status1  (optional) — Status effect for Pokémon 1 (burn, poison, paralysis)\n- status2  (optional) — Status effect for Pokémon 2 (burn, poison, paralysis)\n\nExample:\nPOST /battle/simulate?pokemon1=pikachu&pokemon2=squirtle&status1=paralysis&status2=poison\n\n🧠 Get Battle Strategy\n\nGET /battle/strategy/{pokemon}\nExample: GET /battle/strategy/pikachu\n\n💪 Get Status\n\nGET /battle/status/{pokemon}\n\n🌀 Get Available Moves\n\nGET /battle/moves/{pokemon}\n\n📋 Example battle.http (VS Code REST Client)\n\n### Get Pokémon Info\nGET http://localhost:8000/pokemon/pikachu\nAccept: application/json\n\n### Simulate Battle\nPOST http://localhost:8000/battle/simulate?pokemon1=pikachu&pokemon2=squirtle&status1=paralysis&status2=poison\nAccept: application/json\n\n### Get Battle Strategy\nGET http://localhost:8000/battle/strategy/pikachu\nAccept: application/json\n\n🧪 Running Tests\n\npytest test_battle.py\n\n🤝 Contributing\nContributions are welcome!\nFeel free to:\n\nSubmit PRs for bug fixes or new features\n\nOpen issues for feature requests or improvements\n\n📜 License\nThis project is licensed under the MIT License — see LICENSE for details.\n\n📣 Credits\nBuilt with ❤️ by Gunjan Kaur for learning, hackathons, and MCP experimentation.\nPokémon data and mechanics are for educational purposes only and not affiliated with Nintendo/Game Freak.\n"}