The Poke-MCP server provides Pokémon information through MCP-compatible tools. You can:
Get detailed information about a specific Pokémon by name
Get a random Pokémon with
random-pokemon
Get a random Pokémon from a specific region (e.g., Kanto, Johto) with
random-pokemon-from-region
Get a random Pokémon of a specific type (e.g., Fire, Water) with
random-pokemon-by-type
Answer natural language Pokémon queries with
pokemon-query
Overview
Poke-MCP is a Model Context Protocol (MCP) server that provides Pokémon information through a standardized interface. It connects to the PokeAPI to fetch Pokémon data and exposes it through MCP tools that can be used by any MCP-compatible client, such as Claude Desktop App, Continue, Cline, and others.
This server now supports HTTP transport using Server-Sent Events (SSE) for real-time communication, making it accessible over HTTP instead of just stdio.
Features
- Get information about specific Pokémon by name
- Discover random Pokémon
- Find random Pokémon from specific regions (Kanto, Johto, Hoenn, etc.)
- Get random Pokémon of specific types (Fire, Water, Electric, etc.)
- Natural language query interface for Pokémon information
How It Works
Poke-MCP is built using the Model Context Protocol, which enables AI applications to access external tools and data sources in a standardized way. The server:
- Connects to the PokeAPI to fetch Pokémon data
- Exposes several tools through the MCP interface
- Processes requests from MCP clients
- Returns formatted Pokémon information
MCP Tools
The server provides the following tools:
- get-pokemon: Get detailed information about a specific Pokémon by name
- random-pokemon: Get information about a random Pokémon
- random-pokemon-from-region: Get a random Pokémon from a specific region
- random-pokemon-by-type: Get a random Pokémon of a specific type
- pokemon-query: Answer natural language queries about Pokémon
Architecture
The server is built using:
- TypeScript
- MCP TypeScript SDK (@modelcontextprotocol/sdk)
- Zod for input validation
- HTTP transport with Server-Sent Events (SSE) for MCP communication
- Node.js built-in HTTP server
Installation
Installing via Smithery
To install Pokémcp for Claude Desktop automatically via Smithery:
Manual Installation
Usage
Running the HTTP Server
To start the server in HTTP mode:
The server will be available at:
- Info endpoint:
http://127.0.0.1:3000/
- Server information and status - SSE endpoint:
http://127.0.0.1:3000/sse
- Server-Sent Events connection for MCP clients - Message endpoint:
http://127.0.0.1:3000/message
- POST endpoint for sending MCP messages
With Claude Desktop App (HTTP Transport)
- Download and install Claude Desktop App
- Open Claude Desktop settings
- Go to Developer settings and edit the config file
- Add the following configuration for HTTP transport:
- Start the Poke-MCP server:
npm start
- Restart Claude Desktop
- You should now see the Pokémon tools available in Claude
Legacy Usage (stdio)
For backward compatibility, you can still run the server with stdio transport by reverting to the stdio implementation.
Example Queries
Once connected to an MCP client, you can ask questions like:
- "Tell me about Pikachu"
- "Give me a random Pokémon"
- "Show me a random Pokémon from Kanto"
- "What's a random Water Pokémon?"
Project Structure
- src/index.ts: Main server implementation
- src/types.ts: TypeScript type definitions for Pokémon data
- package.json: Project dependencies and scripts
- tsconfig.json: TypeScript configuration
Adding New Features
To add new tools or enhance existing ones:
- Define new helper functions to fetch and format data
- Register new tools using the server.tool() method
- Implement the tool logic to handle requests and return responses
License
ISC
Acknowledgments
- PokeAPI for providing the Pokémon data
- Model Context Protocol for the standardized interface
This project demonstrates how to build custom MCP servers that can extend AI assistants with domain-specific knowledge and capabilities.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that provides Pokémon information by connecting to the PokeAPI, enabling users to query detailed Pokémon data, discover random Pokémon, and find Pokémon by region or type.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that interfaces with PokeAPI to provide Pokémon information to LLM applications through JSON-RPC over stdio.Last updated -
- -securityFlicense-qualityAn MCP server implementation that enables users to interact with the PokeAPI to fetch Pokemon information through natural language queries.Last updated -
- -securityAlicense-qualityA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.Last updated -19MIT License
- -securityFlicense-qualityAn 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 updated -1