mcpoke-server
MCPoke Server is an MCP server integrating with the Pokémon API to enhance the capabilities of AI assistants like Claude Desktop. It provides detailed Pokémon information, search, comparison, and ability details alongside caching and real-time debugging support to improve user interactions on Pokémon topics.
MCPoke Server for Claude Desktop
MCPoke Server is a Model Context Protocol (MCP) server that connects to the Pokémon API, enabling Claude and other AI assistants to access comprehensive Pokémon information. This implementation provides integration with Claude Desktop to enhance conversations about Pokémon.
Features
- 🔍 Detailed Pokémon Information: Get complete data for any Pokémon
- 🔎 Pokémon Search: Find Pokémon by name
- ⚔️ Type Information: Get type effectiveness and damage relationships
- 💥 Move Details: Look up move stats, effects, and properties
- ✨ Ability Information: Get ability descriptions and Pokémon that have them
- 📊 Pokémon Comparison: Compare multiple Pokémon side by side
- 🧮 Type Effectiveness Calculator: Calculate type matchups for battles
- 🧠 Memory Caching: Efficient request caching to reduce API calls
Installation
Prerequisites
- Node.js 16+
- npm package manager
- Claude Desktop
Installation Steps
-
Clone the repository
git clone https://github.com/Mgomez-01/mcpoke-server.git cd mcpoke-server
-
Install dependencies
cd mcpoke-server npm install
-
Build the server
npm run build
Using with Claude Desktop
Configuration
To use the MCPoke Server with Claude Desktop, you need to configure your Claude Desktop application:
-
Locate your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
Add the following configuration:
{ "mcpServers": { "mcpoke-server": { "command": "node", "args": ["/path/to/mcpoke-server/mcpoke-server/build/index.js"], "env": {} } } }
Be sure to replace
/path/to/mcpoke-server
with the actual path to the project on your system. -
Restart Claude Desktop to apply the changes.
Usage Examples
Once configured, you can ask Claude questions about Pokémon like:
- "Can you tell me about Pikachu's abilities and stats?"
- "What type advantages does Charizard have over Venusaur?"
- "Search for Pokémon with 'eon' in their name"
- "Compare Blastoise and Feraligatr"
- "What does the 'Intimidate' ability do?"
- "Tell me about the move Thunderbolt"
- "How effective is an Electric-type attack against a Water/Flying Pokémon?"
Behind the scenes, Claude uses different tools provided by the MCPoke Server:
get_pokemon
for detailed Pokémon informationsearch_pokemon
for finding Pokémon by namecompare_pokemon
for side-by-side comparisonsget_ability
for ability informationget_move
for move detailsget_type
for type informationget_type_effectiveness
for calculating battle matchups
With debug mode enabled, you can watch these interactions in real-time by examining the server logs.
Testing and Development
Using the MCP Inspector
You can test the server directly using the MCP Inspector tool:
cd mcpoke-server
npm run inspector
Then use the example requests from the test_examples.md
file.
Debugging
For debugging, you can use:
npm run debug
This will start the server with Node.js inspector enabled, allowing you to use Chrome DevTools or Visual Studio Code to debug the server. The MCPoke Server also includes a comprehensive debug logging system.
Detailed debugging documentation is available in including:
- How to connect debugging tools
- Understanding the debug logs
- Common debugging scenarios
- Advanced debugging techniques
Future Enhancements
While the server is fully functional, here are (tentative) planned enhancements:
- Testing: Add comprehensive unit and integration tests for reliability
- Advanced Caching: Implement more sophisticated caching strategies with TTL optimization
- Enhanced Type System: Improve type effectiveness calculations with detailed generation-specific mechanics
- Robust Error Handling: Add more comprehensive error handling and edge cases
- Extended Data: Add support for more Pokémon data such as egg groups, habitats, encounters, etc.
- Advanced Search: Implement sophisticated search features with filtering by type, stats, abilities
- Image Utilities: Add sprite and image utilities for better visual representation
- Performance Optimization: Optimize API calls and response processing for faster results
- Pagination Support: Add pagination for large result sets
- Documentation: Create detailed API documentation and more usage examples
Acknowledgments
- PokéAPI for providing the comprehensive Pokémon data
- The Model Context Protocol (MCP) community for developing the protocol standard
- All Pokémon content is the intellectual property of Nintendo, Game Freak, and The Pokémon Company