mcpField
S
Steam MCP Server

Steam MCP Server

ローカル
github.com/julianmeyerrゲーム・エンタメ06 週間前に更新

Steam MCP Server について

Steam MCP Serverは、Steam Web APIのデータをローカルのstdioサーバー経由でClaude DesktopとClaude Codeに提供します。プロフィール、ゲームライブラリ、実績、フレンド、ゲームニュース、プレイヤー統計を扱うツールがあります。

主な機能

  1. 01公開プロフィールの検索
  2. 02所有ゲームと最近のプレイ履歴の確認
  3. 03実績とフレンドのアクティビティ取得
  4. 04ゲームライブラリの比較
  5. 05ゲーム検索とニュース取得
  6. 06プレイヤー数と禁止状態の確認

活用シーン

  1. 01プレイヤーのライブラリとプレイ時間の確認
  2. 02他のユーザーとの所有ゲーム比較
  3. 03フレンドの現在の状態と最近の活動の確認
  4. 04ゲームニュースとプレイヤー統計の検索

MCP 対応

このサーバーは、ローカルstdio経由でSteam Web APIの操作をMCPツールとして対応クライアントに提供します。アカウント関連ツールにはAPIキーが必要ですが、公開ゲーム検索とプレイヤー数の確認には不要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"julianmeyerr-steam": {
"command": "npx",
"args": [
"-y",
"@j.meyer/steam-mcp-server"
],
"env": {
"STEAM_API_KEY": "<STEAM_API_KEY>",
"MY_STEAM_ID": "<MY_STEAM_ID>",
"STEAM_FAMILY_MEMBER_IDS": "<STEAM_FAMILY_MEMBER_IDS>"
}
}
}
}
起動コマンドnpx -y @j.meyer/steam-mcp-server
設定が必要な環境変数
STEAM_API_KEYシークレットSteam Web API key for account-related tools.
MY_STEAM_IDDefault SteamID64 used when a tool does not receive one.
STEAM_FAMILY_MEMBER_IDSOptional comma-separated SteamID64 values for the family library.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@j.meyer/steam-mcp-server1.1.6

ツール

15

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

パラメーター型必須説明
steamidsarrayいいえ省略可能な SteamID64 のリストです。省略すると、自分の ID を使用します。

詳細

steam-mcp-server

Steam Web API をツールとして公開する MCP サーバーです。ローカルで stdio 経由で実行し、Claude Desktop または Claude Code から利用できます。

利用可能なツール

ツール説明
get_player_profile1 人以上のユーザーの公開プロフィール(名前、アバター、ステータス)
get_owned_gamesプレイ時間を含む、ユーザーが所有するゲーム
get_family_owned_games所有者情報付きの、統合されたファミリーゲームライブラリ
get_recently_played_games過去 2 週間以内にプレイしたゲーム
get_player_achievements特定のゲームにおけるユーザーの実績
get_friend_listユーザーの Steam フレンドリスト
get_friends_current_statusフレンドの現在のステータスとプレイ中のゲーム
get_friends_recent_activityフレンドの最近のアクティビティ
compare_owned_games別のユーザーと共通して所有しているゲーム
get_app_newsSteam ゲームの最新ニュースとアップデート
get_global_achievement_percentages各実績を解除したプレイヤーの割合
get_current_playersゲームの現在のプレイヤー数
resolve_vanity_urlバニティ URL を SteamID64 に変換
search_gameゲームを検索し、その AppID を返す
get_player_bansVAC、コミュニティ、経済、ゲームの各種 BAN 状況

照会する Steam プロフィールは公開設定である必要があります。ただし、自分の API キーを使って自分の SteamID を照会する場合は除きます。 アカウント関連のツールには API キーが必要です。現在のプレイヤー数やゲーム検索などの公開ツールは、API キーなしで実行できます。

1. Steam API キーを取得する

https://steamcommunity.com/dev/apikey にアクセスし、Steam アカウントにサインインして API キーを生成します。キーを発行するには、ライブラリに少なくとも 1 つのゲームが必要です。

2. インストール

要件:Node.js 18 以降。

npm install
cp .env.example .env       # macOS/Linux
# Windows PowerShell: Copy-Item .env.example .env
# Edit .env and add your STEAM_API_KEY
npm run build

.env ファイルには秘密情報が含まれるため、公開してはいけません。ネットワークで SSL インスペクションが使用されている場合は、STEAM_EXTRA_CA にプライベート CA 証明書のパスを設定します。STEAM_TLS_INSECURE=1 は、信頼できるネットワーク上での最後の手段としてのみ使用してください。

