Integrates with Algolia's search engine to provide advanced search capabilities across Pokémon data, enabling multi-index search, type effectiveness calculations, and competitive intelligence with faceted filtering.
PokéBattle AI Strategist
An intelligent Pokémon battle strategy assistant powered by Algolia search and natural language processing. This application provides strategic recommendations, type effectiveness analysis, and competitive insights through conversational AI.
Features
Natural Language Battle Planning
Conversational Queries: Ask complex questions like "What's the best counter to a Charizard with Solar Beam?" or "Build me a team that can handle Dragon-types"
AI-Powered Recommendations: Get strategic advice with detailed reasoning for team building and battle scenarios
Context-Aware Analysis: Understands competitive formats, tiers, and battle contexts
Advanced Search Capabilities
Multi-Index Search: Simultaneously searches across Pokémon, moves, abilities, and competitive data
Type Effectiveness Engine: Complete type matchup calculations with resistance and immunity analysis
Competitive Intelligence: Usage statistics, tier analysis, and meta trend insights
Faceted Filtering: Filter by stats, types, generations, tiers, and battle roles
Interactive Battle Analysis
Real-time Strategy: Get optimal move suggestions and switch recommendations
Matchup Scoring: AI calculates and explains matchup advantages with numerical ratings
Team Synergy Analysis: Identifies type coverage gaps and strategic synergies
Counter Discovery: Find the best Pokémon to counter specific threats
System Features
Connection Status: Real-time Algolia connection monitoring with available indices display
Hybrid Search: Seamless switching between instant search and AI-powered analysis
Responsive Design: Grid-based results layout optimized for all screen sizes
Error Handling: Comprehensive error boundaries and fallback states
Animation Effects: GSAP-powered smooth transitions and hover effects
Architecture
Technology Stack
Frontend: React 19 + TypeScript + Vite
Styling: Tailwind CSS v3 with glassmorphism effects
Search Engine: Algolia v5 with custom search integration
State Management: Custom React hooks with centralized battle logic
AI Integration: Natural language processing for query interpretation
Animations: GSAP for smooth transitions and effects
Icons: Lucide React for consistent iconography
Project Architecture
Data Model
The application uses comprehensive TypeScript interfaces covering:
PokemonData: Complete stats, abilities, movesets, type effectiveness
MoveData: Power, accuracy, descriptions, competitive viability
AbilityData: Effects, competitive ratings, Pokémon associations
CompetitiveStatsData: Usage percentages, tier distributions, team synergies
RecommendationData: AI-generated battle suggestions with reasoning
Getting Started
Prerequisites
Node.js 18+
npm package manager
Installation
Environment Setup
Copy the environment example file:
Configure your environment variables in
.env
:
Running the Application
Development Commands
Project Structure
This is a monorepo with three main packages:
frontend/: React + TypeScript + Vite application
backend/: Express.js server with MCP integration
mcp-node/: Algolia MCP server implementation
Environment Configuration
The application requires Algolia search configuration:
Setting up Algolia:
Create a free account at algolia.com
Create a new application
Get your App ID from the dashboard
Generate a search-only API key (API Keys section)
Set up a
pokemon
index with your Pokemon data
Required Environment Variables:
App ID: Get from your Algolia dashboard
Search-Only API Key: Generate a search-only key in Algolia dashboard
Anthropic API Key: Required for AI features (set in .env)
Usage Examples
Natural Language Queries
Search Features
Counter Analysis: Identifies type advantages, speed tiers, and defensive matchups
Team Building: Analyzes type coverage, role distribution, and strategic synergies
Move Search: Finds Pokémon that learn specific moves with competitive context
Type Filtering: Advanced filtering by single/dual types with stat requirements
Competitive Features
Tier Integration
OU (OverUsed): Standard competitive tier analysis
UU/RU/NU: Lower tier viability assessments
Ubers: Legendary/restricted format support
LC (Little Cup): Pre-evolution competitive analysis
Battle Intelligence
Matchup Scoring: Numerical ratings (0-100) for battle advantages
Speed Tier Analysis: Critical speed benchmark comparisons
Type Coverage: Complete offensive and defensive type analysis
Meta Awareness: Current usage trends and team archetype recognition
Configuration
TypeScript Setup
The project uses strict TypeScript with verbatimModuleSyntax
:
Type-only imports:
import type { Pokemon } from '../types/pokemon'
Value imports:
import { charizardData } from '../data/pokemon'
Algolia Configuration
The application connects to a pre-configured Algolia index with Pokemon data:
Index Name:
pokemon
Search Features: Instant search, faceting, highlighting
Data Structure: Pokemon stats, types, moves, competitive info
Troubleshooting
Common Issues
1. Dependencies Installation
2. Port Conflicts
Frontend runs on port 5173 (Vite default)
Backend runs on port 3000 (or PORT env variable)
Check if ports are available or modify in package.json
3. Environment Variables
4. TypeScript Errors
5. Search Not Working
Verify Algolia credentials in .env
Check browser console for API errors
Try demo mode if instant search fails
Development Tips
Use browser dev tools to debug Algolia API calls
Check network tab for MCP server communication
Enable verbose logging in development mode
Design System
Visual Theme
Dark Gradient Background: Blue → Purple → Indigo progression
Glassmorphism Effects:
backdrop-blur-lg
with transparencyTypography: Clean hierarchy with gradient accent colors
Interactive Elements: Smooth transitions with hover states
Responsive Design
Mobile-First: Optimized for all screen sizes
Grid Layouts: Adaptive column counts (1/2/3/4/5 columns)
Touch-Friendly: Large tap targets and gesture support
Development
Codebase Cleanup (Latest)
The project recently underwent a major cleanup to reduce technical debt:
Removed Files (26 total):
Deprecated services (algolia.ts, naturalLanguageSearch.ts, instantSearchClient.ts)
Unused components (13 files including SearchInterface, FeatureShowcase, etc.)
Unused hooks (useBattleStrategy.ts, useNaturalLanguageBattle.ts)
Test/utility files and backup directories
Unused dependencies (react-instantsearch package)
Current Architecture Benefits:
Cleaner, focused codebase with only active functionality
Reduced bundle size and improved performance
Better maintainability and developer experience
Streamlined component hierarchy
Adding New Features
New Search Types: Extend interfaces in
naturalLanguageSearchEnhanced.ts
Additional Data: Update TypeScript interfaces in
types/pokemon.ts
UI Components: Follow existing patterns with Tailwind styling
Search Logic: Implement in
algolia-enhanced.ts
with proper error handling
Code Quality
ESLint: Configured with React and TypeScript rules
Type Safety: Strict TypeScript with comprehensive interfaces
Component Design: Atomic components with clear prop interfaces
State Management: Custom hooks for business logic separation
Performance
Optimization Features
Vite Build System: Fast development and optimized production builds
Code Splitting: Automatic chunking for optimal loading
Search Optimization: Algolia's sub-50ms search performance
Caching: Intelligent result caching for repeated queries
Future Roadmap
Planned Features
MCP Server Integration: Claude Desktop workflow automation
Team Export: Pokemon Showdown format compatibility
Battle Simulator: Real-time battle scenario testing
Community Features: Team sharing and rating system
Advanced Analytics: Win rate predictions and meta tracking
Technical Enhancements
Real-time Data: Live competitive usage updates
Machine Learning: Enhanced recommendation algorithms
Performance: Advanced caching and CDN integration
Mobile App: React Native companion application
License
This project is open source and available under the MIT License.
Contributing
Contributions are welcome! Please see our contributing guidelines for more information.
Built for the Pokémon competitive community
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
An intelligent Pokémon battle strategy assistant that provides strategic recommendations, type effectiveness analysis, and competitive insights through conversational AI powered by Algolia search.
Related MCP Servers
- -securityFlicense-qualityEnables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.
- AsecurityFlicenseAqualityAn integration server that enables AI assistants like Claude or Cursor to access and interact with strateegia projects through the strateegia API.Last updated -116
- AsecurityAlicenseAqualityAn MCP-compliant server that enables AI agents to perform accurate Pokémon battle damage calculations using the Smogon calculator, supporting comprehensive input handling for Pokémon stats, moves, abilities, and field conditions.Last updated -1151MIT License
- AsecurityAlicenseAqualityAn AI-powered SQLite assistant that converts natural language to SQL queries with full schema awareness, enabling users to interact with databases using conversational language.Last updated -51MIT License