Skip to main content
Glama
megabaka404

steam-personal-mcp

by megabaka404

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 | clean

Das 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-mcp

Wenn 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.txt

Schritt 3: Steam konfigurieren

Konfigurationsdatei kopieren und bearbeiten:

Copy-Item .env.example .env
notepad .env

Mindestens ausfüllen:

STEAM_API_KEY=你的Steam_Web_API_Key
STEAM_ID=你的SteamID64

API-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.sqlite3

Standardmäß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=true

Steam-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=schinese

US-Region:

STEAM_STORE_COUNTRY=us
STEAM_STORE_LANGUAGE=english

Japan-Region:

STEAM_STORE_COUNTRY=jp
STEAM_STORE_LANGUAGE=japanese

Andere 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 --mock

In 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 Content

Wenn der Health-Check erfolgreich ist, starten Sie den echten Steam-Modus.

Schritt 5: Echten Dienst starten

HTTP-Modus:

python server.py

MCP-Adresse:

http://127.0.0.1:8789/mcp

stdio-Modus:

python server.py --stdio

Wenn Mock-Daten benötigt werden:

python server.py --stdio --mock

Hinweis: 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_me

Wenn 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=schinese

Sie 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:

pytest

Mock-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/status

Dieses Projekt wurde mit Unterstützung von ChatGPT und Codex erstellt.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    An 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.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An 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.
    8
    546
    MIT

View all related MCP servers

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

View all MCP Connectors

Latest Blog Posts

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