游戏服务器管理协议

一个用于查询、诊断和管理Steam个人资料、游戏库、并发玩家和游戏服务器状态的MCP服务器协议。

  • by jumoooo
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jumoooo/steam-game-server-mcp

使用说明

Steam和游戏服务器MCP

用于查看、诊断和管理Steam配置文件、游戏库、并发用户和游戏服务器状态的模型上下文协议(MCP)服务器。
在MCP客户端上使用Cursor、Claude Desktop、VS Code、Windsurf等。


1.介绍

区分 内容
角色 Steam Web API+游戏服务器(Query/RCON/日志)集成
Steam 查看个人资料、游戏库、并发用户、应用程序新闻
Game Server 基于gamedig的服务器状态查询、RCON(kick/ban/restart)、日志解析

2.要求事项

  • Node.js 18+
  • MCP客户端(Cursor、Claude Desktop、VS Code、Windsurf等)
  • STEAM_API_KEY — Steam API密钥 签发

MCP设置的 env基于将环境变量放入中。 .env仅用于本地开发。


3.MCP设置

3.1标准设置(npx)

# 사전 설치 없이 npx로 최신 버전 실행 (최초 1회 실행 시 패키지를 내려받습니다)
npx steam-game-server-mcp@latest --help
{
  "mcpServers": {
    "steam-game-server": {
      "command": "npx",
      "args": ["steam-game-server-mcp@latest"],
      "env": {
        "STEAM_API_KEY": "your_key",
        "STEAM_ID": "your_steam_id",
        "STEAM_MCP_SERVERS_PATH": "C:/path/to/servers.json"
      }
    }
  }
}
  • STEAM_MCP_SERVERS_PATH:未设置 ./servers.json 使用。如果两者都不存在,则只有Steam工具可用

3.2光标

  1. Settings → MCP → Add new MCP Server
  2. 输入上面的JSON(或 command被 node, args被 ["/path/to/dist/index.js"]指定本地构建路径)

3.3env密钥摘要

env键 必需 用途
STEAM_API_KEY O Steam API认证。使用Steam工具时必需
STEAM_ID X 默认Steam ID。如果没有,请调用工具 steamId 需要参数
STEAM_MCP_SERVERS_PATH 路径Xservers.json。使用Game Server工具需要
SERVER_RCON_PASSWORD 等X RCON密码。使用Admin工具时,servers.json的 passwordEnv设置为与匹配的名称
STEAM_MCP_ADMIN_TOKEN X add_server,调用remove_server时需要。 env + adminToken 必须同时匹配两个参数才能运行

3.4特定使用场景的env集

方案 env 文件
仅Steam查询 STEAM_API_KEY, STEAM_ID(选择)--
浏览Game Server STEAM_API_KEY, STEAM_MCP_SERVERS_PATH servers.json
Game Server+RCON Admin 以上+ SERVER_RCON_PASSWORD servers.json(包括rcon设置)
add_server、remove_server 위 + STEAM_MCP_ADMIN_TOKEN servers.json

4.MCP工具(26个)

Steam(7个)

工具 说明
steam_resolve_vanity_url 自定义URL→SteamID转换
steam_get_player_summary 配置文件摘要
steam_get_owned_games 拥有的游戏列表
steam_get_recently_played 最新游戏
steam_get_current_players 每个应用程序的并发连接数
steam_get_servers_at_address 通过IP查询游戏服务器
steam_get_app_news 应用新闻/补丁说明

Game Server(3个)

工具 说明
game_server_query 服务器状态(名称、映射、人员、ping)
game_server_players 玩家列表
game_server_rules 服务器规则(cvars)

Monitoring(6个)

工具 说明
server_overview 查看所有服务器状态
server_health 单服务器诊断
server_diagnose AI诊断
server_compare 服务器比较+推荐
server_alert 筛选问题服务器
server_trend 玩家数量趋势

Admin(4个)-需要RCON

工具 说明
server_admin_kick_player 驱逐玩家
server_admin_ban_player 玩家货车
server_admin_restart_server 重新启动服务器
server_admin_rcon_command whitelist RCON命令

Inventory(4个)

工具 说明
add_server 将服务器添加到servers.json
remove_server 从servers.json中删除服务器
list_servers 注册服务器列表
auto_discover_servers 通过Steam Master Server浏览候选内容

Discovery(1个)

工具 说明
steam_discover_servers 使用Steam Master Server Query搜索游戏服务器

Log(1个)

工具 说明
log_recent_events 从servers.json的logPath(本地文件路径)中提取player_join/leave、error

5.测试

自动测试(Vitest)

npm test
  • 配置/服务器、服务器工具、清单工具、管理工具、发现工具、日志工具、steam工具、rcon/client--총 76개

手动测试

  • 查看Game Server:在servers.json中注册公共Minecraft服务器(Hypixel等)后 game_server_query, server_overview 呼叫
  • 远程控制台: npm run rcon:server通过运行mock服务器→ STEAM_MCP_SERVERS_PATH=./test/rcon/servers.rcon-test.json SERVER_RCON_PASSWORD=test123 npm run rcon:test -- my-rust status

6.注意事项和实施限制

错误条件

  • gamedig类型: type银 游戏列表必须与匹配
  • 远程控制台: rcon.enabled: true表示原因 passwordEnv如果没有对应的env "RCON not configured for this server." 返还
  • STEAM_API_键:未设置时全部Steam工具 "STEAM_API_KEY 환경 변수를 확인하세요." 返还

实施限制

项目 约束
log_recent_events logPath是MCP进程可访问的 本地文件路径万志远。远程URL/SSH不可用。支持游戏:rust、counterstrike2/csgo/tf2等Source引擎,minecraft
server_trend game_server_query 调用时累积示例。单独调用trend可能没有数据
add_server, remove_server adminToken 在参数中 STEAM_MCP_ADMIN_TOKEN env和 相同的值必须放入才能运行

7.开发设置

npm install
npm run build
npm run dev   # 또는 npm start

本地运行时 .env呃 STEAM_API_KEY, STEAM_ID、RCON密码等。