Steam MCP Server
Provides tools for interacting with the Steam Web API to access player profiles, game libraries, achievements, statistics, inventories, and game information through natural language.
README
Steam MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with the Steam Web API.
Setup
1. Get a Steam API Key
Obtain an API key from Steam's developer portal.
2. Install Dependencies
npm install
3. Build
npm run build
4. Configure Your MCP Client
Claude Code
Add to your Claude Code settings file (~/.claude/settings.json):
{
"mcpServers": {
"steam": {
"command": "node",
"args": ["/path/to/steam-mcp-server/dist/index.js"],
"env": {
"STEAM_API_KEY": "your-api-key-here",
"STEAM_ID": "your-64-bit-steam-id"
}
}
}
}
Or use npx (no build required):
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-mcp-server"],
"env": {
"STEAM_API_KEY": "your-api-key-here",
"STEAM_ID": "your-64-bit-steam-id"
}
}
}
}
Claude Desktop
Add to your Claude Desktop configuration:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-mcp-server"],
"env": {
"STEAM_API_KEY": "your-api-key-here",
"STEAM_ID": "your-64-bit-steam-id"
}
}
}
}
Cursor
Add to Cursor's MCP settings (.cursor/mcp.json in your project or global config):
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-mcp-server"],
"env": {
"STEAM_API_KEY": "your-api-key-here",
"STEAM_ID": "your-64-bit-steam-id"
}
}
}
}
Windsurf
Add to Windsurf's MCP configuration (~/.windsurf/mcp.json):
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-mcp-server"],
"env": {
"STEAM_API_KEY": "your-api-key-here",
"STEAM_ID": "your-64-bit-steam-id"
}
}
}
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
STEAM_API_KEY |
Yes | Your Steam Web API key |
STEAM_ID |
No | Default Steam ID to use when not specified in tool calls |
When STEAM_ID is set, you can call tools like get_owned_games without passing a Steam ID - it will use your default profile automatically.
Available Tools
Social & Profile
| Tool | Description |
|---|---|
get_player_summary |
Get player profile info (name, avatar, status, current game) |
get_friends_list |
Get a player's friends list |
get_steam_level |
Get player's Steam account level |
get_badges |
Get player's badges, XP, and level progression |
get_badge_progress |
Get trading card collection progress |
get_player_bans |
Check for VAC bans, game bans, or trade bans |
get_user_groups |
Get Steam groups a player belongs to |
resolve_vanity_url |
Convert vanity URL to 64-bit Steam ID |
Game Library
| Tool | Description |
|---|---|
get_owned_games |
Get all games owned with playtime stats (supports pagination) |
get_recently_played |
Get games played in last 2 weeks |
get_game_details |
Get detailed game info (description, price, requirements) |
is_playing_shared_game |
Check if playing via Steam Family Sharing |
search_apps |
Search Steam catalog by game name |
Achievements & Stats
| Tool | Description |
|---|---|
get_achievements |
Get player's achievements for a game |
get_game_stats |
Get player's statistics for a game |
get_global_achievement_percentages |
Get global achievement unlock rates |
get_global_game_stats |
Get global aggregated stats for a game |
get_perfect_games |
Get games where player has 100% achievements |
get_achievement_summary |
Get condensed achievement progress across games |
get_game_schema |
Get achievement/stat definitions for a game |
Game Info
| Tool | Description |
|---|---|
get_game_news |
Get latest news and patch notes for a game |
get_player_count |
Get current number of players in a game |
get_servers_at_address |
Get game servers at a specific IP |
check_app_update |
Check if an app version is up to date |
Inventory
| Tool | Description |
|---|---|
get_inventory |
Get inventory for any game (requires public profile) |
get_tf2_inventory |
Get Team Fortress 2 inventory |
get_csgo_inventory |
Get CS2/CSGO inventory |
get_dota2_inventory |
Get Dota 2 inventory |
Finding Your Steam ID
Use resolve_vanity_url with your custom profile URL, or find your 64-bit Steam ID at steamid.io.
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.
E2B
Using MCP to run code via e2b.