@jhomen368/steam-reviews-mcp
v1.0.0
Published
MCP server for querying and analyzing Steam game reviews
Maintainers
Readme
Steam Reviews MCP Server
A Model Context Protocol (MCP) server for Steam game reviews and analysis. Search games, fetch reviews, and analyze sentiment through the Model Context Protocol.
🎯 Key Features
- 🔍 Game Search - Search Steam games by name with batch support (up to 5 queries)
- 📊 Detailed Game Info - Get comprehensive game data with criteria filtering
- 💬 Review Fetching - Advanced filtering (time-bounded, Steam Deck, review bombs)
- 🧠 Sentiment Analysis - NLP-powered analysis with topic drill-down
- ⚡ Smart Caching - 70-85% API call reduction with variable TTL
- 🔗 Example Quotes - Clickable Steam community links for review quotes
🔒 Security
- 🐳 Hardened Docker Images
- Non-root user (mcpuser)
- Multi-stage builds
- Minimal Alpine base
- dumb-init process management
- ✅ Input Validation
- Zod schema validation for all inputs
- Type-safe TypeScript throughout
🛠️ Available Tools
| Tool | Purpose | Key Features | |------|---------|--------------| | search_steam_games | Search for games | Single/batch search, AppID lookup, price info | | get_game_info | Get game details | Batch lookup, criteria filtering, system requirements, DLC | | fetch_reviews | Fetch user reviews | Advanced filters, pagination, time-bounded queries | | analyze_reviews | Analyze sentiment | NLP analysis, topic drill-down, example quotes with links |
📋 Prerequisites
- Node.js 18.0 or higher
- npm or compatible package manager
- No API key required! Uses public Steam Store API
🚀 Quick Start
Option 1: NPM (Recommended)
npm install -g @jhomen368/steam-reviews-mcpConfigure with Claude Desktop:
Add to your configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"steam-reviews": {
"command": "npx",
"args": ["-y", "@jhomen368/steam-reviews-mcp"]
}
}
}Option 2: Docker (HTTP Mode)
docker run -d \
--name steam-reviews-mcp \
-p 8086:8086 \
ghcr.io/jhomen368/steam-reviews-mcp:latestDocker Compose:
services:
steam-reviews-mcp:
image: ghcr.io/jhomen368/steam-reviews-mcp:latest
container_name: steam-reviews-mcp
ports:
- "8086:8086"
restart: unless-stoppedTest the server:
curl http://localhost:8086/healthConnect MCP clients:
- Transport: SSE (Server-Sent Events)
- URL:
http://localhost:8086/mcp
Option 3: From Source
git clone https://github.com/jhomen368/steam-reviews-mcp.git
cd steam-reviews-mcp
npm install
npm run build
node build/index.js💡 Usage Examples
Search for Games
// Single search
search_steam_games({
query: "Baldur's Gate 3",
limit: 10
})
// Batch search (up to 5 queries)
search_steam_games({
queries: ["Elden Ring", "Cyberpunk 2077", "Hades"],
limit: 5
})Get Game Info with Criteria
get_game_info({
appIds: [1086940, 1245620],
criteria: {
minReviewScore: 80,
minReviews: 1000,
requireMetacritic: true
},
includeRequirements: true,
includeDlc: true
})Fetch Reviews with Filters
// Recent positive reviews
fetch_reviews({
appId: 1086940,
filter: "recent",
reviewType: "positive",
dayRange: 30
})
// Filter out review bombs
fetch_reviews({
appId: 1086940,
filterOfftopicActivity: true
})Analyze Sentiment
// General analysis
analyze_reviews({
appId: 1086940,
sampleSize: 100
})
// Topic-focused analysis
analyze_reviews({
appId: 1086940,
topic: "performance"
})Natural Language Examples
Simply ask your AI assistant:
- "Search for Elden Ring on Steam"
- "Get info about Baldur's Gate 3 including system requirements"
- "What are people saying about Cyberpunk 2077 recently?"
- "Analyze negative reviews for No Man's Sky - what are the main complaints?"
- "Find free games with at least 90% positive reviews"
⚙️ Configuration
Environment Variables
All configuration is optional with sensible defaults:
# Cache settings
CACHE_ENABLED=true # Enable caching (default: true)
CACHE_MAX_SIZE=1000 # Max cache entries
# Rate limiting
RATE_LIMIT_ENABLED=true # Enable rate limiting (default: true)
MAX_REQUESTS_PER_MINUTE=30 # Max API calls per minute
# HTTP mode (for Docker)
HTTP_MODE=false # Enable HTTP transport
PORT=8086 # HTTP server port📚 Documentation
- CHANGELOG.md - Version history and release notes
- CONTRIBUTING.md - Contribution guidelines
- Steam Store API - Steam API reference
🔧 Troubleshooting
Connection Issues
- Verify Steam Store API is accessible (no firewall blocks)
- Check rate limiting if receiving 429 errors
- Review logs for timeout errors
Docker Issues
# Check logs
docker logs steam-reviews-mcp
# Verify health
curl http://localhost:8086/healthBuild Issues
# Ensure Node.js 18+
node --version
# Clean rebuild
rm -rf node_modules build
npm install
npm run build🤝 Contributing
Contributions welcome! Please see CONTRIBUTING.md for guidelines.
📄 License
MIT License - see LICENSE for details
🙏 Acknowledgments
- Steam - Gaming platform and API
- Model Context Protocol - Open protocol for AI integrations
- Anthropic - Creators of the MCP standard
