mcpField
S
Steam MCP Server

Steam MCP Server

本地服务
github.com/julianmeyerr游戏娱乐06 周前更新

关于 Steam MCP Server

Steam MCP Server 通过本地 stdio 服务,将 Steam Web API 数据提供给 Claude Desktop 和 Claude Code。工具涵盖玩家资料、游戏库、成就、好友、游戏新闻和玩家统计。

主要功能

  1. 01查询公开玩家资料
  2. 02查看拥有及近期游玩游戏
  3. 03获取成就与好友动态
  4. 04比较游戏库
  5. 05搜索游戏并查看新闻
  6. 06查询玩家数与封禁状态

适用场景

  1. 01查看玩家游戏库和游玩时长
  2. 02与其他用户比较拥有的游戏
  3. 03检查好友当前状态及近期动态
  4. 04查找游戏新闻和玩家统计

MCP 相关

该服务通过本地 stdio 将 Steam Web API 操作作为 MCP 工具提供给兼容客户端。账户相关工具需要 API 密钥;公开游戏搜索和玩家人数查询无需密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"julianmeyerr-steam": {
"command": "npx",
"args": [
"-y",
"@j.meyer/steam-mcp-server"
],
"env": {
"STEAM_API_KEY": "<STEAM_API_KEY>",
"MY_STEAM_ID": "<MY_STEAM_ID>",
"STEAM_FAMILY_MEMBER_IDS": "<STEAM_FAMILY_MEMBER_IDS>"
}
}
}
}
启动命令npx -y @j.meyer/steam-mcp-server
需要配置的环境变量
STEAM_API_KEY密钥Steam Web API key for account-related tools.
MY_STEAM_IDDefault SteamID64 used when a tool does not receive one.
STEAM_FAMILY_MEMBER_IDSOptional comma-separated SteamID64 values for the family library.

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

安装包
npm@j.meyer/steam-mcp-server1.1.6

工具

15

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

参数类型必填说明
steamidsarray否可选的 SteamID64 列表。省略时使用你自己的 ID。

详细介绍

steam-mcp-server

通过 stdio 在本地运行的 MCP 服务,将 Steam Web API 封装为 Claude Desktop 或 Claude Code 可用的工具。

可用工具

工具描述
get_player_profile一个或多个用户的公开个人资料(名称、头像、状态)
get_owned_games用户拥有的游戏,包括游戏时长
get_family_owned_games统一的家庭游戏库及所有权信息
get_recently_played_games过去两周内玩过的游戏
get_player_achievements用户在特定游戏中的成就
get_friend_list用户的 Steam 好友列表
get_friends_current_status好友的当前状态和正在玩的游戏
get_friends_recent_activity好友的近期动态
compare_owned_games与另一位用户共同拥有的游戏
get_app_newsSteam 游戏的最新新闻和更新
get_global_achievement_percentages解锁各项成就的玩家百分比
get_current_players游戏当前玩家人数
resolve_vanity_url将自定义 URL 转换为 SteamID64
search_game搜索游戏并返回其 AppID
get_player_bansVAC、社区、交易和游戏封禁状态

所查询的 Steam 个人资料必须是公开的,但使用自己的 API 密钥查询自己的 SteamID 时除外。 账户相关工具需要 API 密钥;当前玩家人数和游戏搜索等公开工具无需密钥即可运行。

1. 获取 Steam API 密钥

访问 https://steamcommunity.com/dev/apikey,使用 Steam 账户登录并生成 API 密钥。Steam 要求你的游戏库中至少有一款游戏,才会发放密钥。

2. 安装

要求:Node.js 18 或更高版本。

npm install
cp .env.example .env       # macOS/Linux
# Windows PowerShell: Copy-Item .env.example .env
# Edit .env and add your STEAM_API_KEY
npm run build

.env 文件包含机密信息,不得公开。如果你的网络使用 SSL 检查,请将 STEAM_EXTRA_CA 设置为私有 CA 证书的路径。只有在可信网络中不得已时,才使用 STEAM_TLS_INSECURE=1。

