mcpField
S
Steam Mcp

Steam Mcp

ローカル
github.com/Sarg338開発ツール85 週間前に更新

Steam Mcp について

Steam Mcpは、Steam Web APIとストアのデータを扱う読み取り専用のMCPサーバーです。アカウント、ゲーム、ストア情報を調べるAIエージェント向けで、一部のストア機能はキー不要、アカウント情報にはSteam APIキーが必要です。

主な機能

  1. 01ライブラリ、フレンド、実績、ウィッシュリストの検索
  2. 02価格、セール、レビュー、プレイヤー数の確認
  3. 03ゲームの発見、推薦、比較
  4. 04フレンドとの協力プレイの計画
  5. 05プロンプトとSteam URIリソースの提供

活用シーン

  1. 01フレンドのオンライン状況確認と協力プレイの計画
  2. 02レビュー傾向、価格、Steam Deck対応状況の評価
  3. 03ライブラリ、プレイ時間、未解除の実績の分析
  4. 04セール中のゲーム検索と推薦の取得

MCP 対応

読み取り専用のSteamツールとプロンプト、および`steam://app/{appid}`と`steam://user/{steamid}`リソースをMCPクライアントに提供します。アカウント関連ツールにはSteam APIキーが必要ですが、一部のストアツールは不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
pypisteam-mcp1.19.0
mcpbsteam-mcp.mcpb1.19.0

ツール

41

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
paramsanyはい

詳細

Steam MCP

PyPI Python CI License: MIT MCP Registry

公開 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_levelSteamコミュニティレベルはい
steam_get_player_bansVAC/ゲーム/コミュニティ/経済の各種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_compatibilitySteam Deckの評価(確認済み/プレイ可能/非対応)と基準ごとのテスト結果いいえ
steam_get_dlcゲームのDLC。リアルタイムの価格とセール情報を表示いいえ
steam_get_app_regional_pricingゲームの各地域での価格(現地通貨で表示)いいえ
steam_get_workshop_itemWorkshopアイテムのメタデータ(ゲーム、タグ、サブスクライバー、お気に入り、閲覧数)いいえ
steam_get_app_tagsゲームのコミュニティで人気のタグ(ソウルライク、ローグライク、コージーなど)いいえ
steam_get_app_reviews累計評価、肯定/否定の件数、サンプルレビュー。review_filter='recent' で最近(過去N日間)のスコアも表示可能いいえ
steam_analyze_gameゲームの概要を一度に取得:価格、累計および過去30日間のレビュー、現在のプレイヤー数、Deck、タグ、最新アップデートがレビューに与えた影響、ニュースいいえ
steam_compare_games2~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_players2人のユーザーが共通で所有するゲームとプレイ時間はい
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 の商標です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。