steam-personal-mcp
Steam Personal + Store MCP
Ein lokal ausgeführter Steam-MCP-Server. Standardmäßig werden 12 zusammengesetzte Tools bereitgestellt, die nach Bereichen organisiert sind.
Was kann es tun
Persönliche Daten
player fragt Profil, aktuelles Spiel und Sichtbarkeit ab; library fragt Spielbibliothek, Spielzeit, zuletzt gespielt, Backlog, aufgegebene und wiederaufgenommene Kandidaten ab; achievements fragt Erfolgsdetails, Fortschritt und kürzlich freigeschaltete Erfolge ab; friends fragt Freunde und öffentliche gemeinsame Spiele ab.
Shop, Rabatte und Wunschliste
store durchsucht Details, vergleicht Spiele und zeigt DLCs an; deals fragt Sonderangebote, Tiefpreisrabatte und Verkäufe ab; wishlist zeigt Wunschliste, Preishistorie, Preisreduzierungen, Veröffentlichungsänderungen sowie evidenzbasierte Kauf-/Warten-/Überspringen-Empfehlungen an.
Empfehlungen und einheitliches Spielprofil
recommendations ruft Shop-Kandidaten, ähnliche Spiele, Neuerscheinungen, Backlog und Bibliotheks-Duplikatanalyse ab. Der candidate_score der Kandidaten gibt nur die Abrufpriorität an, nicht die endgültige Eignung oder Kaufkonfidenz; die endgültige Beurteilung überlässt die aufrufende KI.
game_intel(action="snapshot") fasst für ein Spiel zusammen:
Persönlicher Besitzstatus, Gesamtspielzeit, letzte Spielzeit, letztes Spiel und Erfolge.
Aktueller Preis, Originalpreis, Rabatt, vom MCP beobachtete Preishistorie.
Gesamtbewertung, aktuelle Bewertung, Anzahl der Bewertungen und verfügbare 7/30/90-Tage-Trends.
Steam-Deck-Status, Workshop-Unterstützung, aktuelle Spielerzahl und interpretierbare Beliebtheitskennzahlen.
Veröffentlichungsdatum, Update-/Build-Informationen, DLCs, besessene DLCs und fehlende DLCs.
Lokaler Installationspfad, SizeOnDisk, tatsächliche Verzeichnisgröße und Shadercache; für Windows wird compatdata explizit als not_applicable markiert.
Lokales Steam und sichere Bereinigung
local_steam liest die libraryfolders.vdf, appmanifest-Dateien, installierte Spiele und die Speicherbelegung von Windows. storage_cleanup ist in drei Schritte unterteilt: scan, preview und clean. scan löscht nie; clean muss explizit appids, targets angeben und confirm=true übergeben. shadercache ist ein geringes Risiko, compatdata ist standardmäßig ein hohes Risiko und in der ersten Windows-Version nicht anwendbar.
Related MCP server: gamelibs-mcp
Zusammengesetzte Tools / Aktionen
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 | cleanDas Projekt ruft selbst keine externen LLMs auf. Es liest, filtert, aggregiert, protokolliert Beobachtungen und gibt strukturierte Beweise zurück. Die endgültige Empfehlungsentscheidung trifft das übergeordnete Modell.
Schnellstart
Die folgenden Befehle gelten für Windows PowerShell.
Schritt 1: Projektverzeichnis öffnen
Von GitHub herunterladen:
git clone https://github.com/megabaka404/steam-personal-mcp.git
Set-Location steam-personal-mcpWenn das Projekt bereits lokal vorhanden ist:
Set-Location -LiteralPath '你的项目目录\steam-personal-mcp'Schritt 2: Umgebung erstellen und Abhängigkeiten installieren
Das Projekt benötigt Python 3.10 oder höher.
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.txtSchritt 3: Steam konfigurieren
Konfigurationsdatei kopieren und bearbeiten:
Copy-Item .env.example .env
notepad .envMindestens ausfüllen:
STEAM_API_KEY=你的Steam_Web_API_Key
STEAM_ID=你的SteamID64API-Schlüssel abrufen:
https://steamcommunity.com/dev/apikey
Hinweise:
STEAM_ID muss eine SteamID64 sein.
Steam-Profil und Spieldetails müssen öffentlich sichtbar sein, sonst können persönliche Daten möglicherweise nicht gelesen werden.
Standardmäßig wird der Shop der Region China verwendet; die Shop-Preise hängen von STEAM_STORE_COUNTRY und STEAM_STORE_LANGUAGE ab.
Optionale Konfiguration:
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.sqlite3Standardmäßig sind 12 zusammengesetzte Tools aktiviert. Wenn die alten feinkörnigen Tools weiterhin verwendet werden müssen, kann Folgendes festgelegt werden:
STEAM_MCP_COMPACT_TOOLS=false
STEAM_MCP_LEGACY_TOOLS=trueSteam-Shop-Region wechseln
Die Shop-Region verwendet den zweistelligen Ländercode von Steam und wird über STEAM_STORE_COUNTRY in der .env-Datei geändert. Nach der Änderung muss der MCP-Dienst neu gestartet werden, damit die Änderung wirksam wird. Standard ist die Region China.
China-Region:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseUS-Region:
STEAM_STORE_COUNTRY=us
STEAM_STORE_LANGUAGE=englishJapan-Region:
STEAM_STORE_COUNTRY=jp
STEAM_STORE_LANGUAGE=japaneseAndere gängige Codes sind gb (Großbritannien), de (Deutschland), fr (Frankreich). Das Projekt führt keine automatische Währungsumrechnung durch. Nach einem Regionswechsel können sich Preise, Währungen, Rabatte und einige Shop-Suchergebnisse ändern.
Schritt 4: Zuerst den Dienst im Mock-Modus prüfen
Mock-Dienst starten:
python server.py --mockIn einem anderen PowerShell-Fenster prüfen:
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 ContentWenn der Health-Check erfolgreich ist, starten Sie den echten Steam-Modus.
Schritt 5: Echten Dienst starten
HTTP-Modus:
python server.pyMCP-Adresse:
http://127.0.0.1:8789/mcpstdio-Modus:
python server.py --stdioWenn Mock-Daten benötigt werden:
python server.py --stdio --mockHinweis: Standard ist die Region China. Um die Region zu ändern, können Sie vor dem Start des MCP im Terminal Folgendes eingeben: $env:STEAM_STORE_COUNTRY="cn" $env:STEAM_STORE_LANGUAGE="schinese" Für andere Länder oder Regionen ändern Sie den Code auf die gleiche Weise.
MCP-Client-Konfiguration
Wenn der Client Streamable HTTP unterstützt, fügen Sie Folgendes hinzu:
{
"mcpServers": {
"steam-personal": {
"url": "http://127.0.0.1:8789/mcp"
}
}
}Verwenden Sie /health nicht als MCP-Adresse; es ist nur ein Health-Check-Endpunkt.
stdio-Clients werden so konfiguriert, dass sie den Befehl python server.py --stdio starten, und verwenden das Python aus der virtuellen Umgebung des Projekts.
Nach erfolgreicher Verbindung können Sie direkt Fragen stellen:
我的游戏库里有哪些几乎没玩过的游戏?
Darkest Dungeon 现在值得买吗?
把我的愿望单按当前折扣列出来。
根据我最近玩过的游戏召回 15 个候选,但只给证据,不要直接替我下结论。Datenquellen und Einschränkungen
Persönliche Daten stammen hauptsächlich aus der Steam-Web-API; Shop-Daten stammen aus den Steam-Store-Schnittstellen.
Datenschutzeinstellungen für Steam-Profil, Spieldetails oder Statistiken können zu fehlenden Daten führen.
Einige Spiele unterstützen keine Erfolge, Spielerstatistiken oder öffentliche Bewertungen; die entsprechenden Felder sind dann leer.
Die Store-Schnittstelle ist kein vollständiger, stabiler Steam-Gesamtkatalog; Suchergebnisse können durch Region, Sprache und Schnittstellenbeschränkungen beeinflusst werden.
Preise, Währungen und Rabatte werden gemäß der konfigurierten Shop-Region zurückgegeben.
Bewertungsdaten werden nur dann ausgefüllt, wenn die Steam-Schnittstelle sie zuverlässig bereitstellt; es wird nicht geraten, um Vollständigkeit zu erreichen.
Bei Fehlern beim Lesen von Erfolgen wird nicht gefälscht, dass alle Erfolge nicht freigeschaltet sind.
Preishistorie, Spiel-Sessions und Jahresrückblick sind lokale Beobachtungen dieses MCP, nicht die offizielle vollständige Historie von Steam.
Projektstruktur
server.py 服务入口
config.py 环境变量和启动参数
runtime.py HTTP/stdio 运行时
clients/ Steam API 和 Store 客户端
services/ 业务逻辑、推荐、历史记录
tools/ MCP 工具实现
models/ Pydantic 数据模型
tests/ 自动化测试
data/ 本地历史数据库目录Lizenz
Es gilt die Lizenzdatei im Repository. Steam-Daten sind Inhalte des Dienstes von Steam/Valve; dieses Projekt liest nur öffentliche Schnittstellen und bereitet sie lokal auf und analysiert sie.
Warum sind die Store-Suchergebnisse nicht vollständig?
Der öffentliche Store-Such-/Featured-Endpunkt ist keine vollständige Datenbank aller Steam-Produkte.
Daher geben die folgenden Tools eine begrenzte Kandidatenmenge zurück:
search_store
search_sales
new_releases_for_me
recommend_store_for_meWenn Sie ein bestimmtes Spiel abfragen möchten, verwenden Sie vorzugsweise die AppID.
Preisregion ist falsch
Überprüfen Sie die Region und Sprache in der .env-Datei, z. B.:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseSie können auch ändern zu:
us
jp
...Nach der Änderung den Dienst neu starten. Das Projekt führt keine automatische Währungsumrechnung durch.
Sicherheit
.env nicht einreichen
Steam-API-Schlüssel nicht einreichen
Steam-Passwort nicht speichern
Steam Guard nicht speichern
Steam-Cookie nicht benötigen
API-Schlüssel nicht in Logs ausgeben
Debug-Endpunkt gibt keine Geheimnisse zurück
Steam-Datenschutzeinstellungen nicht umgehen
Keine automatischen Käufe, Trades oder Änderungen am Steam-Konto
Standardmäßig nur an 127.0.0.1 binden
Wenn Sie in einem öffentlichen Netzwerk bereitstellen, müssen Sie zusätzlich konfigurieren:
HTTPS
Bearer / OAuth / Reverse-Proxy-Authentifizierung
Angemessene Anforderungslimits
Log-Maskierung
Tests
Tests sollten Mock-Clients oder httpx.MockTransport verwenden, um nicht von echten Steam-Zuständen abhängig zu sein.
Ausführen:
pytestMock-MCP-Smoke-Test:
python server.py --mock
Invoke-WebRequest http://127.0.0.1:8789/health
Invoke-WebRequest http://127.0.0.1:8789/debug/statusDieses Projekt wurde mit Unterstützung von ChatGPT und Codex erstellt.
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