Steam MCP (read-only)
Steam de solo lectura: tienda, reseñas, ofertas, precios, conteo de jugadores y compatibilidad con Steam Deck sin clave de API, además de biblioteca, tiempo de juego, amigos, logros, lista de deseos y planificación de noches de cooperativo con una clave gratuita de Steam Web API.
Documentación
Steam MCP
Un servidor de Model Context Protocol de solo lectura para la API web pública de Steam y la tienda — 41 herramientas, 5 prompts y 2 recursos que permiten a cualquier cliente MCP (Claude Desktop, Claude Code, Cursor, …) responder preguntas sobre Steam: tus amigos, juegos, horas de juego y logros, además de cosas independientes de la cuenta como ofertas, reseñas, jugadores activos en tiempo real, compatibilidad con Steam Deck, descubrimiento, recomendaciones y planificación de cooperativo.
Solo lectura · solo APIs oficiales de Steam · código abierto. Nadie inicia sesión, y el servidor nunca escribe, intercambia, publica, inicia juegos ni realiza compras.
Inicio rápido — no se necesita clave API
Instala uv, luego:
Claude Code
claude mcp add steam -- uvx steam-mcp
Eso es toda la configuración. 19 de las 41 herramientas funcionan sin ninguna credencial — cualquier cosa sobre la tienda o un juego en sí:
"¿Vale la pena comprar Baldur's Gate 3, y cómo van sus reseñas recientes?" "¿Qué juegos cooperativos están en oferta por menos de £20 ahora mismo?" "¿Cuántas personas están jugando Helldivers 2 en este minuto?" "¿Funcionará Hades II correctamente en mi Steam Deck?"
Los tres buscadores de juegos (steam_discover, steam_should_i_buy, steam_recommend) también funcionan
sin clave, siempre que no los personalices.
Añadiendo tu propia cuenta
Una clave gratuita de Steam Web API (se obtiene en un minuto)
desbloquea las otras 22 — las que leen una cuenta específica: biblioteca, horas de juego,
amigos, logros, lista de deseos, inventario. Añade también STEAM_USER y "mi"/"yo" se refieren por defecto
a ti, para que nunca tengas que pegar un SteamID:
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
Consejo: esto se aplica por defecto al proyecto actual. Añade
--scope usersolo si quieres Steam en todos los proyectos — eso mantiene sus herramientas en contexto en todas partes, así que prefiere el ámbito por proyecto a menos que Steam sea transversal para ti.
Claude Desktop — descarga steam-mcp.mcpb desde el
último lanzamiento y ábrelo
(Configuración → Extensiones). Ambos campos son opcionales; déjalos en blanco para las herramientas
sin clave y complétalos más tarde.
Cursor / Cline / Windsurf y la configuración manual de pip están en Configuración más abajo.
Sin una clave, las herramientas de cuenta siguen apareciendo pero marcadas como
[unavailable: needs STEAM_API_KEY], para que tu asistente sepa recurrir a una herramienta sin clave en lugar de fallar con una que no puede usar.
Qué puede responder
Cuenta / perfil (necesita un perfil público; establece STEAM_USER y "mi"/"yo" se refieren por defecto
a ti — no se necesita SteamID):
- "¿Quién está en mi lista de amigos, y quién está en línea ahora mismo?"
- "¿Cuál de mis amigos tiene Helldivers 2 — y quién lo está jugando ahora?"
- "Es noche de juegos — ¿qué juegos cooperativos tenemos en común mis amigos en línea y yo?"
- "Analiza mi biblioteca — mi acumulación pendiente, y lo que amé pero abandoné."
- "¿Qué logros me faltan en Hollow Knight, y cuáles son mis más raros?"
- "¿Qué hay en mi lista de deseos, y hay algo en oferta?"
- "Según lo que más juego, ¿qué debería probar a continuación?"
- "¿Qué hay en mi inventario de CS2, y qué artículos son comercializables?"
Independiente de la cuenta (funciona para cualquier juego, no se necesita SteamID):
- "¿Vale la pena comprar Baldur's Gate 3 — y cómo van sus reseñas recientes?"
- "¿Qué hay en oferta ahora mismo, y cuáles son los más vendidos actuales?"
- "¿Cuántas personas están jugando Counter-Strike 2 en este minuto?"
- "¿Funcionará Hades II en mi Steam Deck?"
- "¿Cuál es el precio en el Community Market de un AK-47 | Redline con desgaste de campo?"
- "¿Es Elden Ring un soulslike? ¿Cuáles son sus etiquetas de comunidad?"
- "Encuentra roguelikes cooperativos bien reseñados por menos de $20."
- "Recomienda juegos como Hollow Knight que no tenga ya."
Herramientas
| Herramienta | Qué devuelve | ¿Necesita clave? |
|---|---|---|
steam_resolve_vanity_url | Nombre de vanidad / URL de perfil → SteamID64 | sí |
steam_get_player_summary | Estado (En línea/Ausente/En juego…), juego actual, para 1–100 usuarios | sí |
steam_get_friend_list | Amigos enriquecidos con nombre + estado en vivo | sí |
steam_find_friends_who_own | Qué amigos tienen (o están jugando) un juego — "con quién puedo jugar a X" | sí |
steam_get_user_groups | Los grupos/clanes de Steam en los que está un usuario (nombre, URL, número de miembros) | sí |
steam_plan_coop_night | Juegos cooperativos que el anfitrión + amigos tienen en común (ordenados por propietarios) — o mode="new" para juegos cooperativos nuevos que ninguno tiene aún; con quién está en línea ahora | sí |
steam_get_owned_games | Juegos poseídos con horas totales/recientes (ordenables) | sí |
steam_analyze_library | Acumulación pendiente, distribución de horas de juego, juegos abandonados en toda una biblioteca | sí |
steam_get_recently_played_games | Horas de juego de las últimas 2 semanas | sí |
steam_get_steam_level | Nivel de comunidad de Steam | sí |
steam_get_player_bans | Baneos de VAC / juego / comunidad / economía | sí |
steam_get_player_achievements | Logros desbloqueados vs bloqueados por juego | sí |
steam_get_game_schema | Definiciones de logros de un juego (nombres, descripciones, indicador de oculto) | sí |
steam_get_global_achievement_percentages | Rareza de logros (porcentaje global) | no |
steam_get_user_game_stats | Estadísticas dentro del juego de un usuario (bajas, victorias, distancia…) para un juego | sí |
steam_get_rarest_unlocks | Los logros más raros desbloqueados por un jugador en un juego (por rareza global) | sí |
steam_search_apps | Título del juego → appid (+ precio) | no |
steam_discover | Encontrar/recomendar juegos por etiqueta, precio, oferta, plataforma, ventana de lanzamiento ("últimos N días") — opcionalmente personalizado al gusto de un usuario (excluye juegos que ya tiene) | no* |
steam_should_i_buy | Informe de compra — precio, reseñas de por vida + recientes (tendencia), etiquetas, Metacritic y coincidencia con tu gusto | no* |
steam_recommend | Recomendar juegos similares a un juego semilla o a tu gusto, con las etiquetas compartidas como el "porqué" | no* |
steam_get_app_details | Detalles completos de la tienda — modos de juego/cooperativo, mando, DLC, idiomas, requisitos, Metacritic, Steam Deck | no |
steam_get_deck_compatibility | Clasificación de Steam Deck (Verificado/Jugable/No compatible) + los resultados de prueba por criterio | no |
steam_get_dlc | El DLC de un juego, con precios en vivo y qué está en oferta | no |
steam_get_app_regional_pricing | El precio de un juego en varias regiones (cada una en moneda local) | no |
steam_get_workshop_item | Metadatos de un artículo del Workshop (juego, etiquetas, suscriptores, favoritos, visitas) | no |
steam_get_app_tags | Las principales etiquetas de comunidad de un juego (Souls-like, Roguelike, Acogedor…) | no |
steam_get_app_reviews | Veredicto de por vida, recuentos +/-, reseñas de muestra; puntuación opcional reciente (últimos N días) mediante review_filter='recent' | no |
steam_analyze_game | Informe de un solo paso sobre un juego: precio, reseñas de todo el tiempo y de 30 días, jugadores ahora, Deck, etiquetas, el efecto de la última actualización en las reseñas y noticias | no |
steam_compare_games | Comparar 2-5 juegos lado a lado: precio, reseñas y su tendencia, jugadores ahora, Steam Deck, cooperativo, etiquetas | no |
steam_get_update_impact | ¿Cambió una actualización las reseñas? Puntuación de reseñas en los días antes vs después de cada parche reciente | no |
steam_analyze_app_reviews | Analizar miles de reseñas: sentimiento a lo largo del tiempo, por idioma y horas de juego, Steam Deck, activaciones de clave vs compras en Steam, reembolsos, respuestas del desarrollador | no |
steam_get_featured_specials | Juegos actualmente en oferta (regional) | no |
steam_get_store_highlights | Más vendidos, nuevos lanzamientos o próximamente | no |
steam_get_wishlist | La lista de deseos de un usuario, con precios en vivo + qué está en oferta | sí |
steam_get_inventory | El inventario de un usuario — artículos de juegos o artículos de la comunidad de Steam (cartas, emoticonos…), con indicadores de intercambiable/comercializable | sí† |
steam_get_market_price | Precio del Community Market para un artículo (mínimo/mediana/volumen 24h) + tipo/rareza + condición de CS2 | no |
steam_get_player_badges | Insignias + el desglose de XP detrás de un nivel de Steam | sí |
steam_get_package_details | Precio de paquete/lote + juegos incluidos | no |
steam_compare_players | Juegos compartidos entre dos usuarios, con horas de juego | sí |
steam_get_current_players | Recuento de jugadores concurrentes en vivo | no |
steam_get_app_news | Noticias recientes / notas de parche | no |
Toda herramienta admite response_format: "markdown" (por defecto) o "json", y todas están
anotadas como readOnlyHint: true. Prefiere las herramientas compuestas (steam_should_i_buy,
steam_recommend, steam_discover, steam_plan_coop_night) en lugar de encadenar varias
llamadas, y pide json solo cuando necesites analizar campos. Las herramientas que leen
texto localizado aceptan un parámetro language — un nombre de idioma de Steam como french o
schinese (por defecto english).
*
steam_discover,steam_should_i_buyysteam_recommendno necesitan clave para los datos de la tienda; su personalización (pasar unsteamidpara usar la biblioteca/ gusto de un usuario) requiere una clave y un perfil público.†
steam_get_inventorylee un endpoint sin clave, pero aún tiene que saber de quién es el inventario — y convertir un nombre de vanidad (oSTEAM_USER) en un SteamID64 es en sí una llamada con clave. Pasa un SteamID64 crudo de 17 dígitos y funciona sin clave.
Prompts y recursos
Además de las herramientas, el servidor incluye prompts (flujos guiados de un clic que orquestan las herramientas) y recursos (entidades de Steam de referencia por URI):
- Prompts:
what_should_i_play,is_it_worth_buying,plan_game_night,steam_deals,game_overview. - Recursos:
steam://app/{appid}(detalles de la tienda) ysteam://user/{steamid}(perfil + estado en vivo).
Reseñas recientes:
steam_get_app_reviewsconreview_filter='recent'le pide a Steam el recuento exacto de reseñas y la puntuación de los últimosday_rangedías (por defecto 30), los mismos números que la fila "Reseñas recientes" de la página de la tienda. Si Steam rechaza esa solicitud, recurre a contar las reseñas más nuevas, hastarecent_max_reviews, y marca el resultado comosampled: true.De quién cuentan las reseñas: por defecto ambas puntuaciones cuentan lo que cuenta la página de la tienda: solo compras en Steam para un juego de pago (las activaciones de clave se excluyen) y todos para un juego gratuito.
purchase_type='all'o'steam'fuerza cualquiera de los dos.
Precios del mercado:
steam_get_market_priceusa los endpoints del Community Market de Steam, que no están documentados y tienen límites de velocidad estrictos. Los resultados se almacenan en caché brevemente; un artículo sin listados actuales informa su precio como no disponible.
Configuración
1. Obtén una clave gratuita de Steam Web API (opcional)
Omite esto si solo quieres las 19 herramientas sin clave — el servidor funciona bien sin clave y las herramientas de cuenta simplemente se anuncian como no disponibles.
Para desbloquear las herramientas de cuenta, visita https://steamcommunity.com/dev/apikey, inicia sesión,
registra un dominio (cualquier dominio que controles sirve; localhost se usa comúnmente para
claves personales) y copia la clave. El uso se rige por los
Términos de uso de Steam Web API.
2. Instalación
El paquete publicado no necesita clonar el repositorio (Python 3.10+):
uvx steam-mcp # zero-install via uv (recommended)
# or
pip install steam-mcp # run as: python -m steam_mcp.server
Ambas versiones principales del SDK de MCP Python funcionan (mcp>=1.28). En el SDK v2, el servidor
habla la revisión de especificación 2026-07-28 — sin estado, sin protocolo de apretón de manos initialize — anuncia
sugerencias de caché en sus listados de herramientas/prompts/recursos, y puede preguntarte qué cuenta
de Steam es tuya cuando STEAM_USER no está establecido (una vez por sesión, y solo si tu
cliente admite la elicitación). En la línea v1.x sirve el apretón de manos initialize
al que los clientes modernos recurren de todos modos. No hay nada que configurar en ningún caso.
Nota sobre TLS: el cliente HTTP es
httpx2, que verifica certificados contra el almacén de confianza de tu sistema operativo en lugar de una lista de CA incluida. Si ejecutas esto en algún lugar mínimo (un contenedor ligero sin almacén de CA del sistema, o detrás de una CA privada), apuntaSSL_CERT_FILEoSSL_CERT_DIRa un paquete de CA.
3. Añádelo a tu cliente MCP
Ambos ajustes son opcionales. STEAM_API_KEY desbloquea las herramientas de cuenta; STEAM_USER
(tu nombre de vanidad de Steam, SteamID64 o URL de perfil) hace que esas herramientas se refieran por defecto a ti
siempre que no nombres a un usuario, para que nunca pegues un SteamID. Es un nombre de perfil público,
no un secreto, y aún puedes pasar un steamid a cualquier llamada para anularlo.
Configura ninguno y obtienes el servidor sin clave; configura ambos y lo obtienes todo.
Conjunto de herramientas más reducido (opcional). La definición de cada herramienta se incluye en el contexto del modelo
en cada solicitud, aproximadamente 11.5k tokens para las 41. Establece STEAM_MCP_TOOLS=essentials para
cargar solo 15: búsqueda, el resumen del juego en una llamada, detalles, reseñas, comparar, ¿debería-comprarlo?,
descubrir, recomendar, impacto de actualizaciones, ventas, y tu perfil, biblioteca, análisis de biblioteca,
lista de deseos y noche de cooperativo. Añade otras por nombre (essentials,get_inventory), o lista
exactamente las que quieras. El valor predeterminado es all. Los prompts integrados pueden mencionar una
herramienta que tu conjunto omita.
Claude Code
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
STEAM_USERes opcional — elimina el segundo--envsi prefieres proporcionar un SteamID en cada llamada.
Claude Desktop — instala steam-mcp.mcpb desde la
última versión mediante
Configuración → Extensiones y pega tu clave (y, opcionalmente, tu nombre de Steam).
Cualquier otra cosa (configuración de Claude Desktop, Cursor, Cline, Windsurf, VS Code, …) — coloca este bloque en el archivo de configuración MCP del cliente:
{
"mcpServers": {
"steam": {
"command": "uvx",
"args": ["steam-mcp"],
"env": {
"STEAM_API_KEY": "YOUR_KEY_HERE",
"STEAM_USER": "your_steam_name"
}
}
}
}
¿Instalando con un agente de IA como Cline? Apúntalo a
llms-install.md, que lo guía a través de la configuración.
Ubicaciones de configuración: Claude Desktop claude_desktop_config.json (%APPDATA%\Claude\
en Windows, ~/Library/Application Support/Claude/ en macOS); Cursor
.cursor/mcp.json; Cline cline_mcp_settings.json. Reinicia el cliente y las
herramientas de Steam aparecen. ¿Ejecutando desde un checkout del código fuente? Usa
"command": "python", "args": ["-m", "steam_mcp.server"].
Seguridad
Solo lectura, solo Steam oficial, y trae tu propia clave. En resumen:
- Solo lectura — nunca escribe, intercambia, publica, inicia juegos ni compra nada.
- Tu clave sigue siendo tuya — se lee desde
STEAM_API_KEY; nunca se escribe en disco, se registra, se almacena en caché ni se incluye en la salida (y se redacta de los mensajes de error). - Solo hosts oficiales — la capa de solicitudes rechaza cualquier host que no sea
api.steampowered.com/store.steampowered.com/steamcommunity.com(protección SSRF), con límite de velocidad por host y reintentos/retroceso. - Entradas tipadas y validadas (
extra="forbid"); no se conservan datos entre solicitudes más allá de una pequeña caché TTL de datos de tienda no relacionados con el usuario.
Los detalles completos y cómo informar problemas están en SECURITY.md.
Versionado y estabilidad
steam-mcp sigue Versionado Semántico. A partir de 1.0, lo
siguiente es la superficie pública estable — no cambiará sin una versión principal
(2.0):
- Nombres de herramientas y sus parámetros de entrada (nombres, tipos, si son obligatorios, valores predeterminados)
- Campos de salida JSON (
response_format: "json") — nombres, tipos y estructura - Prompts nombres/argumentos y plantillas de URI de recursos
(
steam://app/{appid},steam://user/{steamid}) - Semántica central: solo lectura, trae tu propia clave, precios en céntimos / tiempo de juego en minutos, y errores devueltos como cadenas
Dentro de una versión principal, las versiones menores pueden añadir herramientas, prompts, recursos, parámetros opcionales y campos JSON; las versiones de parche son solo correcciones de errores. La redacción de la salida en Markdown, la implementación interna, el comportamiento de caché y qué endpoints de Steam respaldan una herramienta determinada pueden cambiar en cualquier momento y no forman parte del contrato.
Licencia
MIT. No afiliado a Valve. "Steam" es una marca comercial de Valve Corporation.