Steam のレスポンスはデフォルトでメモリに 30 秒間キャッシュされ、レート制限エラーを減らすため、リクエスト間隔は最低 100 ミリ秒に設定されています。キャッシュを無効にするには STEAM_CACHE_TTL_MS=0 を設定し、必要に応じて STEAM_MIN_REQUEST_INTERVAL_MS を調整してください。

ファミリーライブラリ

ファミリーメンバーの SteamID64 値を、カンマ区切りのリストとして設定します。MY_STEAM_ID は自動的に含まれます。

MY_STEAM_ID=76561199080486814
STEAM_FAMILY_MEMBER_IDS=76561100000000001,76561100000000002

get_family_owned_games ツールは、各ゲームの appid、名前、所有者の SteamID64 を返します。ゲームが複数のアカウントに表示される場合、owner には複数の ID が含まれます。Steam Web API は Steam Families を通じてのみ借りられるゲームを直接公開していません。各アカウントが所有ゲームとして公開しているゲームのみを返します。

3. MCP Inspector でテストする

実際のクライアントにサーバーを接続する前に、この方法でテストすることをおすすめします。

npm run inspector

ブラウザーの UI が開き、ツールの一覧表示や実行を手動で行って、正しく応答することを確認できます。

ローカルビルドではなく、公開済みの npm パッケージをテストするには、次のようにします。

npx --yes "@modelcontextprotocol/inspector" npx --yes --package "@j.meyer/[email protected]" steam-mcp-server

4. Claude Desktop に接続する

Claude Desktop の設定ファイルを編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

プロジェクトへの絶対パスを使ってサーバーを追加します。

{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": [
        "--yes",
        "--package",
        "@j.meyer/[email protected]",
        "steam-mcp-server"
      ],
      "env": {
        "STEAM_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Desktop を再起動します。ツールメニューに steam サーバーが表示されます。

5. Claude Code に接続する

claude mcp add steam -- npx --yes --package @j.meyer/[email protected] steam-mcp-server

.env ファイル、または claude を実行するシェル環境で STEAM_API_KEY が定義されている場合、Claude Code はその値を引き継ぎます。

プロジェクトの公開

このサーバーは、ローカルで stdio を介して実行するように設計されています。各ユーザーが独自の STEAM_API_KEY と MY_STEAM_ID を設定する必要があります。.env ファイルをコピーしたり、公開する設定に API キーを含めたりしないでください。

リリースを作成する前に、クリーンなコピーからインストールを確認してください。

npm ci
npm run build
npm test
npm run inspector

npm パッケージとして公開する場合、npm publish がプロジェクトを自動的にビルドし、dist、README.md、.env.example、LICENSE のみを配布します。 パッケージは @j.meyer/steam-mcp-server として利用できます。

自動リリース

vX.Y.Z に一致するタグをプッシュすると、.github/workflows/publish.yml が実行されます。このワークフローでは、タグが package.json と server.json のバージョンに一致することを確認し、ビルド、テスト、監査、パッケージの検証を行った後、npm、公式 MCP Registry、GitHub Releases に公開します。

このワークフローでは GitHub OIDC を使った npm Trusted Publishing を使用するため、NPM_TOKEN シークレットは不要です。初回の自動リリース前に、npm パッケージ設定で次の内容を指定して Trusted Publisher を設定してください。

  • プロバイダー:GitHub Actions
  • ユーザー:julianmeyerr
  • リポジトリ:steam-mcp-server
  • ワークフロー:publish.yml
  • 許可するアクション:npm publish

MCP Registry への公開にも GitHub OIDC を使用するため、追加のシークレットは不要です。レジストリのメタデータは server.json で定義され、所有権は package.json の mcpName を通じて検証されます。

バージョン更新を main にマージした後、対応するタグをプッシュしてください。

git push origin v1.1.6

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE をご覧ください。

SteamID64 の取得方法

ほとんどのツールでは、ユーザー名ではなく 64 ビットの steamid(例:76561197960435530)が必要です。resolve_vanity_url ツールを使ってカスタム Steam URL を変換するか、SteamID.io などの外部サービスを利用できます。

今後のステップの候補

  • レビュー、価格、ゲームの詳細など、Steam Store ツールを追加する。

コメント

MCP は初めてですか?

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

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