steam-personal-mcp
Steam Personal + Store MCP
ローカルで動作する Steam MCP Server。デフォルトで、ドメイン別に整理された 12 個の複合 tool を公開します。
できること
個人データ
player は Profile、現在のゲーム、可視性を照会します。library はゲームライブラリ、プレイ時間、最近のプレイ、backlog、積みゲー、復帰候補を照会します。achievements は実績の詳細、達成度、最近の解除を照会します。friends はフレンドと公開されている共通ゲームを照会します。
ストア、割引、ウィッシュリスト
store は詳細の検索、ゲームの比較、DLC の表示を行います。deals は特価、大幅割引、セールを照会します。wishlist はウィッシュリスト、価格履歴、値下げ、発売状況の変化、および根拠のある buy / wait / skip の提案を表示します。
レコメンドと統合ゲームプロファイル
recommendations はストア候補、類似ゲーム、新作、backlog、ライブラリ重複度の分析をリコールします。候補の candidate_score は検索の優先順位のみを示し、最終的な適合度や購入の信頼度ではありません。最終判断はそれを呼び出す AI に委ねられます。
game_intel(action="snapshot") は、あるゲームについて以下を集約します。
個人の所有状態、総プレイ時間、最近のプレイ時間、最終プレイ日、実績。
現在価格、元値、割引、MCP が観測した価格履歴。
総合評価、最近の評価、評価数、利用可能な 7/30/90 日トレンド。
Steam Deck ステータス、Workshop サポート、現在のプレイヤー数、解釈可能な人気指標。
発売日、更新/build 情報、DLC、所有済み DLC、不足している DLC。
ローカルインストールパス、SizeOnDisk、実際のディレクトリサイズ、shadercache。Windows の compatdata は明示的に not_applicable とマークされます。
ローカル Steam と安全なクリーンアップ
local_steam は Windows の libraryfolders.vdf、appmanifest ファイル、インストール済みゲーム、ディスク使用量を読み取ります。storage_cleanup は scan、preview、clean の 3 ステップに分かれており、scan は決して削除しません。clean は appids、targets を明示的に指定し、confirm=true を渡す必要があります。shadercache は低リスク、compatdata はデフォルトで高リスクであり、Windows の最初のバージョンでは適用されません。
Related MCP server: gamelibs-mcp
複合 tool / action
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プロジェクト自体は外部 LLM を呼び出しません。読み取り、フィルタリング、集約、観測の記録、構造化された証拠の返却を行い、最終的なレコメンド判断は上位モデルが行います。
クイックスタート
以下のコマンドは Windows PowerShell 向けです。
ステップ 1: プロジェクトディレクトリに入る
GitHub からダウンロード:
git clone https://github.com/megabaka404/steam-personal-mcp.git
Set-Location steam-personal-mcpプロジェクトがすでにローカルにある場合:
Set-Location -LiteralPath '你的项目目录\steam-personal-mcp'ステップ 2: 環境を作成し依存関係をインストール
プロジェクトには Python 3.10 以降が必要です。
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ステップ 3: Steam を設定
設定ファイルをコピーして編集:
Copy-Item .env.example .env
notepad .env少なくとも以下を記入:
STEAM_API_KEY=你的Steam_Web_API_Key
STEAM_ID=你的SteamID64API Key の取得:
https://steamcommunity.com/dev/apikey
注意:
STEAM_ID は SteamID64 でなければなりません。
Steam Profile と Game Details は外部から見える必要があります。そうでないと個人データを読み取れない場合があります。
デフォルトでは中国リージョンのストアを使用します。ストアの価格は STEAM_STORE_COUNTRY と STEAM_STORE_LANGUAGE に依存します。
オプション設定:
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デフォルトで 12 個の複合 tool が有効です。どうしても従来の細かい粒度の tool を使い続ける必要がある場合は、以下を設定できます:
STEAM_MCP_COMPACT_TOOLS=false
STEAM_MCP_LEGACY_TOOLS=trueSteam ストアのリージョンを切り替える
ストアのリージョンは Steam の 2 桁の国/地域コードを使用し、.env の STEAM_STORE_COUNTRY で変更します。変更後、MCP サービスを再起動すると有効になります。デフォルトは中国リージョンです。
中国リージョン:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schinese米国リージョン:
STEAM_STORE_COUNTRY=us
STEAM_STORE_LANGUAGE=english日本リージョン:
STEAM_STORE_COUNTRY=jp
STEAM_STORE_LANGUAGE=japaneseその他の一般的なコードには gb(イギリス)、de(ドイツ)、fr(フランス)があります。プロジェクトは自動で為替換算を行いません。リージョンを切り替えると、価格、通貨、割引、一部の Store 検索結果が変わる可能性があります。
ステップ 4: まず Mock モードでサービスを確認
Mock サービスを起動:
python server.py --mock別の PowerShell ウィンドウで確認:
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ヘルスチェックの成功を確認できたら、実際の Steam モードを起動します。
ステップ 5: 実際のサービスを起動
HTTP モード:
python server.pyMCP アドレス:
http://127.0.0.1:8789/mcpstdio モード:
python server.py --stdioMock データが必要な場合:
python server.py --stdio --mock注: デフォルトは中国リージョンです。リージョンを変更するには、ターミナルで MCP を起動する前に以下を入力します: $env:STEAM_STORE_COUNTRY="cn" $env:STEAM_STORE_LANGUAGE="schinese" 他の国や地域も同じ方法でコードを変更すればよいです。
MCP クライアント設定
クライアントが Streamable HTTP をサポートしている場合、以下を追加:
{
"mcpServers": {
"steam-personal": {
"url": "http://127.0.0.1:8789/mcp"
}
}
}/health を MCP アドレスとして使わないでください。これはヘルスチェック用のインターフェースにすぎません。
stdio クライアントは、python server.py --stdio を起動するコマンドとして設定し、プロジェクトの仮想環境の Python を使用します。
接続が成功したら、直接質問できます:
我的游戏库里有哪些几乎没玩过的游戏?
Darkest Dungeon 现在值得买吗?
把我的愿望单按当前折扣列出来。
根据我最近玩过的游戏召回 15 个候选,但只给证据,不要直接替我下结论。データソースと制限
個人データは主に Steam Web API から取得します。ストアデータは Steam Store インターフェースから取得します。
Steam プロフィール、ゲーム詳細、統計のプライバシー設定により、データが欠落する場合があります。
一部のゲームは実績、プレイヤー統計、公開評価に対応しておらず、関連フィールドは空になります。
ストアインターフェースは完全で安定した Steam の全カタログではありません。検索結果はリージョン、言語、インターフェースの制限の影響を受ける場合があります。
価格、通貨、割引は設定されたストアリージョンに基づいて返されます。
評価データは Steam インターフェースが確実に提供する場合にのみ入力され、完全性のために推測することはありません。
実績の読み取りに失敗した場合、「すべて未解除」と偽装することはありません。
価格履歴、プレイセッション、年間レビューはこの MCP のローカル観測結果であり、Steam 公式の完全な履歴ではありません。
プロジェクト構造
server.py 服务入口
config.py 环境变量和启动参数
runtime.py HTTP/stdio 运行时
clients/ Steam API 和 Store 客户端
services/ 业务逻辑、推荐、历史记录
tools/ MCP 工具实现
models/ Pydantic 数据模型
tests/ 自动化测试
data/ 本地历史数据库目录ライセンス
リポジトリ内のライセンスファイルを基準にしてください。Steam データは Steam/Valve のサービス内容に属します。本プロジェクトは公開インターフェースを読み取り、ローカルで整理・分析するだけです。
Store の検索結果がなぜ不完全なのか?
公開されている Store search / featured endpoint は Steam 商品の全量データベースではありません。
そのため、以下の tool は有界な候補セットを返します:
search_store
search_sales
new_releases_for_me
recommend_store_for_me特定のゲームを照会する必要がある場合は、AppID を優先して使用してください。
価格のリージョンが正しくない
.env のリージョンと言語を確認してください。例:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schinese次のように変更することもできます:
us
jp
...変更後はサービスを再起動してください。プロジェクトは自動で為替換算を行いません。
セキュリティ
.env をコミットしない
Steam API Key をコミットしない
Steam パスワードを保存しない
Steam Guard を保存しない
Steam Cookie は不要
API Key をログに出力しない
debug endpoint は secret を返さない
Steam のプライバシー設定を迂回しない
自動で購入、取引、Steam アカウントの変更を行わない
デフォルトでは 127.0.0.1 のみにバインド
公網にデプロイする場合は、以下を追加で設定する必要があります:
HTTPS
Bearer / OAuth / reverse proxy authentication
適切なリクエスト制限
ログのマスキング
テスト
テストは mock clients または httpx.MockTransport を使用し、実際の Steam の状態に依存しないようにしてください。
実行:
pytestMock MCP スモークテスト:
python server.py --mock
Invoke-WebRequest http://127.0.0.1:8789/health
Invoke-WebRequest http://127.0.0.1:8789/debug/status本プロジェクトは ChatGPT と Codex の支援により完成しました。
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Read-only MCP server exposing a user ORANO library to their own AI agent.
Related MCP Servers
- AlicenseCqualityDmaintenanceA feature-rich Model Context Protocol server that gives AI assistants full access to your Steam game library.1424 npm11MIT
- AlicenseAqualityDmaintenanceAn 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.122MIT
- 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.35 npmMIT
- 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.86 npmMIT