steam-mcp
Allows importing games from Lutris as Steam shortcuts.
Fetches PCGamingWiki fixes and tweaks for games to help with compatibility and performance.
Provides tools for managing Proton/Wine compatibility, including version recommendations, prefix inspection, crash log parsing, and launch option presets (e.g., MangoHud, GameMode, Vulkan).
Fetches ProtonDB community ratings for Proton/Wine compatibility of games.
Provides comprehensive tools for managing and interacting with a user's Steam game library, including game discovery (list, search, random), installation, launching, storage analysis, player profile and achievements (with API key), and workshop management.
Supports setting Vulkan-related launch options and presets for games.
Related to Proton, includes Wine prefix inspection and compatibility log parsing.
Click on "Install 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., "@steam-mcpWhat games do I have installed?"
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.
Steam MCP Server
A feature-rich Model Context Protocol server that gives AI assistants full access to your Steam game library. Works on Linux, macOS, and Windows. 14 consolidated tools covering 66 actions — most work from local files with no API key needed. Optional Steam Web API key unlocks online data like achievements, friends, and full library access.
Works with Claude Desktop, Claude Code, or any MCP-compatible client.
What can it do?
Ask your AI assistant things like:
"What games do I have installed?"
"Search for ck3" → finds Crusader Kings III via abbreviation matching
"How much disk space is Steam using?" → full breakdown by game
"Find orphaned data I can clean up" → identifies leftover compatdata/shadercache
"What Proton version should I use for this game?"
"Install Hollow Knight" → looks up the appid and tells Steam to install it
"Pick a random game for me to play"
"Show my full play history" → all-time playtime across your entire library
"Import my Lutris games as Steam shortcuts"
"Show my achievements for Hades" → unlock status, completion %, global stats
"Who's online right now?" → friends list with online status and current games
"What's on my wishlist?"
"Show me reviews for Elden Ring"
"How long to beat Hollow Knight?"
Related MCP server: FoundryVTT MCP Server
Installation
npm (recommended)
npx @praeses/steam-mcpNo install needed — just add it to your MCP client config (see below).
Global install
npm install -g @praeses/steam-mcpThen use steam-mcp as the command instead of npx @praeses/steam-mcp.
Configure with Claude Desktop
Add to your Claude Desktop config:
Linux:
~/.config/Claude/claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["@praeses/steam-mcp"],
"env": {
"STEAM_API_KEY": "your-key-here"
}
}
}
}Configure with Claude Code
Add a .mcp.json in your project root, or add to ~/.claude.json for system-wide access:
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["@praeses/steam-mcp"],
"env": {
"STEAM_API_KEY": "your-key-here"
}
}
}
}Note: The
STEAM_API_KEYis optional. Most tools work without it. Only a few actions (achievements, friends, owned games, wishlist, profile) require it. Get your key at steamcommunity.com/dev/apikey.
Category filtering
To reduce context window usage further, enable only specific tool categories via the STEAM_TOOLS env var:
{
"env": {
"STEAM_TOOLS": "core,manage,compat"
}
}Available categories and their tools:
Category | Tools | Description |
|
| Game browsing, library stats, Steam status |
|
| Proton/Wine compatibility, log parsing |
|
| Install/launch/verify, launch options, non-Steam shortcuts |
|
| Disk usage, cleanup, shader cache, cloud saves, backups |
|
| Player profile/achievements/friends, workshop items |
|
| Sale checks, wishlist, library valuation |
|
| Completion stats, timeline, year review, play history, export |
|
| Reviews, news, media, HLTB, PCGamingWiki fixes |
When unset, all categories are enabled (14 tools, ~3,200 tokens of context).
Prerequisites
Node.js 18+
Steam installed in the default location:
Linux:
~/.local/share/Steam/macOS:
~/Library/Application Support/Steam/Windows:
C:\Program Files (x86)\Steam\
Proton/Wine tools (compatibility tracking, prefix inspection, crash logs) are Linux-only. All other tools work cross-platform.
Tools
Each tool uses an action parameter to select the operation. 14 tools cover 66 actions total.
games — Game discovery and browsing
Action | Description |
| List installed games with filtering, sorting, pagination |
| Get full details for a game by appid |
| Smart search with abbreviation matching (e.g. "ck3" → Crusader Kings III) |
| Compare two games side-by-side |
| Pick a random installed game |
| Find games you own but haven't played |
library — Library folders and stats
Action | Description |
| List all Steam library folders with sizes and free space |
| Aggregate stats: total games, playtime, disk usage |
steam_status — Steam client status
Action | Description |
| Check if Steam is running |
| View current download queue |
| Check download progress for a game |
proton — Proton/Wine compatibility (Linux)
Action | Description |
| List all games using Proton/Wine with versions and prefix sizes |
| Get compatibility details for a specific game |
| List installed Proton versions and which games use them |
| Fetch ProtonDB community rating |
| Get a Proton version recommendation for a game |
| Inspect Wine/Proton prefix (Windows version, file count, size) |
| Find and read crash dumps and logs |
storage — Disk management
Action | Description |
| Per-game disk usage breakdown (install + compat + shader + workshop) |
| Find leftover data from uninstalled games |
| Get cleanup recommendations with space savings |
| Shader cache size for a specific game |
| Shader cache overview across all games |
| List local cloud save data per game |
| Cloud save aggregate stats |
| Back up cloud saves to a directory |
game_control — Game actions
Action | Description |
| Install a game via Steam |
| Uninstall a game |
| Launch a game |
| Verify game file integrity |
| Move a game to another library folder |
| Open the Steam store page |
game_config — Configuration and tweaks
Action | Description |
| Read current launch options |
| Set launch options |
| List/apply launch option presets (MangoHud, GameMode, Vulkan, etc.) |
| Show, set, or reset MangoHud configuration |
| View Steam client settings |
player — Player data (most actions require API key)
Action | Description |
| Player profile with online status and account info |
| Steam level, XP, and badges |
| VAC and game ban status |
| Friends list with online status and current games |
| Per-game achievement unlock status |
| Global achievement unlock percentages |
| Achievement and stat definitions for a game |
| Complete owned games list with playtime |
| Recently played games |
workshop — Steam Workshop
Action | Description |
| List installed workshop items for a game |
| Workshop stats across all games |
| Search the Steam Workshop |
shortcuts — Non-Steam game shortcuts
Action | Description |
| List all non-Steam shortcuts |
| Add a new shortcut |
| Remove a shortcut |
| Import games from Lutris |
deals — Pricing and wishlist
Action | Description |
| Check if a game is on sale |
| Find discounted games on your wishlist |
| View full wishlist with prices and reviews |
| Estimate total library value |
insights — Analytics and history
Action | Description |
| Achievement completion rates across top games |
| Month-by-month gaming activity |
| Annual gaming recap |
| Full playtime history (installed + uninstalled games) |
| Export library data as JSON or CSV |
game_info — Game content and metadata
Action | Description |
| User reviews with scores |
| Latest news articles |
| Game artwork URLs and local overrides |
| HowLongToBeat completion time estimates |
| PCGamingWiki fixes and tweaks |
diagnostics — Log parsing
Action | Description |
| Parse Proton/Wine compatibility logs |
| Parse shader compilation logs |
Key Highlights
Minimal context footprint — 14 tools, ~3,200 tokens (down from 66 tools / ~8,000 tokens in v1)
Cross-platform — Linux, macOS, and Windows (Proton tools are Linux-only)
No API key needed for most actions — reads directly from Steam's local files
Smart search — "ck3" finds "Crusader Kings III", "ror2" finds "Risk of Rain 2"
Full play history — playtime for every game you've ever played, not just installed ones
Storage analysis — shows exactly where disk space goes (installs + compatdata + shadercache + workshop)
Orphan detection — finds GBs of leftover data from uninstalled games
Multi-library — supports multiple Steam library folders including external drives
Category filtering — enable only the tool groups you need via
STEAM_TOOLSenv varCustom VDF parsers — both text and binary formats, no external dependencies
Development
Install from source
git clone https://github.com/Praeses0/steam-mcp.git
cd steam-mcp
npm install
npm run buildCommands
npm run dev # Run with tsx (auto-reload)
npm run build # Compile TypeScript
npm test # Run testsArchitecture
src/
├── index.ts # Server entry, category-based tool registration
├── vdf/
│ ├── parser.ts # Text VDF recursive descent parser + serializer
│ ├── binary-parser.ts # Binary VDF parser (shortcuts.vdf)
│ ├── binary-writer.ts # Binary VDF writer (shortcut management)
│ └── types.ts # VdfValue, VdfObject types
├── steam/
│ ├── paths.ts # Cross-platform Steam dir resolution, user detection
│ ├── manifests.ts # App manifest reading with mtime caching
│ ├── library.ts # Library folder operations + disk info
│ ├── userdata.ts # localconfig.vdf read/write
│ ├── compat.ts # Proton/Wine compatibility tracking
│ ├── workshop.ts # Workshop manifest reading
│ ├── shortcuts.ts # Binary shortcuts.vdf read/write
│ ├── api.ts # Steam Web API client
│ ├── api-types.ts # Shared API response types
│ ├── wishlist.ts # Wishlist data fetching
│ ├── logs.ts # Steam log parsing
│ └── types.ts # Domain types
├── tools/ # 14 consolidated MCP tools (one file per tool)
└── util/
├── format.ts # formatBytes, formatPlaytime, formatTimestamp
├── cache.ts # FileCache<T> with mtime invalidation
└── fs.ts # Shared filesystem utilitiesLicense
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Praeses0/steam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server