Steam API服务器

一个通过Steam Web API访问玩家资料、游戏库、成就、新闻、好友列表和商店搜索的MCP服务器。

  • by matheusslg
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 matheusslg/steam-mcp

使用说明

Steam MCP服务器

用于Steam Web API的MCP服务器-通过Claude访问玩家档案、游戏库、成就、新闻、好友列表和商店搜索。

概述

这 模型上下文协议(MCP) 服务器将Claude连接到Steam Web API,提供 20工具 跨越6个模块:

  • 玩家 --配置文件、级别、虚荣URL解析、禁令、徽章
  • 图书馆 --拥有的游戏,最近玩过的,愿望清单
  • 游戏信息 --店铺详情、新闻、实时玩家数量、评论
  • 成就 --玩家进度、全局解锁百分比、游戏模式、每场比赛统计数据
  • 社交 --好友列表、群成员资格
  • 发现 --Steam商店搜索、特色游戏和销售

需求

安装

只需让Claude使用repo URL安装此MCP服务器:

Install the MCP server from https://github.com/matheusslg/steam-mcp

Claude将为您处理克隆、构建和配置。

快速启动(手动)

# Clone
git clone https://github.com/matheusslg/steam-mcp.git
cd steam-mcp

# Install & build
npm install
npm run build

# Add to Claude Code
claude mcp add steam -e STEAM_API_KEY=your_key_here -- node /absolute/path/to/steam-mcp/dist/index.js

或者手动将其添加到MCP配置中:

{
  "mcpServers": {
    "steam": {
      "command": "node",
      "args": ["/absolute/path/to/steam-mcp/dist/index.js"],
      "env": {
        "STEAM_API_KEY": "your_key_here",
        "STEAM_ID": "your_steam_id_here"
      }
    }
  }
}

配置

变量 必填 描述
STEAM_API_KEY 是 您的Steam Web API密钥
STEAM_ID 否 默认64位Steam ID(用于 steam_id 参数被省略)

可用工具

玩家

工具 说明
get_player_summary 个人资料信息——显示名称、头像、在线状态、当前游戏、帐户年龄
get_steam_level 玩家的帐户级别
resolve_vanity_url 将自定义配置文件URL转换为64位Steam ID
get_player_bans 检查VAC禁令、游戏禁令、社区禁令和贸易禁令状态
get_badges 徽章收集,包括经验值细分、玩家等级和下一级经验值

图书馆

工具 说明
get_owned_games 带游戏时间的完整游戏库--可按游戏时间、名称或最近时间排序
get_recently_played_games 过去两周玩过的游戏,游戏时间细分
get_wishlist 玩家的Steam愿望清单(取决于隐私设置)

游戏信息

工具 说明
get_game_details 存储页面数据——价格、流派、元评论、平台、发布日期
get_game_news 游戏的最新新闻文章
get_player_count 游戏的当前在线玩家数量
get_game_reviews 带有情绪总结(分数、积极/消极)和评论文本的评论

成就

工具 说明
get_player_achievements 玩家在特定游戏中的成就进度
get_global_achievement_percentages 全球解锁率——每个成就有多罕见
get_game_schema 统计数据和成就的完整列表,包括显示名称、描述、图标
get_user_stats_for_game 玩家每场比赛的统计数据(击杀、获胜等)——每场比赛不同

社交

工具 说明
get_friends_list 玩家的好友列表,包括好友日期
get_user_groups 玩家所属的Steam组ID

发现

工具 说明
search_apps 按名称搜索Steam商店——返回应用程序ID、价格和Metascores
get_featured_games 特色商店类别:销售额、最畅销商品、新品发布、即将上市

用法示例

自然地问克劳德——它会根据需要组合工具。

游戏库分析

"How much is my Steam library worth?"
"Show me my shame list — games I own but have 0 hours played"
"What am I actually playing? Show me my last two weeks"

成就狩猎

"What are my rarest achievements? Find ones less than 5% of players have"
"Which games am I closest to 100% completion on?"
"Give me an achievement difficulty report for Elden Ring"

社交/朋友

"What are my friends playing right now?"
"Compare my game library with my friend's — what do we both own?"
"Rank my friends by Steam level"
"Who's the OG? Rank my friends by account creation date"

游戏英特尔

"Is Battlefield 2042 alive? Check the player count"
"Get me a news digest for the games I've played recently"
"Look up Celeste on Steam — price, reviews, the works"

禁令与信任

"Is this player legit? Check their VAC ban history"
"How many bans does player X have?"

愿望清单和评论

"What's on my Steam wishlist?"
"Show me the reviews for Elden Ring — what are people saying?"
"What's the review score for Cyberpunk 2077?"

店铺与销售

"What's on sale on Steam right now?"
"Show me the top sellers and new releases on Steam"

比赛数据

"Show me my Counter-Strike stats — kills, deaths, wins"
"What are all the possible achievements for Hades?"

有趣的统计数据

"Roast my Steam profile — age, level, games owned vs played, hours wasted"
"What games define my friend group? Most commonly owned games across all my friends"
"Give me my Counter-Strike addiction report"

项目结构

steam-mcp/
├── src/
│   ├── index.ts              # Server entry point
│   ├── config.ts             # Environment config & Steam ID resolution
│   ├── types.ts              # Steam API response interfaces
│   ├── api/
│   │   ├── client.ts         # HTTP client with retry logic
│   │   └── endpoints.ts      # Steam API endpoint constants
│   └── tools/
│       ├── player.ts         # get_player_summary, get_steam_level, resolve_vanity_url, get_player_bans, get_badges
│       ├── library.ts        # get_owned_games, get_recently_played_games, get_wishlist
│       ├── game-info.ts      # get_game_details, get_game_news, get_player_count, get_game_reviews
│       ├── achievements.ts   # get_player_achievements, get_global_achievement_percentages, get_game_schema, get_user_stats_for_game
│       ├── social.ts         # get_friends_list, get_user_groups
│       └── discovery.ts      # search_apps, get_featured_games
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

发展

npm run build       # Compile TypeScript
npm run dev         # Watch mode
npm run start       # Run the server
npm run clean       # Remove dist/

许可证

麻省理工学院