steam-mcp
steam-mcp
특정 사람에게 어울리는 Steam 게임을 골라 주는 MCP 서버입니다. 플레이어가 실제로 플레이 시간을 기록한 게임과 상점을 비교하고, 지금 당장 어떤 분위기의 게임을 원하는지 말한 내용을 섞어 순위를 매깁니다.
열 개의 도구가 있습니다. recommend_games가 정문이며, 나머지는 순위를 맹신하는 대신 검증할 수 있도록 존재합니다.
Tool | 키 필요 여부 | 기능 |
| 아니요(있으면 더 좋음) | 명시된 선호도에 따라 상점을 순위화하고 라이브러리로 개인화 |
| 예 | 플레이 시간으로 가중치가 적용된 태그 선호도, 상위 장르, 대표 게임 |
| 아니요 | 구조화된 카탈로그 검색: 태그, 가격, 플랫폼, 출시일, 할인 |
| 아니요 | 설명, 태그, 가격, 리뷰, Metacritic, Deck 호환성 |
| 아니요 | "Hades 같은 게임": 시드 게임의 통합 태그로 검색 |
| 아니요 | 점수 세부 내역과 가장 도움이 된 리뷰 텍스트 |
| 아니요 | 이름을 정확히 맞추기 위한 Steam의 태그 용어집 |
| 예 | 플레이 시간이 포함된 보유 게임, 가장 많이 플레이한 순서 |
| 아니요(공개 프로필) | 현재 가격과 할인이 포함된 위시리스트 |
| 예 | 지난 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 형식입니다. 도구는 호출별로 vanity 이름이나 프로필 URL도 허용합니다.STEAM_API_KEY(선택 사항): https://steamcommunity.com/dev/apikey에서 받을 수 있습니다. 라이브러리, 최근 플레이, vanity 이름 확인 경로만 키가 필요합니다. 공개 프로필의 위시리스트를 포함한 나머지는 모두 키가 필요 없으므로, 서버는 자격 증명이 전혀 없어도 유용합니다. 다만 개인화는 할 수 없습니다.
디스크 캐시는 $XDG_CACHE_HOME/steam-mcp(기본값 ~/.cache)에 있습니다. 상점의 appdetails 엔드포인트는 IP당 5분에 약 200회로 제한됩니다. 클라이언트는 해당 엔드포인트를 1.5초 간격으로 호출하고, 나머지는 훨씬 빠르게 호출하며 공격적으로 캐시합니다(세부 정보는 6시간, 태그와 Deck 데이터는 일주일). 따라서 같은 자리에서 두 번째 추천을 받는 비용은 거의 없습니다. 목록을 보강하는 모든 도구는 데드라인 안에서 작동하고 건너뛴 게임 수를 보고하므로, 긴 요청은 프록시에서 타임아웃되는 대신 부분적인 답변을 반환합니다.
Related MCP server: Steam Review and Forum MCP
순위 산정 방식
src/taste.ts에 전체 모델이 들어 있습니다.
프로필. 플레이한 각 게임의 시간은 커뮤니티 태그의 투표 비율에 비례하여 해당 태그에 귀속됩니다. 따라서 군사 시뮬레이션 게임의 시간은 대부분 Military와 Tactical에 돌아가고 Multiplayer에는 아주 일부만 돌아갑니다. 여기에 세 가지 보정이 적용됩니다:
태그는 Steam 자체 태그 사전의 인기 순서에서 파생된 희소성에 따라 가중치가 부여됩니다(추가 요청 없음). 이 보정이 없으면 플레이어가 누구든 모든 프로필이 Action, Open World, Simulation으로 시작합니다.
한 스튜디오의 게임은 압축 전에 함께 합산됩니다. Arma 항목 세 개는 한 취향에 대한 세 번의 측정값이지, 증거의 세 배가 아닙니다.
플레이 시간은 제곱근으로 변환됩니다. 하나의 이상값이 여전히 선두를 차지하지만 프로필 전체를 좌우하지는 않습니다.
키가 있으면 2주간의 플레이는 평생 플레이 시간 위에 두 번째로 집계됩니다. 한 번은 이력으로, 한 번은 플레이어가 지금 빠져 있는 것으로 말입니다.
점수. 동일한 0..1 척도의 두 신호를 동등하게 혼합합니다: fit은 후보 게임의 태그 벡터와 프로필 사이의 코사인 유사도를 어떤 게임이든 달성할 수 있는 최고치에 상대적으로 나타낸 값이고, want는 후보 게임의 태그 질량 중 플레이어가 요청한 것이 차지하는 비중입니다. 평판은 그다음에 Steam의 "Mostly Positive" 기준선(70%) 미만에만 페널티를 주고 그 이상에는 절대 보상을 주지 않습니다. 후보는 이미 리뷰 순으로 정렬되어 도착하며, 여기에 다시 보상을 주면 인기를 두 번 세는 셈이기 때문입니다. 보고되는 모든 matchedOn 항목은 점수 단위이며, 그 점수를 라이브러리가 얻었는지 요청이 얻었는지 나타냅니다.
순서. 최종 목록은 다양성을 위해 탐욕적으로 다시 순위가 매겨집니다. 후보는 이미 선택된 항목과 비슷하면 점수의 최대 40%를 잃습니다. 점수는 손대지 않은 채로 보고되며 순서만 바뀌는데, 도구 설명에도 그렇게 명시되어 있습니다.
테스트
npm test두 스위트 모두 의도적으로 라이브 API를 대상으로 실행됩니다. test/smoke.mjs는 실제 MCP stdio를 통해 빌드된 서버를 구동하는데, 조용히 누락된 스키마나 변경된 상점 엔드포인트가 드러나는 유일한 곳입니다. test/taste.ts는 실제 45개 게임 라이브러리인 test/fixtures/library.json으로 모델을 실행하고, 태그 투표는 변동하므로 정확한 숫자 대신 순위 동작을 검증합니다. STEAM_API_KEY를 설정하면 키가 필요한 도구들도 함께 실행할 수 있습니다.
키를 사용한 배포
오래 지속되는 stdio 서버는 요청 범위의 비밀 브로커에서 키를 얻을 수 없습니다. 따라서 키가 필요한 배포는 환경 변수를 프로세스 시작 시 주입할 수 있는 곳, 즉 supervisord의 environment= 줄, Nomad 변수, systemd의 EnvironmentFile에 속합니다. 서버는 시작 시 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