Game Hub
Syncs PlayStation 4/5 titles, playtime, and trophy progress via PSN using psnawp, preserving per-platform stats in the unified library.
Syncs PS4 titles, playtime, and trophy progress through the PlayStation/PSN integration.
Syncs owned Steam games, playtime, last-played timestamps, and achievements via the Steam Web API; also uses Steam Store Search for cover art lookup.
Provides keyless high-resolution cover art and release year lookup for manually added physical or digital console titles via the Wikipedia API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Game HubWhat should I play next from my backlog?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎮 Game Hub — Unified Game Library & MCP Server
Game Hub is a self-hosted, multi-platform video game library tracker, metadata enricher, and Model Context Protocol (MCP) server. It aggregates your games, playtime, achievements, and backlog statuses across PC (Steam), Xbox / PC Game Pass, PlayStation 4 / 5, and Nintendo Switch into a fast, responsive web dashboard and exposes your library to AI assistants.
✨ Features
Automated Multi-Platform Sync:
Steam (PC): Syncs owned games, playtime, last-played timestamps, and achievements via the Steam Web API.
Xbox & PC Game Pass: Syncs title history, gamerscore/achievements, and playtime via OpenXBL.
PlayStation 4 & 5: Syncs PSN titles, playtime, and trophy progress via
psnawp.Nintendo Switch & Manual Titles: Add physical or digital console titles with keyless high-res cover art & release year lookup (Steam Store Search + Wikipedia API, with optional RAWG enrichment).
Smart Cross-Platform Reconciliation:
Detects duplicate games owned across multiple platforms (e.g., Steam + Xbox) and lets you merge them into a unified library card while preserving per-platform stats.
User Edits Protected:
Manually locking a completion status (
Completed,Beaten,Playing,Plan to Play,Dropped,Not Played), rating a game, favoriting, or adding personal notes will never be overwritten by background syncs.
Built-in MCP Server (Streamable HTTP + SSE + OAuth 2.1):
Connect Claude, Google Gemini, Cursor, or Antigravity directly to your game library to ask "What should I play next?", analyze your taste profile, or update your backlog by voice/chat.
Related MCP server: gamelibs-mcp
🚀 Quick Start (Docker Compose)
1. Clone & Configure Environment
git clone https://github.com/<your-username>/game-hub.git
cd game-hub
cp .env.example .envEdit .env and fill in whichever platform credentials you use (all platforms are optional; unconfigured platforms are skipped automatically):
Variable | Description |
| Get from steamcommunity.com/dev/apikey |
| Your 17-digit SteamID64 or custom profile vanity name |
| Free API key from xbl.io |
| 64-character |
| (Optional) Extra genre/critic metadata from rawg.io/apidocs |
| Background auto-sync interval in hours (default: |
2. Build & Start
docker compose up -d --buildWeb UI: Open
http://localhost:8095MCP Endpoint (Streamable HTTP):
http://localhost:8097/mcp
🤖 Connecting AI Assistants (MCP)
Game Hub runs an MCP server on container port 8096 (mapped to localhost:8097 on the host by default) with the following tools:
get_gaming_profile_and_metrics: Aggregate playtime, platform breakdown, and top-rated taste profile.search_game_library: Filter by title, platform, completion status, genre, tag, or favorites.get_what_to_play_recommendations: Personalized backlog recommendations tailored to your highest-rated genres.update_game_progress: Update completion status, rating (1–10), notes, or favorite flag.update_game_genres: Update a game's genres and/or tags. Merge is the default: given genres/tags are added and nothing is removed. Usemode="replace"only for an explicit full replacement. Labels outside the controlled taxonomy intaxonomy.pyare ignored.add_game_to_library: Add a new game (with automatic cover art lookup).find_duplicate_cross_platform_games&reconcile_cross_platform_games: Identify and merge duplicate titles across platforms.enrich_library_genres: Backfill missing genres across your catalog. Merge, never replace: discovered genres are added to a game's existing genres, so a Steam-only Action/Adventure list can never drop a manual Platformer, Puzzle, or Stealth tag.
Genres vs Tags
Genres are broad gameplay categories (1–3 per game, e.g. Shooter, RPG, Puzzle). Tags are mechanics, modes, themes, and settings (e.g. Stealth, Open World, Co-op, Survival Horror). The split exists because Steam's official genre list has no Stealth genre, and it lists both Portal 2 and Splinter Cell Blacklist as only Action/Adventure. The controlled lists live in taxonomy.py; enrichment only adds labels from those lists, and Free To Play, Casual, Utilities, and Indie are tags, not genres.
Exposing MCP Publicly (Optional OAuth 2.1 + Cloudflare Tunnel)
If you want cloud AI clients (such as Google Gemini Web or Claude Web) to connect to your MCP server over HTTPS:
Generate a strong
MCP_CLIENT_SECRETin.env:python3 -c "import secrets; print('gh_sec_' + secrets.token_urlsafe(24))"Set
MCP_PUBLIC_DOMAIN=https://your-mcp-domain.example.comandMCP_CLIENT_SECRET=<your-secret>in.env.(Optional) To run the bundled
cloudflaredtunnel container, setCOMPOSE_PROFILES=tunnelandTUNNEL_TOKEN=<your-cloudflare-tunnel-token>in.env, and point your Cloudflare Tunnel public hostname tohttp://game-hub:8096.
🔒 Security Notes
Web Dashboard (
8095): Designed for trusted local network (LAN) or VPN/Tailscale access. Do not expose port8095directly to the public internet without an authenticating reverse proxy (such as Cloudflare Access, Authelia, or Authentik).MCP Server (
8096/8097): WhenMCP_CLIENT_SECRETis set in.env, all/mcpand/sserequests require a validAuthorization: Bearer <token>issued via the/oauth/authorizeconsent screen (which prompts forMCP_CLIENT_SECRET) or direct Bearer authentication withMCP_CLIENT_SECRET.
📄 License
Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to search and query your LaunchBox game library across all platforms including Steam, GOG, and emulators. It allows users to check ownership for bundles, view game metadata, find duplicates, and analyze playtime statistics through natural language.3MIT
- AlicenseAqualityCmaintenanceAn MCP server that exposes your Steam, Epic Games Store, and IGDB game data as tools, enabling game library queries, install status checks, and metadata enrichment.122MIT
- AlicenseAqualityBmaintenanceAn MCP server for Backloggd, the video game tracker. It lets an AI assistant search the game catalogue and read and manage your library — statuses, ratings, logs, play sessions, reviews and lists — as the signed-in you.45MIT
- FlicenseNot gradedqualityBmaintenanceA read-only MCP server that enables AI assistants to access a user's Steam library, playtime, achievements, friends, wishlist, and store data for backlog analysis, game recommendations, discount monitoring, and play-activity summaries.-