Skip to main content
Glama

steam-mcp

特定の人物に合うSteamゲームを判断するためのMCPサーバーです。プレイヤーが実際にプレイ時間を記録しているゲームと、そのプレイヤーが今すぐ何を求めているかを口にする内容をブレンドして、ストア全体をランキングします。

ツールは10個あります。recommend_games が正面の入口であり、残りはランキングを鵜呑みにせず検証できるように存在しています。

ツール

キーの要否

機能

recommend_games

不要(あるとより良い)

明示された好みに対してストアをランキングし、ライブラリでパーソナライズ

get_taste_profile

必要

プレイ時間で重み付けしたタグの親和度、トップジャンル、代表的なゲームを取得

search_games

不要

構造化カタログ検索:タグ、価格、プラットフォーム、発売日、セール

get_game_details

不要

説明、タグ、価格、レビュー、Metacritic、Deck互換性を取得

find_similar_games

不要

「Hades に似た」:シードゲームのタグを集約して検索

get_game_reviews

不要

スコアの内訳と、最も参考になるレビュー文を取得

list_tags

不要

Steam のタグ語彙を取得。名前を正確に合わせるために使用

get_my_library

必要

所有ゲームとプレイ時間を取得。プレイ時間の多い順

get_wishlist

不要 (公開プロフィール)

現在価格と割引を添えたウィッシュリストを取得

get_recently_played

必要

過去2週間のプレイを取得

実行

npm install && npm run build
claude mcp add -s user steam-mcp -e STEAM_ID=<your SteamID64> -- node /path/to/steam-mcp/dist/index.js

環境変数:

  • STEAM_ID (任意): デフォルトのプレイヤーを SteamID64 で指定します。ツールは呼び出しごとにバニティ名やプロフィールURLも受け入れます。

  • STEAM_API_KEY (任意): https://steamcommunity.com/dev/apikey から取得します。これはライブラリ、最近のプレイ、バニティ名解決のパスだけに必要です。公開プロフィールのウィッシュリストを含めて、それ以外はすべてキー不要なので、このサーバーは資格情報がまったくなくても役に立ちます。ただしパーソナライズだけはできません。

ディスクキャッシュは $XDG_CACHE_HOME/steam-mcp (デフォルトは ~/.cache) に置かれます。ストアの appdetails エンドポイントはIPごとに5分間で約200リクエストに制限されるため、クライアントはそのエンドポイントへのアクセス間隔を1.5秒にし、それ以外ははるかに速く処理して、積極的にキャッシュします(詳細は6時間、タグとDeckデータは1週間)。これにより、同じ場で続けて2回目のレコメンドをしても、ほとんど追加コストがかかりません。リストを充実させるツールはどれも期限付きで動作し、スキップしたゲームの数を報告するため、長いリクエストはプロキシでタイムアウトするのではなく、部分的な回答を返します。

Related MCP server: Steam Review and Forum MCP

ランキングの仕組み

src/taste.ts にモデル全体が入っています。

プロフィール。 プレイした各ゲームの時間を、コミュニティタグの投票割合に比例して配分します。そのため、ミルシムの時間はほぼ Military と Tactical に配られ、Multiplayer にはわずかな一部だけが配られます。その上に、3つの補正を重ねます:

  • タグは、Steam 自身のタグ辞書での人気順から導かれる希少度で重み付けされます(追加のリクエストは不要)。この補正がなければ、誰のプロフィールも皆 Action、Open Welt、Simulation から始まってしまいます。

  • 1つのスタジオのゲームは一緒にまとめてから圧縮します。Arma の3個のエントリは、1つの趣味の3回分の測定であって、3倍の証拠ではありません。

  • プレイ時間は平方根を取ります。外れ値が1つあっても先頭は走りますが、プロフィール全体を作るほどではありません。

キーが使える場合は、過去2週間のプレイが生涯のプレイ時間に加えて2回カウントされます。1回は履歴として、もう1回はプレイヤーが今はまっているものとしてです。

スコア。 同じ 0..1 スケールの2つのシグナルを均等にブレンドします。 fit は候補ゲームのタグベクトルとプロフィールのコサイン距離を、どのゲームでも出し得る最大値と比べた相対値です。 want は、候補のタグのうち、プレイヤーが求めた内容にどのくらい一致するかです。次に、レビュー評価は Steam の "Mostly Positive" ライン (70%) を下回った場合のみペナルティを課し、それ以上を増強することはありません。候補はもともとレビュー順に並んでいる状態で届くため、再び報奨を与えると人気を二重に数えることになるます。そして、報告される各 matchedOn エントリはスコア・ポイントで表され、そのポイントがライブラリとリクエストのどちらから得たかを示します。

順序。 最終的なリストは、多様性を残すため貪欲法で再ランンキングします。すでに選択されたゲームに似ていると最大 20 分低下します。ただしスコアそのものは変化せず、順番だけが変わります。ツールの説明にもそう明記されています。

テスト

npm test

どちらのスイートも、意図的に実 API に対し実行します。test/smoke.mjs はビルドしたサーバーを実際のMCP stdio た通して動かし、これは静かに喪失したスキーマや変更されたストアのエンドポイントが検出できる唯一の場所です。 test/taste.tstest/fixtures/library.json — 実際の45ゲームからなるライブラリ — に対してモデルを走らせ、タグ票推移するので、正確な数値ではなくランキングの挙動を確認します。 STEAM_API_KEY を設定キー付きのツールもテストできます。

キーを付けてのデプロイ

長期稼働するstdio サーバーはリクエストスコープのシークレット・ブローカーからキーを受け取れないので、キーを使うデプロイは、プロセス起動時に環境変数を注入できる場所に置くのが場です。すなわち superend の environment= 行、Nomad 変数、systemd の EnvironmentFile などです。サーバーは起動時に STEAM_API_KEY を一度だけ読み取り、どこにも書き出すことはしません。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Steam Web API: profiles, owned games, achievements, app news, player counts.

  • Explore and discover video games from the Internet Game Database. Search titles, view detailed inf…

  • Steam concurrent player trends for any game over time. Free key at trendsapi.ai

View all MCP Connectors

Latest Blog Posts

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/312-dev/steam-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server