mcp-ps-store
mcp-ps-store
Servidor MCP que expone el historial de juegos de una cuenta de PlayStation Network — tiempo de juego, progreso de trofeos, biblioteca comprada — para que un asistente de IA pueda recomendar juegos a partir de datos reales en lugar de suposiciones.
Versión en ruso: README.ru.md.
Acerca de
PSN no tiene una API pública. Este servidor se comunica con la misma API interna que utiliza la aplicación móvil de PlayStation, autenticándose con una cookie NPSSO obtenida de una sesión del navegador. Cada solicitud es de solo lectura; nunca se escribe nada en la cuenta.
La estructura sigue una arquitectura en capas: una capa de API (herramientas MCP), una capa central (servicios, repositorios, DTOs), un contenedor DI y una capa de infraestructura.
Tecnologías principales
Lenguaje: Python 3.11+
Protocolo: Model Context Protocol (
mcp)Cliente HTTP: httpx (asíncrono)
Contenedor DI:
dependency-injectorConfiguración:
pydantic-settingsGestión de dependencias: Poetry
Pruebas: Pytest,
pytest-asyncio
Related MCP server: PersonalizationMCP
Lo que expone
Herramienta | Para qué sirve |
| La principal: un resumen único — juegos principales por horas, franquicias favoritas, hábitos de juego (sesión media, porcentaje de inmersiones profundas, tasa de platinos), juegos cerca del 100%, juegos abandonados tras una hora y compras nunca iniciadas. Empiece aquí para cualquier pregunta de recomendación. |
| Lista de juegos filtrable: búsqueda por título, ordenar por horas / última partida / progreso de trofeos, filtrar por plataforma, horas, fechas y progreso. |
| Cada trofeo de un juego: conseguido o no, fecha, rareza, porcentaje de jugadores que lo tienen. |
| Lo que ya se ha comprado o reclamado mediante PS Plus, con horas cuando se conocen — para que no se recomiende nada ya poseído. |
| Lo que se ha iniciado más recientemente. |
| ID en línea, PS Plus, nivel de trofeos, total de trofeos de por vida. |
| Elimina la caché de respuestas (las respuestas de PSN se almacenan en caché durante 10 minutos). |
Además, un prompt recommend_games — un escenario listo para usar de "crear mi perfil y recomendar juegos"
que acepta una orientación opcional como "algo corto" o "cooperativo para dos".
Inicio rápido
Se requiere Python 3.11+.
1. Instalar
Con Poetry:
poetry installO con un virtualenv simple:
python3.11 -m venv .venv && .venv/bin/pip install -e .2. Iniciar sesión en PSN
Inicie sesión en https://www.playstation.com en un navegador.
Abra https://ca.account.sony.com/api/v1/ssocookie — devuelve
{"npsso":"..."}.Copie el valor
npssode 64 caracteres y ejecute:
poetry run psn-login PASTE_NPSSO_HERELos tokens se guardan en ~/.mcp-ps-store/tokens.json con permisos 0600.
Acerca de la duración de la sesión. El token de acceso dura una hora y el token de actualización solo diez días,
pero el NPSSO en sí dura unos dos meses. Por lo tanto, el NPSSO se almacena junto a
los tokens, y el servidor se reautentica automáticamente cuando el token de actualización expira. En la práctica,
un psn-login dura unos 60 días.
3. Verificar que funciona
poetry run psn-doctorMuestra el nombre de la cuenta, cuántos juegos son visibles y los cinco primeros por horas.
Conectar un cliente
Claude Code
claude mcp add ps-store -- /path/to/mcp-ps-store/.venv/bin/python -m app.mainClaude Desktop
En claude_desktop_config.json:
{
"mcpServers": {
"ps-store": {
"command": "/path/to/mcp-ps-store/.venv/bin/python",
"args": ["-m", "app.main"],
"cwd": "/path/to/mcp-ps-store"
}
}
}Codex CLI
Codex habla mediante stdio con servidores MCP locales, por lo que funciona de la misma manera. Ejecute
codex mcp add o añada esto a ~/.codex/config.toml:
[mcp_servers.ps-store]
command = "/path/to/mcp-ps-store/.venv/bin/python"
args = ["-m", "app.main"]
cwd = "/path/to/mcp-ps-store"Compruébelo con /mcp dentro de una sesión de Codex.
ChatGPT
ChatGPT no puede iniciar un proceso local. Los conectores personalizados se añaden en el modo Desarrollador (Ajustes → Apps → Avanzado) y deben ser un punto final HTTPS público que hable SSE o Streamable HTTP. Por lo tanto, el servidor debe cambiarse a transporte HTTP y publicarse:
PSN_MCP_TRANSPORT=streamable-http PSN_MCP_PORT=8000 poetry run mcp-ps-storeLuego exponga http://127.0.0.1:8000/mcp a través de HTTPS — con el túnel MCP seguro de OpenAI, o
un túnel como cloudflared / ngrok — y añada la URL resultante como conector personalizado.
Esto publica su historial de PSN para cualquiera que encuentre la URL. El servidor no tiene autenticación propia, así que ponga el túnel detrás de autenticación, manténgalo funcionando solo mientras lo necesite y prefiera Codex CLI si un cliente local es suficiente.
Configuración
Toda la configuración se lee del entorno o de un archivo .env (consulte .env.example).
Variable | Valor por defecto | Significado |
| — | Cookie NPSSO. Una alternativa a |
|
| Ruta donde se almacenan en caché los tokens. |
|
| Tiempo durante el cual se reutilizan las respuestas de PSN, en segundos. |
|
| Configuración regional utilizada en los enlaces de store.playstation.com. |
|
| Tiempo de espera HTTP para las solicitudes a PSN, en segundos. |
|
|
|
|
| Dirección de enlace para los transportes HTTP. |
|
| Puerto para los transportes HTTP. |
Limitaciones
El tiempo de juego solo existe para versiones de PS4 / PS5 / PC. PSN informa de juegos de PS3 y Vita solo con trofeos, por lo que aparecen con
hours: null.Aquí no hay catálogo de PS Store. La tienda es completamente del lado del cliente, y su API GraphQL solo acepta consultas persistentes cuyos hash Sony rota en cada despliegue — mantener eso funcionando no es realista. Los candidatos a recomendación provienen del conocimiento propio del modelo sobre juegos, mientras que
psn_owned_gamesevita que sugiera algo ya comprado.La biblioteca comprada pasa por la API GraphQL privada de PSN. Si Sony cambia la consulta, esa herramienta deja de funcionar; todo lo demás sigue funcionando y el resumen obtiene una nota
backlog_unavailable.El tiempo de juego y los trofeos se unen por título, por lo que un relanzamiento puede fusionarse con el original cuando comparten un conjunto de trofeos. Las ediciones, los sufijos de plataforma y los números romanos se normalizan a propósito —
Alan Wake IIyAlan Wake 2son un solo juego.La API no es oficial: Sony puede cambiarla en cualquier momento.
Estructura del proyecto
.
├── app/
│ ├── api/ # MCP layer: tools, prompts, serialisers, tool errors
│ │ ├── games/
│ │ ├── profile/
│ │ └── taste/
│ ├── core/ # Business logic: services, repositories, DTOs
│ │ ├── auth/ # NPSSO -> tokens, refresh, re-login
│ │ ├── games/ # Library, playtime/trophy merge, name normalisation
│ │ ├── profile/ # Account profile and trophy summary
│ │ └── taste/ # Taste digest aggregation
│ ├── di/ # DI containers and providers
│ ├── infra/adapters/ # HTTP client, token storage, TTL cache
│ ├── cli.py # psn-login, psn-doctor
│ └── main.py # MCP server entry point
├── settings/ # pydantic-settings configuration
├── tests/
│ ├── core/ # Merge and aggregation tests
│ └── factories/ # Builders for test data
└── pyproject.tomlDesarrollo
poetry run pytest # unit tests; no network and no account needed
poetry run psn-doctor # live check against the signed-in accountThis 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
- AlicenseAqualityDmaintenanceEnables AI assistants to access and analyze your Hevy workout data, including workout history, exercise progress, personal records, and routines.4463MIT
- Alicense-qualityFmaintenanceEnables AI assistants to access and interact with personal data from platforms like Steam, YouTube, Bilibili, Spotify, and Reddit for personalized, context-aware interactions.58MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to directly access and analyze Strava activity data, including runs, rides, and swims, through natural language queries.410MIT
- Alicense-qualityBmaintenanceSyncs Epic/GOG/Steam game libraries with Chinese metadata, enabling AI agents to recommend games through natural language conversation.1MIT
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Connect your Player's Bank account to AI via Brazil's Open Finance: balances, statements, cards, inv
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
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/murzin-ml/mcp-ps-store'
If you have feedback or need assistance with the MCP directory API, please join our Discord server