steam-mcp
Connects Claude to your Steam library via the Steam Web API. Query your games, playtime, recently played history, and store metadata using natural language. Zero-config install via npx steam-mcp.
README
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 |
|---|---|
get_library |
Your full game library — title, playtime, last played |
get_recently_played |
Games played in the last 2 weeks |
search_library |
Filter by name, playtime range, or unplayed status |
get_game_details |
Store metadata — genres, tags, Metacritic score, price |
refresh_library |
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_USERNAME - Your 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 setup
This validates your credentials and writes the Claude Desktop config automatically. Restart Claude Desktop when it's done.
<details> <summary>Manual config (if you prefer)</summary>
Find your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%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"
}
}
}
}
</details>
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 build
To 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 |
|---|---|---|
STEAM_API_KEY |
Yes | Your Steam Web API key |
STEAM_ID |
Yes | Your 64-bit Steam ID or vanity URL username |
STEAM_MCP_CACHE_DIR |
No | Override cache directory (default: ~/.steam-mcp/cache/) |
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.