PokeMCP Server - Pokémon Server with Model Context Protocol (MCP)
@GuillermoRuizDev
Project MCP Server about PokeApi
Overview
What is PokeMCP Server?
PokeMCP Server is a server that provides Pokémon-related functionalities using the Model Context Protocol (MCP). It allows querying information about Pokémon via the PokeAPI, calculating battle outcomes, and estimating shiny Pokémon encounter probabilities. The project is built on Clean Architecture principles and is intended for developers integrating Pokémon data into MCP-compatible applications.
How to use PokeMCP Server?
Clone the repository, restore dependencies with dotnet restore, and build the project. Run the application in development mode via dotnet run --project PokeMCP – it will listen on HTTP (localhost:3002) and HTTPS (localhost:7133). To connect from an MCP client, add the following to your mcp.json file:
{"servers": {"pokeapi-mcp-server": {"type": "sse", "url": "http://localhost:3002/sse"}}}
Key features of PokeMCP Server
- Retrieve detailed Pokémon information through the PokeAPI
- Calculate battle results between two Pokémon
- Estimate shiny Pokémon encounter probabilities
- Architecture follows Clean Architecture principles
- Exposes functionality via MCP protocol (SSE transport)
- Fully implemented in .NET 9
Use cases of PokeMCP Server
- Query any Pokémon’s stats, abilities, types, and more
- Simulate a battle between two Pokémon to see who would win
- Estimate the likelihood of encountering a shiny Pokémon given encounters and shiny charm
- Embed Pokémon logic into AI assistants or chatbots via MCP integration
- Rapidly prototype Pokémon-related tools using a standardized protocol
FAQ from PokeMCP Server
What tools does PokeMCP Server expose?
It exposes GetPokemonInfo(pokemonName) via PokeApiTool, GetBattleResult(attacker, defender) and ProbabilityFindingShiny(encounters, hasShinyCharm) via PokeFunctionsTool.
What are the runtime requirements?
You need .NET 9 and an active internet connection to access the PokeAPI.
How do I integrate PokeMCP Server with an MCP client?
Connect via SSE by adding the server’s URL (http://localhost:3002/sse) to the client’s mcp.json configuration.
Where does the Pokémon data come from?
All data is retrieved in real-time from the public PokeAPI. No local data store is used.
What is the default transport and authentication?
The server uses SSE (Server-Sent Events) for transport. No authentication is configured by default; it runs locally in development mode.