steam-mcp
The steam-mcp server connects Claude to your Steam library via the Model Context Protocol, enabling natural language queries about your games.
Get Full Library (
get_library): Retrieve your complete Steam game library with titles, playtime, and last-played dates, with an option to include or exclude unplayed games.Get Recently Played Games (
get_recently_played): Fetch games played in the last 2 weeks, showing playtime for that period and total playtime overall.Search & Filter Library (
search_library): Search by game name, filter by min/max playtime, or show only unplayed games.Get Game Details (
get_game_details): Look up store metadata for any game (by name or App ID), including description, genres, tags, release date, Metacritic score, and price.Refresh Cache (
refresh_library): Clear the local cache to force fresh data from Steam — useful after new purchases.
Provides access to a user's Steam library, enabling queries for game playtime, recently played titles, and detailed game metadata including genres, tags, Metacritic scores, and pricing.
steam-mcp
A local Model Context Protocol (MCP) server that connects Claude to your Steam library. Ask natural-language questions about your games without ever touching the API yourself.
"What have I been playing lately?"
"Suggest something from my backlog I haven't touched yet."
"How many hours have I put into RPGs?"
"Tell me about Elden Ring."Tools
Tool | What it does |
| Your full game library — title, playtime, last played |
| Games played in the last 2 weeks |
| Filter by name, playtime range, or unplayed status |
| Store metadata — genres, tags, Metacritic score, price |
| Clear the cache to fetch fresh data from Steam |
Requirements
Node.js 18+
A Steam account with a public profile and library
A Steam Web API key (free, takes 30 seconds to get)
Setup
1. Get a Steam API key
Go to steamcommunity.com/dev/apikey, log in, and register a key. The domain field can be anything (e.g., localhost).
2. Find your Steam ID
You need either:
Your vanity URL username — the custom part of your profile URL:
steamcommunity.com/id/YOUR_USERNAMEYour 64-bit Steam ID — find it at steamid.io if you don't have a vanity URL
3. Make your profile public
In Steam: your profile → Edit Profile → Privacy Settings → set My Profile and Game details to Public.
4. Run setup
npx steam-mcp setupThis validates your credentials and writes the Claude Desktop config automatically. Restart Claude Desktop when it's done.
Find your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add to the mcpServers section:
{
"mcpServers": {
"steam-mcp": {
"command": "npx",
"args": ["-y", "steam-mcp"],
"env": {
"STEAM_API_KEY": "your_api_key_here",
"STEAM_ID": "your_vanity_url_or_64bit_id"
}
}
}
}Local development
git clone https://github.com/jkiley129/steam-mcp.git
cd steam-mcp
npm install
cp .env.example .env
# Edit .env with your API key and Steam ID
npm run buildTo use the local build with Claude Desktop, point the config at the built file:
{
"mcpServers": {
"steam": {
"command": "node",
"args": ["/absolute/path/to/steam-mcp/dist/index.js"],
"env": {
"STEAM_API_KEY": "your_api_key_here",
"STEAM_ID": "your_vanity_url_or_64bit_id"
}
}
}
}Configuration
Environment variable | Required | Description |
| Yes | Your Steam Web API key |
| Yes | Your 64-bit Steam ID or vanity URL username |
| No | Override cache directory (default: |
Caching
Steam data is cached locally to keep responses fast and avoid hitting rate limits:
Data | Cache TTL |
Library | 1 hour |
Recently played | 30 minutes |
Game details | 24 hours |
Use the refresh_library tool to clear the cache immediately (e.g., after buying new games).
Troubleshooting
"Steam returned no library data" Your Steam profile or game library is set to private. Go to Steam → your profile → Edit Profile → Privacy Settings and set both to Public.
"Could not resolve Steam vanity URL"
Check that STEAM_ID matches the username in your Steam profile URL (steamcommunity.com/id/YOUR_USERNAME). Alternatively, use your numeric 64-bit Steam ID.
"Could not validate Steam API key" Verify your API key at steamcommunity.com/dev/apikey. Keys are tied to your Steam account login.
Tools not showing in Claude
Restart Claude Desktop fully (quit from the system tray, not just close the window) after editing the config file. Check that Node.js 18+ is installed by running node --version in a terminal.
License
MIT
Latest Blog Posts
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/jkiley129/steam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server