Jose-Prince/Game-Predictor-MCP
If you are the rightful owner of Game-Predictor-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server that predicts video game scores using machine learning based on game characteristics like price, release month, tags, genres, and platforms.
Game-predictor MCP Server
A Model Context Protocol (MCP) server that predicts video game scores using machine learning based on game characteristics like price, release month, tags, genres, and platforms.
Purpose
This MCP server provides AI assistants with the capability to predict game scores (similar to Metacritic ratings) by analyzing various game attributes. It uses a Random Forest regression model trained on Steam game data to make predictions.
Features
- Score Prediction: Predicts game scores (0-100 scale) based on game characteristics
- Steam Data Integration: Automatically collects game data from Steam API and SteamSpy
- RAWG API Integration: Retrieves additional platform information
- Machine Learning: Uses scikit-learn's Random Forest algorithm for predictions
- MCP Protocol: Compatible with Claude Desktop and other MCP clients
Requirements
Dependencies
Install the required packages:
pip install -r requirements.txt
API Keys
You'll need a RAWG API key for platform data:
- Sign up at RAWG.io
- Create a
.env
file in the project root:
RAWG_KEY=your_rawg_api_key_here
Installation & Setup
- Clone/Download the project
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
echo "RAWG_KEY=your_api_key" > .env
- Run the server:
python mcp_server/main.py
How It Works
Data Collection
- On first run, the server automatically creates a dataset by fetching game information from:
- SteamSpy: Player statistics and tags
- Steam Store API: Game details and pricing
- RAWG API: Platform information and ratings
- Data is saved to
data/games_dataset.csv
Model Training
- Uses Random Forest regression with 200 estimators
- Features include: price, release month, encoded tags/genres/platforms, and player statistics
- Target variable: Game score (Metacritic or RAWG rating converted to 0-100 scale)
Available Tools
make_prediction
Predicts a game's score based on its characteristics.
Parameters:
price
(float): Game price in USDrelease_month
(int): Month of release (1-12)tags
(list[str]): List of game tags (e.g., ["Action", "Multiplayer"])genres
(list[str]): List of game genres (e.g., ["Action", "Adventure"])platforms
(list[str]): List of platforms (e.g., ["PC", "PlayStation 5"])
Returns: Predicted score (float, 0-100 scale)
Usage Examples
Here are some example queries you can use with the MCP server:
Basic Prediction
"Predict the score for a $29.99 action game releasing in December with tags 'Action' and 'Singleplayer', genre 'Action', on PC platform"
Indie Game Prediction
"What score would you predict for an indie puzzle game costing $14.99, releasing in March, with tags ['Indie', 'Puzzle', 'Casual'], genres ['Indie', 'Casual'], and available on ['PC', 'Nintendo Switch']?"
AAA Game Prediction
"Predict the score for a $59.99 AAA RPG releasing in November with tags ['RPG', 'Open World', 'Multiplayer'], genres ['Action', 'RPG'], on ['PC', 'PlayStation 5', 'Xbox Series X/S']"
Free-to-Play Game
"What would be the predicted score for a free-to-play battle royale game (price: 0) releasing in June with tags ['Free to Play', 'Battle Royale', 'Multiplayer'], genres ['Action'], on ['PC', 'Mobile']?"
File Structure
mcp_server/
āāā main.py # Entry point
āāā server.py # FastMCP server setup
āāā tools/
ā āāā predict_tool.py # Prediction tool definition
āāā utils/
ā āāā game.py # Game data collection utilities
ā āāā predict_model.py # ML model setup and prediction
āāā data/ # Generated dataset storage
ā āāā games_dataset.csv # Game data (auto-generated)
āāā requirements.txt # Python dependencies
āāā .env # Environment variables (you create this)
Configuration with Claude Desktop
To use this server with Claude Desktop, add it to your claude_desktop_config.json
:
{
"mcpServers": {
"game-predictor": {
"command": "python",
"args": ["/path/to/your/mcp_server/main.py"],
"env": {
"RAWG_KEY": "your_rawg_api_key_here"
}
}
}
}
Limitations
- Dataset Size: Initially limited to 1000 games to avoid API rate limits
- API Dependencies: Requires internet connection for RAWG API
- Rate Limiting: Includes 1-second delays between API calls
- Data Quality: Predictions depend on the quality of training data
- Regional Variations: Scores may not reflect regional preferences
Troubleshooting
Common Issues
-
"games_dataset.csv not found":
- This is normal on first run. The server will automatically create the dataset.
-
API Rate Limiting:
- The server includes built-in delays to respect API limits
- If you encounter rate limits, wait before retrying
-
Model Not Trained Error:
- Ensure
setup_model()
is called before making predictions - Check that the CSV file was created successfully
- Ensure
-
Missing RAWG API Key:
- Verify your
.env
file exists and contains the correct API key - Ensure the key is valid and active
- Verify your