Steam MCP Server について
Steam MCP Serverは、Steam Web APIのデータをローカルのstdioサーバー経由でClaude DesktopとClaude Codeに提供します。プロフィール、ゲームライブラリ、実績、フレンド、ゲームニュース、プレイヤー統計を扱うツールがあります。
主な機能
- 01公開プロフィールの検索
- 02所有ゲームと最近のプレイ履歴の確認
- 03実績とフレンドのアクティビティ取得
- 04ゲームライブラリの比較
- 05ゲーム検索とニュース取得
- 06プレイヤー数と禁止状態の確認
活用シーン
- 01プレイヤーのライブラリとプレイ時間の確認
- 02他のユーザーとの所有ゲーム比較
- 03フレンドの現在の状態と最近の活動の確認
- 04ゲームニュースとプレイヤー統計の検索
MCP 対応
このサーバーは、ローカルstdio経由でSteam Web APIの操作をMCPツールとして対応クライアントに提供します。アカウント関連ツールにはAPIキーが必要ですが、公開ゲーム検索とプレイヤー数の確認には不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @j.meyer/steam-mcp-serverSTEAM_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
15掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| steamids | array | いいえ | 省略可能な SteamID64 のリストです。省略すると、自分の ID を使用します。 |
詳細
steam-mcp-server
Steam Web API をツールとして公開する MCP サーバーです。ローカルで stdio 経由で実行し、Claude Desktop または Claude Code から利用できます。
利用可能なツール
| ツール | 説明 |
|---|---|
get_player_profile | 1 人以上のユーザーの公開プロフィール(名前、アバター、ステータス) |
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_news | Steam ゲームの最新ニュースとアップデート |
get_global_achievement_percentages | 各実績を解除したプレイヤーの割合 |
get_current_players | ゲームの現在のプレイヤー数 |
resolve_vanity_url | バニティ URL を SteamID64 に変換 |
search_game | ゲームを検索し、その AppID を返す |
get_player_bans | VAC、コミュニティ、経済、ゲームの各種 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 ツールを追加する。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。