默认情况下,Steam 响应会在内存中缓存 30 秒,请求之间至少间隔 100 毫秒,以减少触发速率限制错误的情况。设置 STEAM_CACHE_TTL_MS=0 可禁用缓存;如有需要,也可调整 STEAM_MIN_REQUEST_INTERVAL_MS。

家庭游戏库

将家庭成员的 SteamID64 值配置为逗号分隔的列表。系统会自动包含 MY_STEAM_ID:

MY_STEAM_ID=76561199080486814
STEAM_FAMILY_MEMBER_IDS=76561100000000001,76561100000000002

get_family_owned_games 工具会返回每款游戏的 appid、名称和所有者的 SteamID64。如果多个账户都拥有某款游戏,owner 中会包含多个 ID。Steam Web API 不会直接公开仅通过 Steam Families 借用的游戏;它只会返回每个账户公开为自有的游戏。

3. 使用 MCP Inspector 测试

建议在将服务连接到实际客户端之前先进行测试。

npm run inspector

这会打开浏览器界面,你可以在其中手动列出并执行工具,以验证它们是否能正常响应。

如需测试已发布的 npm 包,而不是本地构建版本:

npx --yes "@modelcontextprotocol/inspector" npx --yes --package "@j.meyer/[email protected]" steam-mcp-server

4. 连接到 Claude Desktop

编辑 Claude Desktop 配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

使用项目的绝对路径添加服务:

{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": [
        "--yes",
        "--package",
        "@j.meyer/[email protected]",
        "steam-mcp-server"
      ],
      "env": {
        "STEAM_API_KEY": "your_api_key_here"
      }
    }
  }
}

重启 Claude Desktop。steam 服务应会显示在工具菜单中。

5. 连接到 Claude Code

claude mcp add steam -- npx --yes --package @j.meyer/[email protected] steam-mcp-server

如果 STEAM_API_KEY 定义在 .env 文件中,或定义在运行 claude 时所在的 Shell 环境中,Claude Code 会继承该变量。

发布项目

此服务设计为通过 stdio 在本地运行。每位用户都必须自行配置 STEAM_API_KEY 和 MY_STEAM_ID。切勿复制 .env 文件,也不要在已发布的配置中包含 API 密钥。

创建发布版本前,请在全新副本中验证安装:

npm ci
npm run build
npm test
npm run inspector

如果将其发布为 npm 包,npm publish 会自动构建项目,并且仅分发 dist、README.md、.env.example 和 LICENSE。 此包可通过 @j.meyer/steam-mcp-server 获取。

自动发布

推送匹配 vX.Y.Z 的标签会运行 .github/workflows/publish.yml。此工作流会验证标签是否与 package.json 和 server.json 中的版本一致,然后运行构建、测试、审计和包验证,最后发布到 npm、官方 MCP Registry 和 GitHub Releases。

此工作流使用通过 GitHub OIDC 实现的 npm Trusted Publishing,因此无需 NPM_TOKEN 密钥。在首次自动发布前,请在 npm 包设置中配置 Trusted Publisher:

  • 提供方:GitHub Actions
  • 用户:julianmeyerr
  • 仓库:steam-mcp-server
  • 工作流:publish.yml
  • 允许的操作:npm publish

MCP Registry 发布同样使用 GitHub OIDC,无需额外密钥。Registry 元数据定义在 server.json 中,所有权通过 package.json 中的 mcpName 验证。

将版本更新合并到 main 后,推送相应的标签:

git push origin v1.1.6

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE。

如何获取 SteamID64

大多数工具需要的是 64 位的 steamid(例如 76561197960435530),而不是用户名。你可以使用 resolve_vanity_url 工具转换自定义 Steam URL,或使用 SteamID.io 等外部服务。

后续可能的步骤

  • 添加更多 Steam Store 工具,例如评论、价格和游戏详情。

评论

支持 Markdown

第一次接触 MCP?

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

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