Releases: jhomen368/steam-reviews-mcp
Releases · jhomen368/steam-reviews-mcp
Release list
v1.1.1
Fixed
fetch_app_announcementsnow treats an empty or whitespace cursor as "first page" instead of failing validation, so clients that serialize omitted optional parameters as""can request the latest announcements. Empty and omitted cursors share the same cache entry.
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Added
- Added experimental, read-only
search_app_discussionsandfetch_discussion_threadtools with validated app and discussion IDs, shared schemas, and one-page retrieval. Search groups matching posts by thread; thread retrieval preserves post text, links, Steam markers, and deletion or truncation status. - Added discussion provenance, explicit partial, blocked, and unavailable results, bounded manual pagination, and documentation distinguishing community claims from verification or official game communication.
- Official app announcements: Added
fetch_app_announcementswith full available Steam markup, publication details, backward pagination, and explicit body status - Steam Deck compatibility: Added Valve's compatibility category, raw category code, and available test-result tokens to
get_game_info, with warnings when the optional evidence is unavailable - Regional game information: Added validated store country and Steam language requests, regional quote context, explicit unavailable pricing states, and locale-isolated caching to
get_game_info - Purchase requirements and Store features: Added raw account and DRM notices, structured and fallback language declarations, localized Store category IDs and labels, and isolated enrichment warnings to
get_game_info
Fixed
- Suppressed dotenv status and debug output before loading tool dependencies so the default stdio server emits only MCP messages on stdout. Added subprocess regression coverage for initialization and tool listing without a caller-supplied quiet setting.
- Routed HTTP/SSE client messages to their matching sessions so initialization and tool calls complete. Closed connections now remove their sessions, and unknown sessions return an error.
- Corrected Steam language IDs for Arabic, Ukrainian, Latin American Spanish, and Vietnamese so structured support declarations report the right languages.
Changed
- Validated announcement cursors with Zod and shared the normalization of account and DRM notices.
- Updated Axios and development dependencies.
Security
- Updated
qsand@humanfs/nodeto address the reported moderate-severity advisories. The release lockfile reports zero known vulnerabilities in npm audit.
Documentation
- Shortened the README to focus on setup, example questions, and everyday use. Removed the field-by-field API reference.
Tests
- Added offline fixtures for the new Steam sources and regression coverage for language IDs and malformed announcement cursors.
- Added HTTP/SSE client tests for initialization, tool calls, concurrent sessions, and invalid-session handling.
v1.0.3
Fixed
- Accepted empty batch queries alongside a valid single query, treated zero-valued criteria as inactive, and interpreted
dayRange: 0as an all-time review query. - Rejected blank search terms and published the single-or-batch query requirement in the tool schema.
Changed
- Clarified empty, zero, cursor, and pre-fetched review semantics for MCP clients.
- Added regression tests for generated-client payloads and all active game information criteria.
Full changelog: v1.0.2...v1.0.3
v1.0.2
Changed
- Consolidated tool definitions, validation, execution, and error mapping into one module shared by the stdio and HTTP transports.
- Added Node test coverage for all four tools and their validation and failure paths.
- Updated runtime dependencies, development tooling, container images, and GitHub Actions.
- Migrated npm publishing from a long-lived token to GitHub Actions OIDC trusted publishing with automatic provenance.
Fixed
- Aligned TypeScript and ESLint tooling and migrated TypeScript to Node16 module resolution.
- Synchronized the npm lockfile before clean installs and removed unnecessary CodeQL build steps.
Security
- Removed npm from the runtime Docker image to reduce its installed package and CVE footprint.
- Updated vulnerable transitive packages; the release lockfile reports zero known vulnerabilities.
- Removed the obsolete
NPM_TOKENGitHub Actions secret after the first trusted publish succeeded.
Full changelog: v1.0.1...v1.0.2
v1.0.1
[1.0.1] - 2026-03-06
Fixed
Corrected Steam review URL generation in generateReviewUrl() in src/utils/analysis.ts - fixed URL format from incorrect profiles/recommended/[appid]/[recommendationid] to correct profiles/[steamid64]/recommended/[appid]/
Security
Upgraded Alpine base image packages to remediate CVE-2026-22184 (CRITICAL): buffer overflow in zlib 1.3.1-r2; patched to 1.3.2-r0 via apk upgrade in Dockerfile
What's Changed
- npm(deps-dev): bump @typescript-eslint/parser from 8.56.0 to 8.56.1 by @dependabot[bot] in #7
- npm(deps): bump hono from 4.12.1 to 4.12.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #6
- npm(deps-dev): bump eslint from 10.0.1 to 10.0.2 by @dependabot[bot] in #8
- npm(deps-dev): bump typescript-eslint from 8.56.0 to 8.56.1 by @dependabot[bot] in #9
- npm(deps-dev): bump @types/node from 25.3.0 to 25.3.3 by @dependabot[bot] in #10
- npm(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #11
- npm(deps): bump express-rate-limit from 8.2.1 to 8.3.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #12
Full Changelog: v1.0.0...v1.0.1
v1.0.0
1.0.0 - 2026-02-23
Added
Core Tools (4 MCP Tools)
search_steam_gamestool - Search for games by name with batch support (up to 5 queries)get_game_infotool - Detailed game information with criteria filteringfetch_reviewstool - Fetch reviews with advanced filtering optionsanalyze_reviewstool - Sentiment analysis with topic drill-down
Search Features
- Single and batch game search (up to 5 queries, 25 results each)
- Returns AppID, name, price, and preview image
- Efficient parallel query execution
Game Info Features
- Comprehensive game details (description, developers, publishers, platforms)
- Optional system requirements (PC minimum/recommended specs)
- Optional DLC list with AppIDs
- Current player count support
- Review statistics integration
Criteria Filtering
minReviewScore- Filter by minimum review score percentage (0-100)minReviews- Filter by minimum number of reviewsmaxPrice- Filter by maximum price in centsrequireFree- Only include free gamesrequireMetacritic- Only games with Metacritic scoresminMetacritic- Minimum Metacritic score (0-100)
Review Fetching Features
- Advanced filtering:
all,recent,updated - Review type filter:
all,positive,negative - Purchase type filter:
all,steam,non_steam_purchase - Language support (e.g., "english", "schinese")
- Pagination with cursor support
- Time-bounded queries (
dayRangeparameter) - Review bomb filtering (
filterOfftopicActivity) - Steam Deck reviews support (experimental)
Sentiment Analysis Features
- NLP-powered sentiment analysis using natural library
- Sentiment score (-1 to 1) with confidence
- Common theme extraction
- Positive/negative keyword identification
- Topic-focused drill-down analysis
- Example quotes with clickable Steam community links
- Pre-fetched review support to avoid duplicate API calls
Infrastructure
- LRU cache with variable TTL support
- Reviews: 5 minutes
- Game info: 1 hour
- Statistics: 30 minutes
- Analysis: 10 minutes
- Rate limiting (30 requests/minute default)
- Retry logic with exponential backoff
- Graceful shutdown handling
- Comprehensive error handling with Zod validation
Developer Experience
- Full TypeScript implementation
- Zod schema validation for all inputs
- ESLint and Prettier configuration
- Docker support with multi-stage builds
- Non-root container user for security
Features Summary
- 4 powerful MCP tools with 30+ combined parameters
- Aggressive caching (70-85% API call reduction)
- Topic-focused review analysis
- Batch operations for efficiency
- Time-bounded queries (recent reviews)
- Review bomb filtering
- Criteria-based game filtering
- Multi-platform support (Windows, Mac, Linux detection)
Technical Details
- Built on @modelcontextprotocol/sdk v1.0.4
- Uses axios for HTTP requests
- Uses cheerio for HTML parsing
- Uses natural for NLP/sentiment analysis
- Node.js 18+ required
- ES modules (ESM) architecture
What's Changed
- npm(deps-dev): bump eslint-config-prettier from 9.1.2 to 10.1.8 by @dependabot[bot] in #5
- ci: bump aquasecurity/trivy-action from 0.34.0 to 0.34.1 by @dependabot[bot] in #1
- npm(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.56.0 by @dependabot[bot] in #2
- npm(deps-dev): bump @typescript-eslint/parser from 7.18.0 to 8.56.0 by @dependabot[bot] in #3
- npm(deps-dev): bump eslint from 8.57.1 to 10.0.1 by @dependabot[bot] in #4
New Contributors
- @dependabot[bot] made their first contribution in #5
Full Changelog: https://github.com/jhomen368/steam-reviews-mcp/commits/v1.0.0