steam-local-mcp

steam-local-mcp

Let your agent control your steam client. e.g. "pick a strategy game from my library and launch it"

Category
访问服务器

README

Steam Local MCP

A free, open-source Windows Model Context Protocol server that lets an MCP-capable agent work with the Steam client installed for the current Windows user.

Ask an agent to find an installed game, launch it, open its Steam page, check local download/update status, search the Store, or summarize Steam-library storage. Steam starts quietly in the background when a requested client action needs it.

This is a standard stdio MCP server. It is agent-neutral: use it with Codex, Claude, or any other MCP client that can run a local command.

Example Usage

User: "Pick a strategy game for me to play."

Agent: 🛠️ Calling steam_list_games()

Agent: "How about Balatro? Should I launch it?"

User: "Yes."

Agent: 🛠️ Calling steam_launch_game(app_id: 2861700)

Agent: "Launched Balatro."

What it can do

Local Steam tools — no API key

  • steam_list_games and steam_find_game — inspect locally installed games across all configured Steam libraries.
  • steam_launch_game — launch one installed game by name or app ID.
  • steam_get_game_install_status and steam_get_download_status — inspect manifest-recorded install, update, download, and paused-download states.
  • steam_get_library_storage — show installed sizes and free disk space for every local Steam library.
  • steam_open_library_page, steam_open_store_page, and steam_open_client_page — navigate the Steam client.
  • steam_install_game — ask Steam to install an app ID; Steam validates ownership and manages the install flow.
  • steam_client_status — report the detected Steam installation, discovery source, and whether Steam is running.

Public Store tools — no API key

  • steam_search_store — find Store app IDs from a game name.
  • steam_get_game_details — get public metadata, price, genres, release date, and Metacritic score.

Optional account tools — Steam Web API key required

Set STEAM_API_KEY and STEAM_ID to enable:

  • steam_api_status — verify if API credentials are configured, valid, and connected to Steam's Web API.
  • steam_get_library — owned games, playtime, last played, filtering, and pagination.
  • steam_get_recently_played — recently played games, ordered by two-week playtime.

Requirements

  • Windows 10 or newer
  • Steam installed for the current Windows user
  • Node.js 20 or newer

Install from npm

To install the published package via npm, add this equivalent configuration to your MCP client:

{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": ["-y", "steam-local-mcp"]
    }
  }
}

The configuration-file location differs by agent, but the command and arguments above remain the same. Restart or reconnect your MCP client after saving its configuration.

To confirm your install manually, run:

npx -y steam-local-mcp print-config

Install from source

Use this when developing, auditing the source, or before an npm release is available:

git clone https://github.com/Jackson-Brooks/steam-local-mcp.git
cd steam-local-mcp
npm install
npm run build

Then configure your MCP client to run the compiled entry point from the directory you cloned:

{
  "mcpServers": {
    "steam": {
      "command": "node",
      "args": ["C:\\path\\to\\steam-local-mcp\\dist\\src\\index.js"]
    }
  }
}

Replace C:\path\to\steam-local-mcp with your own clone location. Do not use another user's path.

Optional Steam Web API configuration

Pass credentials through your MCP client's environment configuration or the operating-system environment:

{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": ["-y", "steam-local-mcp"],
      "env": {
        "STEAM_API_KEY": "your_key",
        "STEAM_ID": "your_64_bit_steam_id"
      }
    }
  }
}

The server never loads a .env file automatically. Never commit credentials. Steam profile and game-details privacy settings can prevent account tools from returning data; local client controls still work for private profiles.

Getting your Steam API credentials

  1. Sign in to Steam in a browser and open the Steam Web API key page.
  2. Create or copy your key, then set it as STEAM_API_KEY in your MCP client's environment configuration. Keep it private.
  3. Set STEAM_ID to your numeric 64-bit Steam ID, not your account name. It is commonly visible in a profile URL such as https://steamcommunity.com/profiles/7656119....
  4. Restart or reconnect your MCP client, then call steam_api_status to confirm that the credentials are configured.

With the key configured, an agent can answer requests such as “show my unplayed Steam games” or “what have I played recently?” The key is optional: launching games, local install status, storage, Store search, and Store metadata work without it.

Steam detection and local status

Steam Local MCP checks, in order:

  1. STEAM_PATH — either the Steam directory or its steam.exe
  2. Current-user and machine Valve registry keys
  3. Conventional per-user, Program Files, and C:\Steam locations
  4. steam.exe on PATH

Use steam_client_status to see the selected path and discovery source. For a portable or unusual custom-drive install, set STEAM_PATH to the directory containing steam.exe.

Installation/download tools read Steam's local app manifests. needs_update: true means Steam has already recorded an update as pending. false means no pending update is currently recorded locally; it does not force a network update check.

Privacy and safety

  • Local tools read local Steam files and open Steam URIs; they do not require a Steam Web API key.
  • steam_launch_game only launches games found in a local installed-game manifest.
  • Steam starts hidden when required for an action, rather than opening a visible launcher window first.
  • There is no purchase or uninstall tool.
  • Public Store descriptions are omitted by default. If explicitly requested, descriptions are capped, converted to plain text, and marked as untrusted external content.
  • Web API and Store responses are cached locally under %LOCALAPPDATA%\steam-local-mcp\cache by default. Set STEAM_MCP_CACHE_DIR to override it, and call steam_refresh_cache to clear it.

Development

npm install
npm test
npm pack --dry-run

The test suite includes local parsing/caching tests, mocked Store and API tests, all-tool MCP protocol tests, and a real stdio handshake for the packaged entry point.

Contributing

Issues and pull requests are welcome. Please include a regression test for behavior changes, and keep destructive Steam operations out of scope unless they are explicitly designed and documented.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选