mcpField
S
steam-local-mcp

steam-local-mcp

本地服务
github.com/Jackson-Brooks游戏娱乐014 周前更新

关于 steam-local-mcp

steam-local-mcp 是面向 Windows 的开源 Steam MCP 服务,让 Agent 操作当前用户安装的 Steam 客户端。它提供本地游戏管理和商店查询,也可选用 Steam Web API 获取账户游戏数据。

主要功能

  1. 01查找已安装游戏
  2. 02启动游戏并打开 Steam 页面
  3. 03查看安装、下载与更新状态
  4. 04统计 Steam 库存储空间
  5. 05搜索商店并查询游戏资料
  6. 06可选查询账户游戏与游玩记录

适用场景

  1. 01让 Agent 根据本地游戏库推荐游戏
  2. 02通过对话启动已安装游戏
  3. 03检查下载状态及库空间
  4. 04查询近期游玩记录或已拥有游戏

MCP 相关

这是标准 stdio MCP 服务,可由 Codex、Claude 或其他能运行本地命令的 MCP 客户端连接。账户相关工具需配置 Steam Web API 密钥和 Steam ID。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jackson-brooks-steam-local": {
"command": "npx",
"args": [
"-y",
"steam-local-mcp"
],
"env": {
"STEAM_API_KEY": "<STEAM_API_KEY>",
"STEAM_ID": "<STEAM_ID>"
}
}
}
}
启动命令npx -y steam-local-mcp
需要配置的环境变量
STEAM_API_KEY密钥Optional Steam Web API key for account-library and recently-played tools.
STEAM_IDOptional 64-bit Steam ID used with STEAM_API_KEY for account-library tools.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsteam-local-mcp0.2.2

工具

17

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
offsetinteger否

详细介绍

Steam Local MCP

一个免费的开源 Windows Model Context Protocol 服务,可让支持 MCP 的 Agent 操作当前 Windows 用户安装的 Steam 客户端。

你可以让 Agent 查找已安装的游戏、启动游戏、打开 Steam 页面、检查本地下载/更新状态、搜索商店,或汇总 Steam 库的存储情况。当请求的客户端操作需要启动 Steam 时,Steam 会在后台静默启动。

这是一个标准的 stdio MCP 服务。它与 Agent 无关:可搭配 Codex、Claude 或任何能够运行本地命令的 MCP 客户端使用。

使用示例

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."

功能

本地 Steam 工具 — 无需 API 密钥
  • steam_list_games 和 steam_find_game — 查看所有已配置 Steam 库中的本地已安装游戏。
  • steam_launch_game — 按名称或 app ID 启动一个已安装的游戏。
  • steam_get_game_install_status 和 steam_get_download_status — 查看清单记录的安装、更新、下载和暂停下载状态。
  • steam_get_library_storage — 显示每个本地 Steam 库的已安装内容大小和磁盘可用空间。
  • steam_open_library_page、steam_open_store_page 和 steam_open_client_page — 在 Steam 客户端中导航。
  • steam_install_game — 请求 Steam 安装一个 app ID;Steam 会验证所有权并管理安装流程。
  • steam_client_status — 报告检测到的 Steam 安装信息、发现来源以及 Steam 是否正在运行。
公开商店工具 — 无需 API 密钥
  • steam_search_store — 根据游戏名称查找商店 app ID。
  • steam_get_game_details — 获取公开元数据、价格、类型、发行日期和 Metacritic 评分。
可选账户工具 — 需要 Steam Web API 密钥

设置 STEAM_API_KEY 和 STEAM_ID 以启用:

  • steam_api_status — 验证 API 凭据是否已配置、有效并已连接到 Steam Web API。
  • steam_get_library — 获取拥有的游戏、游戏时间、上次游玩时间,并支持筛选和分页。
  • steam_get_recently_played — 按两周游戏时间排序,获取最近游玩的游戏。

要求

  • Windows 10 或更高版本
  • 当前 Windows 用户已安装 Steam
  • Node.js 20 或更高版本

从 npm 安装

若要通过 npm 安装已发布的软件包,请将以下等效配置添加到 MCP 客户端:

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

配置文件的位置因 Agent 而异,但上述命令和参数保持不变。保存配置后,重启或重新连接 MCP 客户端。

若要手动确认安装,请运行:

npx -y steam-local-mcp print-config

从源代码安装

在开发、审查源代码或 npm 版本尚未发布时使用此方式:

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

然后配置 MCP 客户端,使其从克隆目录运行已编译的入口文件:

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

将 C:\path\to\steam-local-mcp 替换为你自己的克隆位置。请勿使用其他用户的路径。

可选的 Steam Web API 配置

通过 MCP 客户端的环境配置或操作系统环境传递凭据:

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

服务不会自动加载 .env 文件。切勿提交凭据。Steam 个人资料和游戏详情的隐私设置可能导致账户工具无法返回数据;即使个人资料设为私密,本地客户端控制功能仍可使用。

获取 Steam API 凭据
  1. 在浏览器中登录 Steam,并打开 Steam Web API 密钥页面。
  2. 创建或复制密钥,然后在 MCP 客户端的环境配置中将其设为 STEAM_API_KEY。请妥善保密。
  3. 将 STEAM_ID 设为你的数字 64 位 Steam ID,而不是账户名。它通常显示在个人资料 URL 中,例如 https://steamcommunity.com/profiles/7656119...。
  4. 重启或重新连接 MCP 客户端,然后调用 steam_api_status,确认凭据已配置。

配置好密钥后,Agent 可以回答“显示我尚未玩过的 Steam 游戏”或“我最近玩过什么?”之类的请求。密钥是可选的:启动游戏、查看本地安装状态和存储空间、搜索商店以及获取商店元数据都无需密钥。

Steam 检测和本地状态

Steam Local MCP 会按以下顺序检查:

  1. STEAM_PATH — Steam 目录或其 steam.exe
  2. 当前用户和计算机的 Valve 注册表项
  3. 常见的每用户目录、Program Files 目录和 C:\Steam 位置
  4. PATH 中的 steam.exe

使用 steam_client_status 查看选定的路径和发现来源。对于便携式安装或安装在特殊自定义驱动器上的情况,请将 STEAM_PATH 设为包含 steam.exe 的目录。

安装和下载工具会读取 Steam 的本地应用清单。needs_update: true 表示 Steam 已记录有待处理的更新。false 表示当前本地未记录待处理的更新;这不会强制执行网络更新检查。

隐私和安全

  • 本地工具会读取本地 Steam 文件并打开 Steam URI;它们不需要 Steam Web API 密钥。
  • steam_launch_game 只会启动本地已安装游戏清单中的游戏。
  • 执行操作时如有需要,Steam 会在后台启动,而不会先打开可见的启动器窗口。
  • 不提供购买或卸载工具。
  • 默认不包含公开商店的游戏说明。如明确请求,说明内容会被截断、转换为纯文本,并标记为不可信的外部内容。
  • Web API 和商店响应默认缓存在 %LOCALAPPDATA%\steam-local-mcp\cache 下。设置 STEAM_MCP_CACHE_DIR 可更改缓存目录,调用 steam_refresh_cache 可清除缓存。

开发

npm install
npm test
npm pack --dry-run

测试套件包括本地解析和缓存测试、模拟的商店和 API 测试、覆盖所有工具的 MCP 协议测试,以及针对打包入口的真实 stdio 握手测试。

贡献

欢迎提交问题和拉取请求。请为行为变更附上回归测试,并避免将破坏性 Steam 操作纳入范围,除非这些操作经过明确设计并有文档说明。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。