steam-mcp
steam-mcp
MCP-сервер для подбора игр Steam под конкретного человека. Он сверяет магазин с тем, во что игрок реально наигрывает часы, и смешивает это с тем, что игрок сам говорит, что ему сейчас хочется.
Инструментов десять. recommend_games — парадная дверь; остальные существуют для того, чтобы рейтинг можно было расспросить, а не принимать на веру.
Инструмент | Нужен ключ | Что делает |
| нет (лучше с ключом) | Ранжирует магазин по заявленному предпочтению с персонализацией по библиотеке |
| да | Приверженность тегам, взвешенная по игровому времени; главные жанры; фирменные игры |
| нет | Структурный поиск по каталогу: теги, цена, платформа, дата выхода, скидка |
| нет | Описание, теги, цена, обзоры, Metacritic, совместимость со Steam Deck |
| нет | «Похоже на Hades»: поиск по суммарным тегам исходных игр |
| нет | Расклад оценок плюс текст самого полезного отзыва |
| нет | Словарь тегов Steam — чтобы точно называть имена |
| да | Приобретённые игры с часами, сначала самые наигранные |
| нет (публичный профиль) | Список желаемого с текущей ценой и скидкой |
| да | Игра за последние две недели |
Запуск
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. Инструменты также принимают vanity-имя или URL профиля при каждом вызове.STEAM_API_KEY(необязательно): со страницы https://steamcommunity.com/dev/apikey. Ключ нужен только путям библиотеки, недавних сессий и разрешения vanity-имён. Всё остальное, включая список желаемого в публичном профиле, работает без ключа, поэтому сервер полезен и вовсе без учётных данных — просто не может персонализировать.
Дисковый кэш лежит в $XDG_CACHE_HOME/steam-mcp (по умолчанию ~/.cache). Эндпоинт appdetails магазина ограничен примерно 200 запросами за пять минут на IP; клиент держит на нём паузу 1,5 с, а остальные опрашивает заметно быстрее и агрессивно кэширует (детали — шесть часов, теги и данные Deck — неделю), так что повторная рекомендация в тот же присест почти бесплатна. Каждый инструмент, обогащающий список, работает с дедлайном и сообщает, сколько игр он пропустил — поэтому длинный запрос вернётся частичным ответом, а не таймаутом на прокси.
Related MCP server: Steam Review and Forum MCP
Как работает ранжирование
Вся модель находится в src/taste.ts.
Профиль. Часы каждой сыгранной игры раскладываются по тегам сообщества пропорционально их доле голосов, поэтому часы милсима уходят в основном в Military и Tactical, а в Multiplayer — лишь тоненькая струйка. Поверх этого работают три правки:
Теги взвешиваются по редкости, выведенной из порядка популярности словаря тегов самого Steam (без дополнительных запросов). Без этого любой профиль начинался бы с Action, Open World, Simulation — кем бы игрок ни был.
Игры одной студии объединяются в пул перед сжатием. Три записи Arma — это три замера одного вкуса, а не утроенное количество доказательств.
Часы берутся под квадратный корень. Один выброс по-прежнему лидирует, но не переписывает весь профиль.
Игра за последние две недели, когда есть ключ, считается ещё вторым проходным поверх часов за всё время: один раз как история, а ещё раз — как то, что игроку интересно теперь.
Оценка. Два сигнала на одной шкале 0..1, смешиваемые поровну: fit — косинус между теговым вектором кандидата и профилем, нормированный относительно того, что вообще способна выдать какая-либо игра; и want — насколько его теговая масса совпадает с запрошенным игроком. Затем игровые отзывы штрафуют кандидата ниже линии Steam «Mostly Positive» (70%) и просто не поощряют выше, потому что кандидаты уже приходят отсортированными по отзывам, а поощрять популярность ещё раз — это считать её дважды. Любая возвращённая запись matchedOn даётся в баллах и сообщает, где её заработали — в библиотеке или в запросе.
Порядок. Итоговый список жадно перестраивается ради разнообразия: кандидат теряет до 40% своих баллов, если похож на уже подготовленного. Баллы отдаются как есть; меняется только порядок — и это отмечено в описании инструмента.
Тесты
npm testОбе комплекта запускаются против живого API намеренно. test/smoke.mjs ведёт собранный сервер через настоящий MCP stdio — это единственное место, где вскрывается молча брошенная схема или изменившийся эндпоинт магазина. test/taste.ts прогоняет модель на test/fixtures/library.json, реальной библиотеке из 45 игр, и проверяет поведение ранжирования, а не точные числа, потому что теговые голоса дрейфуют. Задайте STEAM_API_KEY, чтобы покрыть также инструменты с ключом.
Развёртывание с ключом
Долгоживущий stdio-сервер не может получить ключ из брокера секретов с областью действия запроса, поэтому развёртывание с ключом уходит туда, куда можно вставить переменную окружения при старте процесса: строку environment= в supervisord, переменную Nomad или EnvironmentFile в systemd. Сервер читает STEAM_API_KEY один раз при запуске и никогда никуда его не пишет.
Maintenance
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
- AlicenseAqualityAmaintenanceAbout Search Steam games, fetch user reviews, and analyze sentiment with topic drill-down to make informed purchasing decisions.4133MIT
- AlicenseNot gradedqualityBmaintenanceEnables exploring Steam store reviews and community discussion threads with server-side filtering, temporal analysis, and metadata context for understanding player sentiment and feedback beyond store page noise.251BSD 3-Clause
- AlicenseAqualityAmaintenanceEnables interaction with Steam: search games, get store details, reviews, prices, discounts, news, and player profiles, libraries, and achievements via the Steam Web API.255484MIT
- FlicenseNot gradedqualityCmaintenanceHelps users choose which Steam games to play or buy by analyzing their library, playtime, discounts, and reviews.
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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