Uses Metacritic game ratings as training data for predicting video game scores based on game characteristics.
Retrieves game data from Steam Store API and SteamSpy, including game details, pricing, player statistics, and tags for machine learning predictions.
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:
API Keys
You'll need a RAWG API key for platform data:
Sign up at RAWG.io
Create a
.envfile in the project root:
Installation & Setup
Clone/Download the project
Install dependencies:
pip install -r requirements.txtSet up environment variables:
echo "RAWG_KEY=your_api_key" > .envRun 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
Indie Game Prediction
AAA Game Prediction
Free-to-Play Game
File Structure
Configuration with Claude Desktop
To use this server with Claude Desktop, add it to your claude_desktop_config.json:
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 predictionsCheck that the CSV file was created successfully
Missing RAWG API Key:
Verify your
.envfile exists and contains the correct API keyEnsure the key is valid and active