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