Steam Game Server MCP

Servidor Model Context Protocol (MCP) que consulta, diagnostica e gerencia perfis Steam, bibliotecas de jogos, usuários simultâneos e status de servidores de jogos.

Documentação

Steam & Game Server MCP

Servidor MCP (Model Context Protocol) para consultar, diagnosticar e gerenciar perfis Steam, biblioteca de jogos, jogadores simultâneos e status de servidores de jogos.
Use com clientes MCP como Cursor, Claude Desktop, VS Code, Windsurf, etc.


1. Introdução

CategoriaDescrição
FunçãoIntegração Steam Web API + servidores de jogos (Query/RCON/logs)
SteamPerfis, biblioteca de jogos, jogadores simultâneos, notícias de aplicativos
Game ServerConsulta de status de servidor via gamedig, RCON (kick/ban/restart), parsing de logs

2. Requisitos

  • Node.js 18+
  • Cliente MCP (Cursor, Claude Desktop, VS Code, Windsurf, etc.)
  • STEAM_API_KEY — Obter chave da API Steam

A configuração considera a inserção de variáveis de ambiente em env nas configurações do MCP. .env é usado apenas para desenvolvimento local.


3. Configuração do MCP

3.1 Configuração padrão (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: se não definido, usa ./servers.json. Se ambos estiverem ausentes, apenas as ferramentas Steam funcionam

3.2 Cursor

  1. SettingsMCPAdd new MCP Server
  2. Insira o JSON acima (ou defina command como node e args como ["/path/to/dist/index.js"] para caminhos de build local)

3.3 Resumo por chave de env

env keyObrigatórioUso
STEAM_API_KEYOAutenticação da API Steam. Obrigatório ao usar ferramentas Steam
STEAM_IDXSteam ID padrão. Se ausente, o argumento steamId é necessário ao chamar as ferramentas
STEAM_MCP_SERVERS_PATHXCaminho do servers.json. Necessário ao usar ferramentas de Game Server
SERVER_RCON_PASSWORD etc.XSenha RCON. Ao usar ferramentas Admin, defina com nome correspondente ao passwordEnv no servers.json
STEAM_MCP_ADMIN_TOKENXNecessário ao chamar add_server, remove_server. A execução exige que env e o parâmetro adminToken coincidam

3.4 Conjuntos de env por cenário de uso

CenárioenvArquivo
Apenas consulta SteamSTEAM_API_KEY, STEAM_ID(opcional)-
Consulta de Game ServerSTEAM_API_KEY, STEAM_MCP_SERVERS_PATHservers.json
Game Server + RCON AdminAcima + SERVER_RCON_PASSWORDservers.json (inclui configuração rcon)
add_server, remove_serverAcima + STEAM_MCP_ADMIN_TOKENservers.json

4. Ferramentas MCP (26)

Steam (7)

FerramentaDescrição
steam_resolve_vanity_urlConverte URL personalizada → SteamID
steam_get_player_summaryResumo do perfil
steam_get_owned_gamesLista de jogos possuídos
steam_get_recently_playedJogos jogados recentemente
steam_get_current_playersJogadores simultâneos por aplicativo
steam_get_servers_at_addressConsulta servidor de jogos por IP
steam_get_app_newsNotícias/notas de atualização do aplicativo

Game Server (3)

FerramentaDescrição
game_server_queryStatus do servidor (nome, mapa, jogadores, ping)
game_server_playersLista de jogadores
game_server_rulesRegras do servidor (cvars)

Monitoring (6)

FerramentaDescrição
server_overviewConsulta status de todos os servidores
server_healthDiagnóstico de servidor único
server_diagnoseDiagnóstico para IA
server_compareComparação de servidores + recomendação
server_alertFiltro de servidores com problemas
server_trendTendência de número de jogadores

Admin (4) — requer RCON

FerramentaDescrição
server_admin_kick_playerExpulsar jogador
server_admin_ban_playerBanir jogador
server_admin_restart_serverReiniciar servidor
server_admin_rcon_commandComando RCON de whitelist

Inventory (4)

FerramentaDescrição
add_serverAdiciona servidor ao servers.json
remove_serverRemove servidor do servers.json
list_serversLista de servidores registrados
auto_discover_serversBusca candidatos via Steam Master Server

Discovery (1)

FerramentaDescrição
steam_discover_serversBusca servidores de jogos via Steam Master Server Query

Log (1)

FerramentaDescrição
log_recent_eventsExtrai player_join/leave e erros do logPath (caminho de arquivo local) no servers.json

5. Testes

Testes automáticos (Vitest)

npm test
  • config/servers, server-tools, inventory-tools, admin-tools, discovery-tools, log-tools, steam-tools, rcon/client — total de 76

Testes manuais

  • Consulta de Game Server: registre um servidor Minecraft público (ex.: Hypixel) no servers.json e chame game_server_query, server_overview
  • RCON: execute um servidor mock com npm run rcon:serverSTEAM_MCP_SERVERS_PATH=./test/rcon/servers.rcon-test.json SERVER_RCON_PASSWORD=test123 npm run rcon:test -- my-rust status

6. Atenções e restrições de implementação

Condições de erro

  • tipo gamedig: type deve corresponder a GAMES_LIST
  • RCON: se rcon.enabled: true e não houver env correspondente a passwordEnv, retorna "RCON not configured for this server."
  • STEAM_API_KEY: se não definida, todas as ferramentas Steam retornam "STEAM_API_KEY 환경 변수를 확인하세요."

Restrições de implementação

ItemRestrição
log_recent_eventslogPath suporta apenas caminhos de arquivo local acessíveis pelo processo MCP. URL remota/SSH não é permitido. Jogos suportados: rust, counterstrike2/csgo/tf2 e outros motores Source, minecraft
server_trendAmostras se acumulam ao chamar game_server_query. Chamar apenas trend isoladamente pode não ter dados
add_server, remove_serverÉ necessário inserir o mesmo valor da env STEAM_MCP_ADMIN_TOKEN no parâmetro adminToken para executar

7. Configuração de desenvolvimento

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

Ao executar localmente, defina STEAM_API_KEY, STEAM_ID, senha RCON, etc. em .env.