steam-personal-mcp
Steam Personal + Store MCP
Un servidor MCP de Steam que se ejecuta localmente. Expone por defecto 12 herramientas compuestas organizadas por dominio.
Qué puede hacer
Datos personales
player consulta el perfil, el juego actual y la visibilidad; library consulta la biblioteca de juegos, horas de juego, juegos recientes, backlog, juegos abandonados y candidatos a retomar; achievements consulta los detalles de logros, el porcentaje de finalización y los logros recientes; friends consulta los amigos y los juegos en común visibles públicamente.
Tienda, descuentos y lista de deseos
store busca detalles, compara juegos y consulta los DLC; deals consulta ofertas, descuentos profundos y rebajas; wishlist consulta la lista de deseos, el historial de precios, bajadas de precio, cambios de fecha de lanzamiento y recomendaciones fundamentadas de comprar / esperar / descartar.
Recomendaciones y perfil unificado de juegos
recommendations recupera candidatos de la tienda, juegos similares, novedades, backlog y análisis de duplicados en la biblioteca. El candidate_score de un candidato solo indica la prioridad de recuperación, no es la idoneidad final ni la confianza de compra; la decisión final la toma la IA que lo invoca.
game_intel(action="snapshot") resume de un juego:
Estado de propiedad personal, horas totales, horas recientes, última sesión y logros.
Precio actual, precio original, descuento e historial de precios observado por el MCP.
Reseñas generales, reseñas recientes, número de reseñas y tendencias disponibles a 7/30/90 días.
Estado en Steam Deck, soporte de Workshop, jugadores actuales e indicadores de popularidad interpretables.
Fecha de lanzamiento, información de actualizaciones/builds, DLC, DLC en propiedad y DLC que faltan.
Ruta de instalación local, SizeOnDisk, tamaño real del directorio y shadercache; en Windows, compatdata se marca explícitamente como not_applicable.
Steam local y limpieza segura
local_steam lee libraryfolders.vdf, archivos appmanifest, juegos instalados y ocupación de disco en Windows. storage_cleanup se divide en tres pasos: scan, preview y clean; scan nunca elimina nada; clean exige especificar claramente appids y targets, y pasar confirm=true. shadercache es de bajo riesgo; compatdata es de alto riesgo por defecto y no aplica en la primera versión para Windows.
Related MCP server: gamelibs-mcp
Herramientas compuestas / acciones
player: profile | currently_playing | visibility
library: search | stats | most_played | recent | abandoned | never_played | low_playtime | backlog | return_to | game
achievements: details | summary | recent | almost_completed | completion_candidates
friends: list | playing | activity | shared
store: search | details | compare | dlc
deals: specials | deep_discounts | search_sales | summary
wishlist: list | sales | best_deals | price_history | price_drops | release_watch | buy_advice | purchase_candidates
recommendations: store | similar | new_releases | library | backlog | return_to | next | overlap | pick
activity: record | sessions | recent_sessions | year_review | game_change_history
game_intel: snapshot | update_impact
local_steam: scan | installed | disk_usage
storage_cleanup: scan | preview | cleanEl proyecto no invoca LLM externos. Se encarga de leer, agregar, registrar observaciones y devolver evidencia estructurada; la decisión final de recomendación la toma el modelo de nivel superior.
Inicio rápido
Los siguientes comandos son para Windows PowerShell.
Paso 1: Entrar en el directorio del proyecto
Descargar desde GitHub:
git clone https://github.com/megabaka404/steam-personal-mcp.git
Set-Location steam-personal-mcpSi el proyecto ya está en local:
Set-Location -LiteralPath '你的项目目录\steam-personal-mcp'Paso 2: Crear el entorno e instalar dependencias
El proyecto requiere Python 3.10 o superior.
py -3 -m venv .venv
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtPaso 3: Configurar Steam
Copiar el archivo de configuración y editarlo:
Copy-Item .env.example .env
notepad .envRellenar como mínimo:
STEAM_API_KEY=你的Steam_Web_API_Key
STEAM_ID=你的SteamID64Obtener una API Key:
https://steamcommunity.com/dev/apikey
Nota:
STEAM_ID debe ser un SteamID64.
El perfil de Steam y los detalles del juego deben ser visibles públicamente; de lo contrario, los datos personales podrían no poder leerse.
La tienda predeterminada es la de China; el precio de la tienda depende de STEAM_STORE_COUNTRY y STEAM_STORE_LANGUAGE.
Configuración opcional:
STEAM_MCP_HOST=127.0.0.1
STEAM_MCP_PORT=8789
STEAM_MCP_COMPACT_TOOLS=true
STEAM_MCP_LEGACY_TOOLS=false
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=english
STEAM_HISTORY_DB=data/steam_history.sqlite3Las 12 herramientas compuestas están habilitadas por defecto. Si necesitas seguir usando las herramientas granulares antiguas, puedes configurar:
STEAM_MCP_COMPACT_TOOLS=false
STEAM_MCP_LEGACY_TOOLS=trueCambiar la región de la tienda de Steam
La región de la tienda usa el código de país de dos letras de Steam, que se modifica mediante STEAM_STORE_COUNTRY en el archivo .env. El cambio solo se aplica tras reiniciar el servicio MCP. La región predeterminada es China.
China:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseEstados Unidos:
STEAM_STORE_COUNTRY=us
STEAM_STORE_LANGUAGE=englishJapón:
STEAM_STORE_COUNTRY=jp
STEAM_STORE_LANGUAGE=japaneseOtros códigos comunes incluyen gb (Reino Unido), de (Alemania), fr (Francia). El proyecto no realiza conversión automática de divisas; al cambiar de región, el precio, la moneda, los descuentos y parte de los resultados de búsqueda de la tienda pueden variar.
Paso 4: Probar primero con el modo Mock
Iniciar el servicio Mock:
python server.py --mockAbrir otra ventana de PowerShell para comprobar:
Invoke-WebRequest http://127.0.0.1:8789/health | Select-Object -ExpandProperty Content
Invoke-WebRequest http://127.0.0.1:8789/debug/status | Select-Object -ExpandProperty ContentCuando veas que la comprobación de salud funciona, puedes iniciar el modo real de Steam.
Paso 5: Iniciar el servicio real
Modo HTTP:
python server.pyDirección MCP:
http://127.0.0.1:8789/mcpModo stdio:
python server.py --stdioCuando necesites datos Mock:
python server.py --stdio --mockNota: la región predeterminada es China. Para cambiar la región antes de iniciar el MCP en la terminal, introduce: $env:STEAM_STORE_COUNTRY="cn" $env:STEAM_STORE_LANGUAGE="schinese" Para otros países o regiones, modifica el código de la misma manera.
Configuración del cliente MCP
Si el cliente es compatible con Streamable HTTP, añade:
{
"mcpServers": {
"steam-personal": {
"url": "http://127.0.0.1:8789/mcp"
}
}
}No uses /health como dirección MCP; es solo el endpoint de comprobación de salud.
Para clientes stdio, configura el comando para iniciar python server.py --stdio y usa el entorno virtual del proyecto.
Tras conectar correctamente, puedes preguntar directamente:
我的游戏库里有哪些几乎没玩过的游戏?
Darkest Dungeon 现在值得买吗?
把我的愿望单按当前折扣列出来。
根据我最近玩过的游戏召回 15 个候选,但只给证据,不要直接替我下结论。Fuentes de datos y limitaciones
Los datos personales provienen principalmente de la API web de Steam; los datos de la tienda provienen de la interfaz de la tienda de Steam.
La configuración de privacidad del perfil de Steam, de los detalles del juego o de las estadísticas puede provocar que falten datos.
Algunos juegos no admiten logros, estadísticas de jugadores o reseñas públicas; los campos correspondientes estarán vacíos.
La interfaz de la tienda no es un catálogo completo y estable de Steam; los resultados de búsqueda pueden verse limitados por región, idioma e interfaz.
El precio, la moneda y los descuentos se devuelven según la región de tienda configurada.
Los datos de reseñas solo se rellenan cuando la interfaz de Steam los proporciona de forma fiable; no se hacen suposiciones para completar.
Si falla la lectura de logros, no se falsifican como "todos desbloqueados".
El historial de precios, las sesiones de juego y el resumen anual son observaciones locales del MCP, no el historial oficial completo de Steam.
Estructura del proyecto
server.py 服务入口
config.py 环境变量和启动参数
runtime.py HTTP/stdio 运行时
clients/ Steam API 和 Store 客户端
services/ 业务逻辑、推荐、历史记录
tools/ MCP 工具实现
models/ Pydantic 数据模型
tests/ 自动化测试
data/ 本地历史数据库目录Licencia
Consulta el archivo de licencia del repositorio. Los datos de Steam pertenecen a los servicios de Steam/Valve; este proyecto solo lee interfaces públicas y los organiza y analiza localmente.
¿Por qué los resultados de búsqueda de la tienda están incompletos?
El endpoint público de búsqueda / destacados de la tienda no es la base de datos completa de productos de Steam.
Por lo tanto, las herramientas devuelven un conjunto acotado de candidatos:
search_store
search_sales
new_releases_for_me
recommend_store_for_meSi necesitas consultar un juego concreto, usa preferentemente su AppID.
La región de precios no es la correcta
Comprueba la región y el idioma en el archivo .env, por ejemplo:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseTambién puedes cambiarlo a:
us
jp
...Tras modificar, reinicia el servicio. El proyecto no realiza conversión automática de divisas.
Seguridad
No se envía .env
No se envía la API Key de Steam
No se guarda la contraseña de Steam
No se guarda Steam Guard
No se requiere cookie de Steam
La API Key no se imprime en los registros
El endpoint de depuración no devuelve secretos
No se omiten los ajustes de privacidad de Steam
No se compran, intercambian ni modifican cuentas de Steam automáticamente
Por defecto solo se vincula a 127.0.0.1
Si se despliega en una red pública, se debe configurar adicionalmente:
HTTPS
Autenticación Bearer / OAuth / proxy inverso
Límites de peticiones razonables
Ofuscación de datos sensibles en los registros
Pruebas
Las pruebas deben usar clientes mock o httpx.MockTransport para evitar depender del estado real de Steam.
Ejecutar:
pytestPrueba de humo del MCP Mock:
python server.py --mock
Invoke-WebRequest http://127.0.0.1:8789/health
Invoke-WebRequest http://127.0.0.1:8789/debug/statusEste proyecto ha sido asistido por ChatGPT y Codex.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA feature-rich Model Context Protocol server that gives AI assistants full access to your Steam game library.144MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that exposes your Steam, Epic Games Store, and IGDB game data as tools, enabling game library queries, install status checks, and metadata enrichment.1MIT
- AlicenseAqualityBmaintenanceMCP server enabling AI assistants to search Steam games, retrieve official store metadata, and analyze player review sentiment via public Steam Storefront JSON APIs without an API key.359MIT
- AlicenseAqualityBmaintenanceAn MCP server that connects AI assistants to the Steam Web API and storefront, enabling game library analysis, mood-based backlog recommendations, wishlist evaluation, and storefront searches.8546MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/megabaka404/steam-personal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server