steamcache

jimsantora/steamcache

3.2

If you are the rightful owner of steamcache 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.

The Steam Library Monitor is a service that tracks and collects detailed data from your Steam library, storing it in a format accessible by AI through an MCP server.

Steam Library Monitor

A periodic service that monitors your Steam library and gathers comprehensive game data, storing it locally in an AI-accessible format via MCP (Model Context Protocol) server integration.

Features

  • Comprehensive Data Collection: Gathers game metadata, playtime, achievements, ESRB ratings, user reviews, and more
  • API Efficiency: Optimized for Steam API rate limits with smart caching and request batching
  • AI Integration: Custom MCP server for seamless integration with Open WebUI and Claude
  • Containerized: Docker support for easy deployment
  • Traditional Database: PostgreSQL/SQLite backend for reliable data storage

Data Collected

  • Game Library: Complete ownership data with playtime and date added
  • Achievement Progress: Per-game achievement tracking with unlock dates
  • ESRB Ratings: Age ratings and content descriptors
  • User Reviews: Steam review summaries ("Overwhelmingly Positive", etc.)
  • Metacritic Scores: Professional review scores
  • Game Metadata: Release dates, genres, developers, publishers
  • Playtime History: Historical tracking of playtime changes
  • Pricing Information: Current and historical pricing data

Architecture

Steam APIs → Data Collector → Database → MCP Server → AI Interfaces
     ↓              ↓             ↓
Rate Limiter → Scheduler → Cache Layer

Quick Start

  1. Clone the repository
  2. Copy .env.example to .env and configure your Steam API key and Steam ID
  3. Run with Docker: docker-compose up -d
  4. Configure MCP server in your AI client

For detailed setup instructions, see .

Requirements

  • Steam Web API key
  • Python 3.11+
  • PostgreSQL or SQLite
  • Docker (optional)

Usage

CLI Commands

# Initialize database
steamcache init-db

# Collect data manually
steamcache collect

# Run full service with scheduler
steamcache serve

# Run web interface only
steamcache web --host 0.0.0.0 --port 8000

# Run MCP server only
steamcache mcp

# Search games
steamcache search "strategy"

# View statistics
steamcache stats

Web Interface

Access the web interface at http://localhost:8000 after running:

  • steamcache web - Web interface only
  • steamcache serve - Full service with web interface
  • docker-compose up -d - Complete Docker setup

Features:

  • Dashboard: Overview of your library statistics
  • Games: Browse and search your game collection
  • Achievements: View achievement progress across all games
  • Jobs: Manage and trigger data collection jobs
  • Logs: View application logs and system status

MCP Integration

Once integrated with Claude Desktop or Open WebUI, you can ask:

  • "What are my most played games?"
  • "Show me all strategy games in my library"
  • "What achievements am I missing in Cyberpunk 2077?"
  • "Analyze my gaming habits by genre"
  • "What games have I added recently?"
  • "Show me games with overwhelmingly positive reviews"

API Rate Limits

The service respects Steam API limits (100,000 requests/day) through:

  • Smart caching with 1-minute minimum intervals
  • Request spacing to avoid sub-limits
  • Incremental updates for efficiency

MCP Integration

The service includes a custom MCP server that exposes your Steam library data to AI assistants like Claude and Open WebUI, enabling natural language queries about your gaming library.