Steam MCP Server
Provides tools to fetch data from a user's Steam game library via the Steam Web API, including owned games, recently played games, player summary, achievements, and vanity URL resolution.
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 MCP Servershow me my recently played games"
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 local MCP server that lets Claude fetch data from your Steam game library via the Steam Web API. All tools are read-only — the server never modifies your account.
Tools
Tool | What it does |
| Lists owned games with total playtime, sorted by playtime or name |
| Games played in the last ~2 weeks |
| Profile info: name, status, currently playing, account creation date |
| Achievements for a specific game (requires appid) |
| Converts a custom profile URL to a SteamID64 |
Related MCP server: steam-mcp
Prerequisites
Steam Web API key — get one for free at https://steamcommunity.com/dev/apikey (requires a logged-in Steam account; enter any domain, e.g.
localhost).Your SteamID64 — the 17-digit number for your account. Find it via your profile URL, or use
steam_resolve_vanity_urlif you have a custom URL.Profile must be public — under Steam → Profile → Edit Profile → Privacy, "Game details" must be set to Public, otherwise library and achievement calls will return empty.
uv installed —
curl -LsSf https://astral.sh/uv/install.sh | shPython 3.10+ (uv will manage this automatically).
Installation
uv syncConnecting to Claude
The server uses stdio transport and runs as a local subprocess. It works with MCP clients such as Claude Desktop and Claude Code.
Claude Desktop
Open the config file (Settings → Developer → Edit Config) and add the server. Replace the paths and values with your own:
{
"mcpServers": {
"steam": {
"command": "uv",
"args": ["run", "--directory", "/full/path/to/steam-api-mcp", "src/steam_mcp.py"],
"env": {
"STEAM_API_KEY": "YOUR_API_KEY_HERE",
"STEAM_ID": "YOUR_STEAMID64_HERE"
}
}
}
}STEAM_ID is optional. If set, you won't need to provide your own ID in every
request — the tools fall back to this value. You can still pass a different
steam_id to look at a friend's (public) profile.
Restart Claude Desktop after saving. You can then ask things like:
"Which 10 games have I played the most on Steam?"
"What have I played in the last two weeks?"
"How many achievements do I have in appid 570?"
Claude Code
claude mcp add steam uv run --directory /full/path/to/steam-api-mcp src/steam_mcp.py \
--env STEAM_API_KEY=YOUR_KEY --env STEAM_ID=YOUR_STEAMID64Testing Outside a Client
With MCP Inspector you can click through the tools manually:
STEAM_API_KEY=your_key STEAM_ID=your_id \
npx @modelcontextprotocol/inspector uv run src/steam_mcp.pyPrivacy and Limitations
The API only returns data a profile has made public.
Your key is stored in the client config / environment variables and is never sent anywhere other than Steam.
The Steam Web API has reasonable rate limits (approx. 100,000 calls/day). The server returns a clear 429 message if you hit a temporary limit.
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
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/stianasoren/steam-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server