steam-personal-mcp
Steam Personal + Store MCP
Локально запускаемый Steam MCP-сервер. По умолчанию предоставляет 12 составных инструментов, сгруппированных по областям.
Возможности
Личные данные
player — запрос профиля, текущей игры и видимости; library — запрос библиотеки, времени в играх, недавней активности, бэклога, заброшенных игр и кандидатов на возвращение; achievements — запрос деталей достижений, процента завершения и недавно полученных; friends — запрос друзей и общих игр с открытым профилем.
Магазин, скидки и список желаемого
store — поиск деталей, сравнение игр и просмотр DLC; deals — запрос скидок, глубоких распродаж и акций; wishlist — просмотр списка желаемого, истории цен, снижений цен, изменений дат выхода, а также рекомендаций buy / wait / skip с обоснованием.
Рекомендации и единый игровой профиль
recommendations — подбор кандидатов из магазина, похожих игр, новинок, бэклога и анализ дубликатов в библиотеке. candidate_score у кандидатов означает лишь приоритет поиска, а не итоговую оценку соответствия или уверенность в покупке — окончательное решение принимает вызывающий его ИИ.
game_intel(action="snapshot") — сводка по игре:
Наличие в библиотеке, общее время, время за последний период, последний запуск и достижения.
Текущая цена, цена без скидки, скидка, история цен по наблюдениям MCP.
Общие оценки, недавние оценки, количество оценок и доступные тренды за 7/30/90 дней.
Статус Steam Deck, поддержка Workshop, текущее количество игроков и понятные показатели популярности.
Дата выхода, информация об обновлениях/сборках, DLC, приобретённые DLC и отсутствующие DLC.
Локальный путь установки, SizeOnDisk, фактический размер каталога и shadercache; для Windows
compatdataявно помечается как not_applicable.
Локальный Steam и безопасная очистка
local_steam — чтение libraryfolders.vdf, файлов appmanifest, установленных игр и занятого места на диске. storage_cleanup — три этапа: scan, preview, clean; scan никогда не удаляет данные; для clean необходимо явно указать appids, targets и передать confirm=true. shadercache — низкий риск; compatdata по умолчанию высокий риск и неприменим в первой версии для Windows.
Related MCP server: gamelibs-mcp
Составной инструмент / действие
player: profile | currently_playing | visibility
library: search | stats | most_played | recent | abandoned | never_played | low_playtime | backlog | return_to | game
achievements: details | summary | recent | almost_completed | completion_candidates
friends: list | playing | activity | shared
store: search | details | compare | dlc
deals: specials | deep_discounts | search_sales | summary
wishlist: list | sales | best_deals | price_history | price_drops | release_watch | buy_advice | purchase_candidates
recommendations: store | similar | new_releases | library | backlog | return_to | next | overlap | pick
activity: record | sessions | recent_sessions | year_review | game_change_history
game_intel: snapshot | update_impact
local_steam: scan | installed | disk_usage
storage_cleanup: scan | preview | cleanПроект сам по себе не вызывает внешние LLM. Он отвечает за чтение, фильтрацию, агрегацию, запись наблюдений и возврат структурированных доказательств; итоговую рекомендацию формирует вышестоящая модель.
Быстрый старт
Следующие команды предназначены для Windows PowerShell.
Шаг 1: перейдите в каталог проекта
Скачайте с GitHub:
git clone https://github.com/megabaka404/steam-personal-mcp.git
Set-Location steam-personal-mcpЕсли проект уже локально:
Set-Location -LiteralPath '你的项目目录\steam-personal-mcp'Шаг 2: создайте окружение и установите зависимости
Требуется Python 3.10 или новее.
py -3 -m venv .venv
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtШаг 3: настройте Steam
Скопируйте файл конфигурации и отредактируйте его:
Copy-Item .env.example .env
notepad .envЗаполните как минимум:
STEAM_API_KEY=你的Steam_Web_API_Key
STEAM_ID=你的SteamID64Получите API Key:
https://steamcommunity.com/dev/apikey
Примечания:
STEAM\_IDдолжен быть в формате SteamID64.Профиль Steam и данные об играх (Game Details) должны быть открытыми, иначе личные данные могут быть недоступны.
По умолчанию используется магазин для Китая; цена в магазине зависит от
STEAM\_STORE\_COUNTRYиSTEAM\_STORE\_LANGUAGE.
Дополнительные опции:
STEAM_MCP_HOST=127.0.0.1
STEAM_MCP_PORT=8789
STEAM_MCP_COMPACT_TOOLS=true
STEAM_MCP_LEGACY_TOOLS=false
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=english
STEAM_HISTORY_DB=data/steam_history.sqlite3По умолчанию включены 12 составных инструментов. Если необходимо продолжать использовать старые узкоспециализированные инструменты, установите:
STEAM_MCP_COMPACT_TOOLS=false
STEAM_MCP_LEGACY_TOOLS=trueСмена региона магазина Steam
Регион магазина задаётся двухбуквенным кодом страны Steam через STEAM\_STORE\_COUNTRY в файле .env. Изменения вступают в силу только после перезапуска MCP-сервера. По умолчанию — Китай.
Китай:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseСША:
STEAM_STORE_COUNTRY=us
STEAM_STORE_LANGUAGE=englishЯпония:
STEAM_STORE_COUNTRY=jp
STEAM_STORE_LANGUAGE=japaneseДругие распространённые коды: gb (Великобритания), de (Германия), fr (Франция). Проект не выполняет автоматическую конвертацию валют; после смены региона могут измениться цены, валюта, скидки и часть результатов поиска по магазину.
Шаг 4: сначала проверьте работу в режиме Mock
Запустите Mock-сервис:
python server.py --mockВ отдельном окне PowerShell проверьте:
Invoke-WebRequest http://127.0.0.1:8789/health | Select-Object -ExpandProperty Content
Invoke-WebRequest http://127.0.0.1:8789/debug/status | Select-Object -ExpandProperty ContentУбедитесь, что проверка работоспособности (health check) проходит, и только затем запускайте реальный режим Steam.
Шаг 5: запустите реальный сервис
Режим HTTP:
python server.pyАдрес MCP:
http://127.0.0.1:8789/mcpРежим stdio:
python server.py --stdioЕсли нужны Mock-данные:
python server.py --stdio --mockПримечание: по умолчанию регион — Китай. Чтобы сменить регион, перед запуском MCP в терминале выполните:
$env:STEAM\_STORE\_COUNTRY="cn"
$env:STEAM\_STORE\_LANGUAGE="schinese"
Для других стран и регионов измените код аналогичным образом.
Настройка MCP-клиента
Если клиент поддерживает Streamable HTTP, добавьте:
{
"mcpServers": {
"steam-personal": {
"url": "http://127.0.0.1:8789/mcp"
}
}
}Не используйте /health в качестве адреса MCP — это только интерфейс проверки работоспособности.
Для клиентов stdio настройте запуск команды python server.py --stdio, используя Python из виртуального окружения проекта.
После подключения можно сразу задавать вопросы:
我的游戏库里有哪些几乎没玩过的游戏?
Darkest Dungeon 现在值得买吗?
把我的愿望单按当前折扣列出来。
根据我最近玩过的游戏召回 15 个候选,但只给证据,不要直接替我下结论。Источники данных и ограничения
Личные данные в основном поступают из Steam Web API; данные магазина — из интерфейса Steam Store.
Если профиль Steam, данные об играх или статистика закрыты, часть данных может отсутствовать.
Некоторые игры не поддерживают достижения, статистику игроков или публичные оценки — соответствующие поля будут пустыми.
Интерфейс магазина не является полным и стабильным каталогом Steam; результаты поиска могут зависеть от региона, языка и ограничений интерфейса.
Цены, валюта и скидки возвращаются в соответствии с регионом магазина из конфигурации.
Данные об оценках заполняются только тогда, когда интерфейс Steam их надёжно предоставляет; проект не додумывает значения ради полноты.
При сбое чтения достижений они не помечаются как «все не получены».
История цен, игровые сессии и годовые отчёты — это локальные наблюдения MCP, а не официальная полная история Steam.
Структура проекта
server.py 服务入口
config.py 环境变量和启动参数
runtime.py HTTP/stdio 运行时
clients/ Steam API 和 Store 客户端
services/ 业务逻辑、推荐、历史记录
tools/ MCP 工具实现
models/ Pydantic 数据模型
tests/ 自动化测试
data/ 本地历史数据库目录Лицензия
Руководствуйтесь файлом лицензии в репозитории. Данные Steam принадлежат сервисам Steam/Valve; этот проект лишь читает публичные интерфейсы и выполняет локальную обработку и анализ.
Почему результаты поиска по магазину неполные?
Публичные конечные точки search / featured в Store не являются полной базой данных всех товаров Steam.
Поэтому инструменты возвращают ограниченный набор кандидатов:
search_store
search_sales
new_releases_for_me
recommend_store_for_meЕсли нужно проверить конкретную игру, используйте её AppID.
Почему цена/регион не совпадают?
Проверьте регион и язык в файле .env, например:
STEAM_STORE_COUNTRY=cn
STEAM_STORE_LANGUAGE=schineseМожно также изменить:
us
jp
...После изменений перезапустите сервис. Проект не выполняет автоматическую конвертацию валют.
Безопасность
Файл
.envне передаётся наружуSteam API Key не передаётся наружу
Пароль Steam не сохраняется
Steam Guard не сохраняется
Cookie Steam не требуются
API Key не выводится в логи
debug-эндпоинты не возвращают секреты
Приватные настройки Steam не обходятся
Нет автоматических покупок, обменов или изменений аккаунта
По умолчанию сервер привязан только к 127.0.0.1
При публичном развёртывании обязательно настройте:
HTTPS
Bearer / OAuth / reverse proxy аутентификацию
Разумные ограничения запросов
Маскирование секретов в логах
Тестирование
Тесты должны использовать mock-клиенты или httpx.MockTransport, чтобы не зависеть от реального Steam.
Запуск:
pytestMock MCP smoke-тест:
python server.py --mock
Invoke-WebRequest http://127.0.0.1:8789/health
Invoke-WebRequest http://127.0.0.1:8789/debug/statusЭтот проект создан при содействии ChatGPT и Codex.
This server cannot be installed
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
- AlicenseNot gradedqualityDmaintenanceA feature-rich Model Context Protocol server that gives AI assistants full access to your Steam game library.144MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that exposes your Steam, Epic Games Store, and IGDB game data as tools, enabling game library queries, install status checks, and metadata enrichment.1MIT
- AlicenseAqualityBmaintenanceMCP server enabling AI assistants to search Steam games, retrieve official store metadata, and analyze player review sentiment via public Steam Storefront JSON APIs without an API key.359MIT
- AlicenseAqualityBmaintenanceAn MCP server that connects AI assistants to the Steam Web API and storefront, enabling game library analysis, mood-based backlog recommendations, wishlist evaluation, and storefront searches.8546MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
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/megabaka404/steam-personal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server