Steam MCP服务器
功能丰富 模型上下文协议 服务器,让AI助手完全访问您的Steam游戏库。工作在 Linux、macOS和Windows.14个整合工具,涵盖66项行动——大部分工作来自本地文件 不需要API密钥.可选Steam Web API密钥解锁在线数据,如成就、朋友和完整的图书馆访问。
适用于Claude Desktop、Claude Code或任何兼容MCP的客户端。
它能做什么?
问你的AI助手一些事情,比如:
- “我安装了哪些游戏?”
- “搜索ck3”→ 通过缩写匹配找到十字军国王三世
- “Steam使用了多少磁盘空间?”→ 按游戏完全细分
- “查找我可以清理的孤立数据”→ 识别剩余的compatadata/shadercache
- “我应该为这款游戏使用哪个Proton版本?”
- “安装空心骑士”→ 查找appid,告诉Steam安装它
- “为我随机选择一个游戏”
- “显示我的完整游戏历史”→ 整个库中的所有游戏时间
- “将我的Lutris游戏作为Steam快捷方式导入”
- “为哈迪斯展示我的成就”→ 解锁状态、完成百分比、全局统计数据
- “现在谁在线?”→ 好友列表,包括在线状态和当前游戏
- “我的愿望清单上有什么?”
- “显示Elden Ring的评论”
- “打败空心骑士要多久?”
安装
npm(推荐)
无需安装,只需将其添加到MCP客户端配置中即可(见下文)。
全局安装
npm install -g @praeses/steam-mcp
然后使用 steam-mcp 作为命令而不是 npx @praeses/steam-mcp.
使用Claude Desktop进行配置
添加到您的Claude Desktop配置中:
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["@praeses/steam-mcp"],
"env": {
"STEAM_API_KEY": "your-key-here"
}
}
}
}
使用Claude代码进行配置
添加一个 .mcp.json 在项目根目录中,或添加到 ~/.claude.json 对于全系统访问:
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["@praeses/steam-mcp"],
"env": {
"STEAM_API_KEY": "your-key-here"
}
}
}
}
注: 这 STEAM_API_KEY 是可选的。大多数工具在没有它的情况下都能工作。只有少数操作(成就、朋友、拥有的游戏、愿望清单、个人资料)需要它。在 steamcommunity.com/dev/apikey.
类别筛选
为了进一步减少上下文窗口的使用,请通过以下方式仅启用特定的工具类别 STEAM_TOOLS env 是:
{
"env": {
"STEAM_TOOLS": "core,manage,compat"
}
}
可用类别及其工具:
| 类别 |
工具 |
描述 |
core |
games, library, steam_status |
游戏浏览、库统计、Steam状态 |
compat |
proton, diagnostics |
Proton/Wine兼容性,日志解析 |
manage |
game_control, game_config, shortcuts |
安装/启动/验证、启动选项、非Steam快捷方式 |
storage |
storage |
磁盘使用、清理、着色器缓存、云保存、备份 |
api |
player, workshop |
玩家简介/成就/好友、工作坊项目 |
market |
deals |
销售支票、愿望清单、图书馆估价 |
insights |
insights |
完成统计、时间线、年度回顾、游戏历史、导出 |
content |
game_info |
评论、新闻、媒体、HLTB、PCGamingWiki修复 |
未设置时,所有类别都将启用(14个工具,约3200个上下文标记)。
先决条件
- Node.js 18+
- 蒸汽安装在默认位置:
- Linux:
~/.local/share/Steam/
- macOS:
~/Library/Application Support/Steam/
- 视窗:
C:\Program Files (x86)\Steam\
Proton/Wine工具(兼容性跟踪、前缀检查、崩溃日志)仅适用于Linux。所有其他工具都可以跨平台工作。
工具
每个工具都使用 action 参数来选择操作。14个工具共涵盖66个动作。
games --游戏发现和浏览
| 动作 |
描述 |
list |
列出已安装的游戏,包括过滤、排序和分页 |
get |
通过appid获取游戏的完整详细信息 |
search |
带有缩写匹配的智能搜索(例如“ck3”→ 十字军国王三世) |
compare |
并排比较两款游戏 |
random |
随机选择一款已安装的游戏 |
unplayed |
查找您拥有但尚未玩过的游戏 |
library --库文件夹和统计信息
| 动作 |
描述 |
list |
列出所有Steam库文件夹的大小和可用空间 |
stats |
汇总统计数据:总游戏数、播放时间、磁盘使用情况 |
steam_status --Steam客户端状态
| 动作 |
描述 |
status |
检查蒸汽是否正在运行 |
queue |
查看当前下载队列 |
progress |
检查游戏的下载进度 |
proton --Proton/Wine兼容性(Linux)
| 动作 |
描述 |
list_games |
列出所有使用Proton/Wine的游戏,包括版本和前缀大小 |
info |
获取特定游戏的兼容性详细信息 |
versions |
列出已安装的Proton版本以及使用它们的游戏 |
db_rating |
获取ProtonDB社区评级 |
recommend |
获取游戏的Proton版本推荐 |
prefix |
检查Wine/Proton前缀(Windows版本、文件数、大小) |
crash_logs |
查找并读取崩溃转储和日志 |
storage --磁盘管理
| 动作 |
描述 |
disk_report |
每个游戏磁盘使用情况明细(安装+兼容性+着色器+工作室) |
orphaned |
查找未安装游戏的剩余数据 |
cleanup |
获得节省空间的清理建议 |
shader_cache |
特定游戏的着色器缓存大小 |
shader_stats |
所有游戏的着色器缓存概述 |
saves_list |
列出每个游戏的本地云保存数据 |
saves_stats |
云保存聚合统计数据 |
backup |
备份云保存到目录 |
game_control --游戏动作
| 动作 |
描述 |
install |
通过Steam安装游戏 |
uninstall |
卸载游戏 |
launch |
启动游戏 |
verify |
验证游戏文件的完整性 |
move |
将游戏移动到另一个库文件夹 |
store_page |
打开Steam商店页面 |
game_config --配置和调整
| 动作 |
描述 |
get_launch_opts |
阅读当前启动选项 |
set_launch_opts |
设置启动选项 |
presets |
列出/应用启动选项预设(MangoHud、GameMode、Vulkan等) |
mangohud |
显示、设置或重置MangoHud配置 |
steam_settings |
查看Steam客户端设置 |
player -播放器数据(大多数操作需要API密钥)
| 动作 |
描述 |
summary |
带有在线状态和帐户信息的玩家个人资料 |
level |
蒸汽等级、经验值和徽章 |
bans |
VAC和游戏禁令状态 |
friends |
好友列表,包括在线状态和当前游戏 |
achievements |
每场比赛成就解锁状态 |
global_achievements |
全球成就解锁百分比 |
schema |
游戏的成就和统计定义 |
owned |
完整的自有游戏列表,包括游戏时间 |
recent |
最近玩的游戏 |
workshop --蒸汽车间
| 动作 |
描述 |
list |
列出游戏中已安装的工作室项目 |
stats |
所有游戏的工作坊统计数据 |
search |
搜索Steam工作室 |
shortcuts --非Steam游戏快捷方式
| 动作 |
描述 |
list |
列出所有非Steam快捷方式 |
add |
添加新快捷方式 |
remove |
删除快捷方式 |
import_lutris |
从Lutris导入游戏 |
deals --定价和愿望清单
| 动作 |
描述 |
check_sale |
查看游戏是否正在打折 |
wishlist_deals |
在您的愿望清单上找到打折游戏 |
wishlist |
查看包含价格和评论的完整愿望清单 |
library_value |
估计图书馆总价值 |
insights --分析和历史
| 动作 |
描述 |
completion |
顶级游戏的成就完成率 |
timeline |
逐月游戏活动 |
year_review |
年度游戏回顾 |
play_history |
完整的游戏时间历史记录(已安装+未安装的游戏) |
export |
将库数据导出为JSON或CSV |
game_info --游戏内容和元数据
| 动作 |
描述 |
reviews |
带有分数的用户评论 |
news |
最新新闻文章 |
media |
游戏插图URL和本地覆盖 |
hltb |
LongToBeat预计完成时间 |
pcgamingwiki |
PCGamingWiki修复和调整 |
diagnostics --日志解析
| 动作 |
描述 |
compat_log |
解析Proton/Wine兼容性日志 |
shader_log |
解析着色器编译日志 |
关键亮点
- 最小的上下文占用空间 --14个工具,约3200个代币(低于v1中的66个工具/约8000个代币)
- 跨平台 --Linux、macOS和Windows(Proton工具仅适用于Linux)
- 不需要API密钥 对于大多数操作,直接从Steam的本地文件读取
- 智能搜索 --“ck3”找到“十字军国王三世”,“ror2”找到“雨的风险2”
- 完整游戏历史 --您玩过的每个游戏的播放时间,而不仅仅是安装的游戏
- 存储分析 --显示磁盘空间的确切位置(安装+兼容数据+着色器缓存+车间)
- 孤立检测 --从未安装的游戏中查找GB的剩余数据
- 多馆 --支持多个Steam库文件夹,包括外部驱动器
- 类别筛选 --通过仅启用所需的工具组
STEAM_TOOLS env 是
- 自定义VDF解析器 --文本和二进制格式,无外部依赖
发展
从源代码安装
git clone https://github.com/Praeses0/steam-mcp.git
cd steam-mcp
npm install
npm run build
命令
npm run dev # Run with tsx (auto-reload)
npm run build # Compile TypeScript
npm test # Run tests
建筑
src/
├── index.ts # Server entry, category-based tool registration
├── vdf/
│ ├── parser.ts # Text VDF recursive descent parser + serializer
│ ├── binary-parser.ts # Binary VDF parser (shortcuts.vdf)
│ ├── binary-writer.ts # Binary VDF writer (shortcut management)
│ └── types.ts # VdfValue, VdfObject types
├── steam/
│ ├── paths.ts # Cross-platform Steam dir resolution, user detection
│ ├── manifests.ts # App manifest reading with mtime caching
│ ├── library.ts # Library folder operations + disk info
│ ├── userdata.ts # localconfig.vdf read/write
│ ├── compat.ts # Proton/Wine compatibility tracking
│ ├── workshop.ts # Workshop manifest reading
│ ├── shortcuts.ts # Binary shortcuts.vdf read/write
│ ├── api.ts # Steam Web API client
│ ├── api-types.ts # Shared API response types
│ ├── wishlist.ts # Wishlist data fetching
│ ├── logs.ts # Steam log parsing
│ └── types.ts # Domain types
├── tools/ # 14 consolidated MCP tools (one file per tool)
└── util/
├── format.ts # formatBytes, formatPlaytime, formatTimestamp
├── cache.ts # FileCache<T> with mtime invalidation
└── fs.ts # Shared filesystem utilities
许可证
麻省理工学院