mcp-ps-store
mcp-ps-store
MCP-Server, der die eigene Spielhistorie eines PlayStation Network-Kontos offenlegt – Spielzeit, Trophäenfortschritt, gekaufte Bibliothek – damit ein KI-Assistent Spiele auf Basis echter Daten empfehlen kann, statt zu raten.
Русская версия: README.ru.md.
Über
PSN hat keine öffentliche API. Dieser Server kommuniziert mit derselben internen API, die auch die PlayStation-Mobil-App verwendet, und authentifiziert sich mit einem NPSSO-Cookie aus einer Browsersitzung. Jede Anfrage ist ein Lesezugriff; es wird nie etwas auf das Konto geschrieben.
Der Aufbau folgt einer geschichteten Architektur: eine API-Schicht (MCP-Tools), eine Kernschicht (Dienste, Repositories, DTOs), ein DI-Container und eine Infrastrukturschicht.
Kerntechnologien
Sprache: Python 3.11+
Protokoll: Model Context Protocol (
mcp)HTTP-Client: httpx (asynchron)
DI-Container:
dependency-injectorEinstellungen:
pydantic-settingsAbhängigkeitsverwaltung: Poetry
Tests: Pytest,
pytest-asyncio
Related MCP server: PersonalizationMCP
Was es bereitstellt
Tool | Wofür es gedacht ist |
| Das wichtigste: eine einzelne Zusammenfassung – Top-Spiele nach Stunden, Lieblings-Franchises, Spielverhalten (durchschnittliche Sitzung, Anteil an Tiefentauchgängen, Platinrate), Spiele nahe 100 %, nach einer Stunde abgebrochene Spiele und nie gestartete Käufe. Hier beginnen für jede Empfehlungsfrage. |
| Filterbare Spieleliste: Suche nach Titel, sortieren nach Stunden / zuletzt gespielt / Trophäenfortschritt, filtern nach Plattform, Stunden, Daten und Fortschritt. |
| Jede Trophäe eines Spiels: verdient oder nicht, Datum, Seltenheit, Anteil der Spieler, die sie haben. |
| Was bereits gekauft oder über PS Plus beansprucht wurde, mit Stunden, falls bekannt – damit nichts bereits Besessenes empfohlen wird. |
| Was zuletzt gestartet wurde. |
| Online-ID, PS Plus, Trophäenstufe, lebenslange Trophäenzahlen. |
| Löscht den Antwort-Cache (PSN-Antworten werden 10 Minuten lang zwischengespeichert). |
Plus ein recommend_games-Prompt – ein fertiges Szenario „Erstelle mein Profil und empfehle Spiele“,
das eine optionale Vorgabe wie „etwas Kurzes“ oder „Ko-op für zwei“ akzeptiert.
Schnellstart
Python 3.11+ ist erforderlich.
1. Installieren
Mit Poetry:
poetry installOder mit einer einfachen virtuellen Umgebung:
python3.11 -m venv .venv && .venv/bin/pip install -e .2. Bei PSN anmelden
Melden Sie sich in einem Browser unter https://www.playstation.com an.
Öffnen Sie https://ca.account.sony.com/api/v1/ssocookie – es gibt
{"npsso":"..."}zurück.Kopieren Sie den 64-stelligen
npsso-Wert und führen Sie aus:
poetry run psn-login PASTE_NPSSO_HERETokens werden in ~/.mcp-ps-store/tokens.json mit Berechtigungen 0600 gespeichert.
Zur Sitzungsdauer. Das Zugriffstoken lebt eine Stunde und das Aktualisierungstoken nur zehn
Tage, aber das NPSSO selbst lebt etwa zwei Monate. Das NPSSO wird daher neben den Tokens
gespeichert, und der Server authentifiziert sich selbstständig neu, wenn das Aktualisierungstoken
abläuft. In der Praxis hält ein psn-login etwa 60 Tage.
3. Prüfen, ob es funktioniert
poetry run psn-doctorEs gibt den Kontonamen aus, wie viele Spiele sichtbar sind und die Top fünf nach Stunden.
Einen Client verbinden
Claude Code
claude mcp add ps-store -- /path/to/mcp-ps-store/.venv/bin/python -m app.mainClaude Desktop
In 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 spricht stdio mit lokalen MCP-Servern, daher funktioniert es genauso. Führen Sie entweder
codex mcp add aus oder fügen Sie dies zu ~/.codex/config.toml hinzu:
[mcp_servers.ps-store]
command = "/path/to/mcp-ps-store/.venv/bin/python"
args = ["-m", "app.main"]
cwd = "/path/to/mcp-ps-store"Überprüfen Sie es mit /mcp in einer Codex-Sitzung.
ChatGPT
ChatGPT kann keinen lokalen Prozess starten. Benutzerdefinierte Verbindungen werden im Entwicklermodus hinzugefügt (Einstellungen → Apps → Erweitert) und müssen ein öffentlicher HTTPS-Endpunkt sein, der SSE oder Streamable HTTP spricht. Daher muss der Server auf HTTP-Transport umgestellt und veröffentlicht werden:
PSN_MCP_TRANSPORT=streamable-http PSN_MCP_PORT=8000 poetry run mcp-ps-storeDann http://127.0.0.1:8000/mcp über HTTPS bereitstellen – mit OpenAIs Secure MCP Tunnel oder
einem Tunnel wie cloudflared / ngrok – und die resultierende URL als benutzerdefinierte
Verbindung hinzufügen.
Dies veröffentlicht Ihre PSN-Historie an jeden, der die URL findet. Der Server hat keine eigene Authentifizierung, also schützen Sie den Tunnel mit einer Authentifizierung, lassen Sie ihn nur so lange laufen, wie Sie ihn brauchen, und bevorzugen Sie Codex CLI, wenn ein lokaler Client ausreicht.
Konfiguration
Alle Einstellungen werden aus der Umgebung oder einer .env-Datei gelesen (siehe .env.example).
Variable | Standard | Bedeutung |
| — | NPSSO-Cookie. Eine Alternative zu |
|
| Wo Tokens zwischengespeichert werden. |
|
| Wie lange PSN-Antworten wiederverwendet werden, in Sekunden. |
|
| Gebietsschema für Links zu store.playstation.com. |
|
| HTTP-Timeout für PSN-Anfragen, in Sekunden. |
|
|
|
|
| Bindeadresse für die HTTP-Transports. |
|
| Port für die HTTP-Transports. |
Einschränkungen
Spielzeit existiert nur für PS4-/PS5-/PC-Versionen. PSN meldet PS3- und Vita-Spiele nur mit Trophäen, daher erscheinen sie mit
hours: null.Es gibt hier keinen PS Store-Katalog. Der Store ist vollständig clientseitig, und seine GraphQL-API akzeptiert nur persistierte Abfragen, deren Hashes Sony bei jedem Deployment rotiert – das funktionsfähig zu halten ist nicht realistisch. Empfehlungskandidaten stammen aus dem eigenen Wissen des Modells über Spiele, während
psn_owned_gamesverhindert, dass bereits Gekauftes vorgeschlagen wird.Die gekaufte Bibliothek wird über PSNs private GraphQL-API abgerufen. Wenn Sony die Abfrage ändert, funktioniert dieses eine Tool nicht mehr; alles andere läuft weiter und die Zusammenfassung erhält einen
backlog_unavailable-Hinweis.Spielzeit und Trophäen werden nach Titel zusammengeführt, sodass eine Neuveröffentlichung mit dem Original verschmelzen kann, wenn sie denselben Trophäensatz teilen. Editionen, Plattformsuffixe und römische Zahlen werden absichtlich normalisiert –
Alan Wake IIundAlan Wake 2sind ein Spiel.Die API ist inoffiziell: Sony kann sie jederzeit ändern.
Projektstruktur
.
├── 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.tomlEntwicklung
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