Steam Mcp について
Steam Mcpは、Steam Web APIとストアのデータを扱う読み取り専用のMCPサーバーです。アカウント、ゲーム、ストア情報を調べるAIエージェント向けで、一部のストア機能はキー不要、アカウント情報にはSteam APIキーが必要です。
主な機能
- 01ライブラリ、フレンド、実績、ウィッシュリストの検索
- 02価格、セール、レビュー、プレイヤー数の確認
- 03ゲームの発見、推薦、比較
- 04フレンドとの協力プレイの計画
- 05プロンプトとSteam URIリソースの提供
活用シーン
- 01フレンドのオンライン状況確認と協力プレイの計画
- 02レビュー傾向、価格、Steam Deck対応状況の評価
- 03ライブラリ、プレイ時間、未解除の実績の分析
- 04セール中のゲーム検索と推薦の取得
MCP 対応
読み取り専用のSteamツールとプロンプト、および`steam://app/{appid}`と`steam://user/{steamid}`リソースをMCPクライアントに提供します。アカウント関連ツールにはSteam APIキーが必要ですが、一部のストアツールは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
41掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| params | any | はい |
詳細
Steam MCP
公開 Steam Web API とストアフロントに対応した、読み取り専用のModel Context Protocol サーバーです。41 個のツール、5 個のプロンプト、2 個のリソースを備え、あらゆる MCP クライアント(Claude Desktop、Claude Code、Cursor など)から、Steam のフレンド、ゲーム、プレイ時間、実績に加え、セール、レビュー、リアルタイムのプレイヤー数、Steam Deck との互換性、ゲームの発見やおすすめ、協力プレイの計画など、アカウントに依存しない情報について質問できます。
読み取り専用 · 公式 Steam API のみ · オープンソース。 ログインは行わず、サーバーが書き込み、トレード、投稿、ゲームの起動、購入を行うこともありません。
クイックスタート — API キー不要
uv をインストールしてから、次のように実行します。
Claude Code
claude mcp add steam -- uvx steam-mcp
設定はこれだけです。41 個のツールのうち 19 個は、認証情報がなくても利用できます。ストアやゲーム自体に関するツールです。
「Baldur's Gate 3 は買う価値がありますか? 最近のレビューの傾向はどうですか?」 「今、20 ポンド未満でセール中の協力プレイゲームはありますか?」 「今この瞬間、Helldivers 2 をプレイしている人は何人ですか?」 「Hades II は Steam Deck で問題なく動作しますか?」
3 つのゲーム検索ツール(steam_discover、steam_should_i_buy、steam_recommend)も、個人向けにカスタマイズしない限り、キーなしで動作します。
自分のアカウントを追加する
無料の Steam Web API キー(取得にかかる時間は約 1 分)があれば、残りの 22 個のツールも利用できます。これらはライブラリ、プレイ時間、フレンド、実績、ウィッシュリスト、インベントリなど、特定のアカウントを読み取るツールです。STEAM_USER も追加すると、「自分の」や「私」の既定値があなたになるため、SteamID を貼り付ける必要がなくなります。
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
ヒント:これは現在のプロジェクトだけを対象とします。すべてのプロジェクトで Steam を使いたい場合に限り、
--scope userを追加してください。そうすると、どこでもツールをコンテキストに含められます。Steam を複数のプロジェクトで使う場合を除き、プロジェクト単位のスコープをおすすめします。
Claude Desktop — 最新リリースから steam-mcp.mcpb をダウンロードし、開きます(Settings → Extensions)。どちらのフィールドも任意です。キー不要のツールだけを使う場合は空欄のままにし、必要になったら入力してください。
Cursor / Cline / Windsurf と、手動での pip セットアップについては、以下のセットアップを参照してください。
キーがなくてもアカウント用ツールは一覧に表示されますが、
[unavailable: needs STEAM_API_KEY]とマークされます。そのため、アシスタントは利用できないツールで失敗する代わりに、キー不要のツールを選べます。
回答できる質問
アカウント/プロフィール(公開プロフィールが必要です。STEAM_USER を設定すると、「my」/「I」はあなたを指すようになります。SteamID は不要です):
- 「フレンドリストには誰がいて、今オンラインなのは誰ですか?」
- 「フレンドのうち Helldivers 2 を所有しているのは誰で、今プレイしているのは誰ですか?」
- 「ゲームナイトを開きたいのですが、オンラインのフレンドと私が全員所有している協力プレイゲームは何ですか?」
- 「ライブラリを分析してください。積みゲーと、気に入っていたのに途中でやめたゲームを教えてください。」
- 「Hollow Knight で未取得の実績と、最もレアな実績を教えてください。」
- 「ウィッシュリストには何があり、そのうちセール中のものはありますか?」
- 「よくプレイしているゲームをもとに、次にチェックすべきゲームをおすすめしてください。」
- 「CS2 のインベントリには何があり、そのうちマーケットで取引できるアイテムはどれですか?」
アカウントに依存しない質問(どのゲームにも対応し、SteamID は不要です):
- 「Baldur's Gate 3 は買う価値がありますか? 最近のレビューの傾向も教えてください。」
- 「今セール中のゲームと、現在の売上ランキング上位のゲームを教えてください。」
- 「今この瞬間、何人が Counter-Strike 2 をプレイしていますか?」
- 「Hades II は Steam Deck で動きますか?」
- 「フィールドテスト済み AK-47 | レッドラインのコミュニティマーケット価格はいくらですか?」
- 「Elden Ring はソウルライクですか? コミュニティタグも教えてください。」
- 「レビュー評価の高い、20 ドル未満の協力プレイ型ローグライクを探してください。」
- 「所有済みのものを除いて、Hollow Knight のようなゲームをおすすめしてください。」
ツール
| ツール | 返される内容 | キーが必要? |
|---|---|---|
steam_resolve_vanity_url | カスタムURL名/プロフィールURL → SteamID64 | はい |
steam_get_player_summary | ステータス(オンライン/離席中/ゲーム中など)、現在プレイ中のゲーム。1~100人に対応 | はい |
steam_get_friend_list | 名前とリアルタイムのステータスを付加したフレンド一覧 | はい |
steam_find_friends_who_own | ゲームを所有(またはプレイ)しているフレンド — 「Xを一緒にプレイできる人は?」 | はい |
steam_get_user_groups | ユーザーが参加しているSteamグループ/クラン(名前、URL、メンバー数) | はい |
steam_plan_coop_night | ホストとフレンド全員が所有する協力プレイゲーム(所有者数順) — または mode="new" で誰もまだ所有していない新しい協力プレイゲームを表示。現在オンラインの人も確認できます | はい |
steam_get_owned_games | 所有ゲームと合計/最近のプレイ時間(並べ替え可能) | はい |
steam_analyze_library | ライブラリ全体の積みゲー、プレイ時間の分布、放置されたゲーム | はい |
steam_get_recently_played_games | 過去2週間のプレイ時間 | はい |
steam_get_steam_level | Steamコミュニティレベル | はい |
steam_get_player_bans | VAC/ゲーム/コミュニティ/経済の各種BAN | はい |
steam_get_player_achievements | ゲームごとの解除済み/未解除実績 | はい |
steam_get_game_schema | ゲームの実績定義(名前、説明、非公開フラグ) | はい |
steam_get_global_achievement_percentages | 実績の希少度(全体の解除率) | いいえ |
steam_get_user_game_stats | ゲームにおけるユーザーのゲーム内統計(キル数、勝利数、移動距離など) | はい |
steam_get_rarest_unlocks | ゲームにおけるプレイヤーの最も希少な実績解除(全体の希少度順) | はい |
steam_search_apps | ゲームタイトル → appid(価格も表示) | いいえ |
steam_discover | タグ、価格、セール、プラットフォーム、発売時期(「過去N日間」)でゲームを検索/おすすめ — オプションでユーザーの好みに合わせてパーソナライズ(所有済みゲームは除外) | いいえ* |
steam_should_i_buy | 購入判断の概要 — 価格、累計および最近のレビュー(傾向)、タグ、Metacritic、好みとの一致度 | いいえ* |
steam_recommend | シードゲームや好みに似たゲームを、共通タグを「おすすめ理由」としておすすめ | いいえ* |
steam_get_app_details | ストアの詳細情報 — プレイモード/協力プレイ、コントローラー、DLC、対応言語、必要環境、Metacritic、Steam Deck | いいえ |
steam_get_deck_compatibility | Steam Deckの評価(確認済み/プレイ可能/非対応)と基準ごとのテスト結果 | いいえ |
steam_get_dlc | ゲームのDLC。リアルタイムの価格とセール情報を表示 | いいえ |
steam_get_app_regional_pricing | ゲームの各地域での価格(現地通貨で表示) | いいえ |
steam_get_workshop_item | Workshopアイテムのメタデータ(ゲーム、タグ、サブスクライバー、お気に入り、閲覧数) | いいえ |
steam_get_app_tags | ゲームのコミュニティで人気のタグ(ソウルライク、ローグライク、コージーなど) | いいえ |
steam_get_app_reviews | 累計評価、肯定/否定の件数、サンプルレビュー。review_filter='recent' で最近(過去N日間)のスコアも表示可能 | いいえ |
steam_analyze_game | ゲームの概要を一度に取得:価格、累計および過去30日間のレビュー、現在のプレイヤー数、Deck、タグ、最新アップデートがレビューに与えた影響、ニュース | いいえ |
steam_compare_games | 2~5本のゲームを横並びで比較:価格、レビューとその傾向、現在のプレイヤー数、Steam Deck、協力プレイ、タグ | いいえ |
steam_get_update_impact | アップデートでレビューは変化したか? 最近の各パッチ前後の日数でのレビュー評価を比較 | いいえ |
steam_analyze_app_reviews | 数千件のレビューを分析:時系列、言語別、プレイ時間別のセンチメント、Steam Deck、キーの有効化とSteamでの購入の比較、返金、開発者の返信 | いいえ |
steam_get_featured_specials | 現在セール中のゲーム(地域別) | いいえ |
steam_get_store_highlights | 売上上位、新作、近日発売のゲーム | いいえ |
steam_get_wishlist | ユーザーのウィッシュリスト。リアルタイムの価格とセール情報を表示 | はい |
steam_get_inventory | ユーザーのインベントリ — ゲームアイテムまたはSteamコミュニティアイテム(カード、エモーティコンなど)。トレード/マーケット出品の可否も表示 | はい† |
steam_get_market_price | アイテムのコミュニティマーケット価格(最低価格/中央値/24時間の取引量)、種類/レア度、CS2の状態 | いいえ |
steam_get_player_badges | バッジと、Steamレベルの内訳となるXP | はい |
steam_get_package_details | パッケージ/バンドルの価格と収録ゲーム | いいえ |
steam_compare_players | 2人のユーザーが共通で所有するゲームとプレイ時間 | はい |
steam_get_current_players | リアルタイムの同時プレイヤー数 | いいえ |
steam_get_app_news | 最近のニュース/パッチノート | いいえ |
すべてのツールは response_format: "markdown"(デフォルト)または "json" をサポートし、readOnlyHint: true が付与されています。複数の呼び出しを連鎖させるより、複合ツール(steam_should_i_buy、steam_recommend、steam_discover、steam_plan_coop_night)を優先してください。フィールドを解析する必要がある場合にのみ、json を指定してください。ローカライズされたテキストを読み取るツールは language パラメーターを受け付けます。値には french や schinese などの Steam 言語名を指定します(デフォルトは english)。 |
*
steam_discover、steam_should_i_buy、steam_recommendはストアデータの取得にキーは不要ですが、パーソナライズ(ユーザーのライブラリや好みを利用するためにsteamidを渡すこと)にはキーと公開プロフィールが必要です。†
steam_get_inventoryはキー不要のエンドポイントを読み取りますが、誰のインベントリかを指定する必要があります。また、バニティ名(またはSTEAM_USER)を SteamID64 に変換する処理自体にキーが必要です。17 桁の生の SteamID64 を渡せば、キーなしで動作します。
プロンプトとリソース
ツールに加えて、このサーバーにはプロンプト(ツールを連携させる、ガイド付きのワンクリックフロー)と、URI で Steam エンティティを参照するリソースも用意されています。
- プロンプト:
what_should_i_play、is_it_worth_buying、plan_game_night、steam_deals、game_overview。 - リソース:
steam://app/{appid}(ストアの詳細)とsteam://user/{steamid}(プロフィールとライブステータス)。
最近のレビュー:
review_filter='recent'を指定したsteam_get_app_reviewsは、直近day_range日間(デフォルトは 30 日)の正確なレビュー件数とスコアを Steam に問い合わせます。これはストアページの「最近のレビュー」の行に表示される数値と同じです。Steam がこのリクエストを拒否した場合は、最新のレビューを最大recent_max_reviews件まで数えて代用し、結果にsampled: trueを設定します。レビューの集計対象: デフォルトでは、両方のスコアの集計対象はストアページと同じです。有料ゲームでは Steam での購入のみ(キーの有効化は含まれません)、無料ゲームでは全ユーザーが対象です。
purchase_type='all'または'steam'を指定すると、どちらかに固定できます。
マーケット価格:
steam_get_market_priceは、ドキュメント化されておらず、厳しいレート制限が設けられている Steam コミュニティマーケットのエンドポイントを使用します。結果は短時間キャッシュされます。現在出品がないアイテムの価格は、取得不可として返されます。
セットアップ
1. 無料の Steam Web API キーを取得する(任意)
キー不要の 19 個のツールだけを使う場合は、この手順を省略してください。サーバーはキーなしでも問題なく動作し、アカウント関連ツールは利用不可であることを通知します。
アカウント関連ツールを利用するには、https://steamcommunity.com/dev/apikey にアクセスしてサインインし、ドメインを登録します(自分が管理するドメインであれば何でも使用できます。個人用のキーには localhost がよく使われます)。その後、キーをコピーしてください。利用は Steam Web API 利用規約 に従います。
2. インストール
公開パッケージを使う場合、チェックアウトは不要です(Python 3.10 以降)。
uvx steam-mcp # zero-install via uv (recommended)
# or
pip install steam-mcp # run as: python -m steam_mcp.server
MCP Python SDK のどちらのメジャーバージョンでも動作します(mcp>=1.28)。v2 SDK では、サーバーは仕様リビジョン 2026-07-28 に対応します。ステートレスで、initialize ハンドシェイクは不要です。また、ツール、プロンプト、リソースの一覧でキャッシュヒントを提示します。STEAM_USER が設定されていない場合は、どの Steam アカウントが自分のものかを尋ねることもできます(セッションごとに 1 回で、クライアントがエリシテーションに対応している場合のみ)。v1.x 系では、モダンなクライアントがいずれにせよフォールバックする initialize ハンドシェイクを提供します。どちらの場合も設定は不要です。
TLS に関する注意: HTTP クライアントには
httpx2を使用しています。証明書の検証には、同梱の CA リストではなく、オペレーティングシステムの信頼ストアを使用します。最小構成の環境(システム CA ストアのない軽量コンテナーや、プライベート CA 配下など)で実行する場合は、SSL_CERT_FILEまたはSSL_CERT_DIRを CA バンドルの場所に設定してください。
3. MCP クライアントに追加する
どちらの設定も任意です。STEAM_API_KEY を設定するとアカウント関連のツールが使えるようになり、STEAM_USER
(Steam のバニティ名、SteamID64、またはプロフィール URL)を設定すると、ユーザーを指定しなかった場合に
ツールがデフォルトで あなた を対象にするため、SteamID を貼り付ける必要がなくなります。公開プロフィール
名であり、秘密情報ではありません。どの呼び出しでも steamid を渡せば、設定を上書きできます。
どちらも設定しない場合はキー不要のサーバーになり、両方設定するとすべての機能を利用できます。
ツールセットを小さくする(任意)。 各ツールの定義はリクエストごとにモデルのコンテキストに含まれ、
全41個では約11.5kトークンになります。STEAM_MCP_TOOLS=essentials を設定すると、検索、1回の呼び出しで
完結するゲーム概要、詳細、レビュー、比較、購入すべきかの判断、発見、おすすめ、アップデートの影響、
セール、プロフィール、ライブラリ、ライブラリ分析、ウィッシュリスト、協力プレイの夜に関する機能の
計15個だけが読み込まれます。名前を指定して追加する(essentials,get_inventory)か、必要なものだけを
正確に列挙することもできます。デフォルトは all です。組み込みのプロンプトで、選択したセットに含まれない
ツールが言及される場合があります。
Claude Code
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
STEAM_USERは任意です。各呼び出しで SteamID を指定する場合は、2つ目の--envを省略してください。
Claude Desktop — 最新リリースから
steam-mcp.mcpb をインストールします(Settings → Extensions)。その後、キー(および任意で Steam 名)を貼り付けます。
その他すべて(Claude Desktop の設定、Cursor、Cline、Windsurf、VS Code など)— 次のブロックをクライアントの MCP 設定ファイルに追加します。
{
"mcpServers": {
"steam": {
"command": "uvx",
"args": ["steam-mcp"],
"env": {
"STEAM_API_KEY": "YOUR_KEY_HERE",
"STEAM_USER": "your_steam_name"
}
}
}
}
Cline などの AI エージェントを使ってインストールする場合は、
llms-install.md を指定してください。セットアップの手順が説明されています。
設定ファイルの場所:Claude Desktop は claude_desktop_config.json(Windows では %APPDATA%\Claude\、
macOS では ~/Library/Application Support/Claude/)、Cursor は .cursor/mcp.json、Cline は
cline_mcp_settings.json です。クライアントを再起動すると、Steam ツールが表示されます。ソースコードを
チェックアウトした状態から実行する場合は、代わりに "command": "python", "args": ["-m", "steam_mcp.server"]
を使用してください。
セキュリティ
読み取り専用、公式 Steam のみ、および独自のキーを使用する設計です。要点は次のとおりです。
- 読み取り専用 — 書き込み、トレード、投稿、ゲームの起動、購入は一切行いません。
- キーはあなたの手元に —
STEAM_API_KEYから読み込みます。ディスクへの書き込み、ログ記録、 キャッシュ、出力への記載は行わず、エラーメッセージからも削除されます。 - 公式ホストのみ — リクエスト層が
api.steampowered.com/store.steampowered.com/steamcommunity.com以外のホストへのアクセスを拒否します(SSRF ガード)。ホストごとのレート制限と リトライ/バックオフも備えています。 - 型付きの検証済み入力(
extra="forbid")。ユーザーに関するストアデータの小規模な TTL キャッシュを 除き、リクエスト間でデータを保持しません。
詳細と問題の報告方法については、SECURITY.md をご覧ください。
バージョン管理と安定性
steam-mcp はセマンティック バージョニングに従います。1.0 以降、以下は
安定した公開インターフェースであり、メジャーリリース(2.0)なしに変更されることはありません。
- ツール名とその入力パラメーター(名前、型、必須かどうか、デフォルト値)
- JSON 出力フィールド(
response_format: "json")— 名前、型、構造 - プロンプト名と引数、およびリソースの URI テンプレート
(
steam://app/{appid}、steam://user/{steamid}) - コアの仕様:読み取り専用、独自のキーを使用、価格はセント単位/プレイ時間は分単位、エラーは文字列で返されます
メジャーバージョン内では、マイナーリリースでツール、プロンプト、リソース、任意のパラメーター、 JSON フィールドを追加する場合があります。パッチリリースはバグ修正のみです。Markdown出力の文言、 内部実装、キャッシュの動作、および各ツールで使用する Steam エンドポイントは、いつでも変更される可能性があり、 契約には含まれません。
ライセンス
MIT。Valve とは関係ありません。「Steam」は Valve Corporation の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。