Skip to content

Releases: jhomen368/steam-reviews-mcp

v1.1.1

Choose a tag to compare

@jhomen368 jhomen368 released this 10 Sep 04:09
348a46c

Fixed

  • fetch_app_announcements now 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

Choose a tag to compare

@jhomen368 jhomen368 released this 10 Sep 02:40
23ca000

Added

  • Added experimental, read-only search_app_discussions and fetch_discussion_thread tools 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_announcements with 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 qs and @humanfs/node to 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.

Full comparison: v1.0.3...v1.1.0

v1.0.3

Choose a tag to compare

@jhomen368 jhomen368 released this 30 Aug 00:11
7c4d5f5

Fixed

  • Accepted empty batch queries alongside a valid single query, treated zero-valued criteria as inactive, and interpreted dayRange: 0 as 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

Choose a tag to compare

@jhomen368 jhomen368 released this 28 Aug 19:07

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_TOKEN GitHub Actions secret after the first trusted publish succeeded.

Full changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@jhomen368 jhomen368 released this 06 Mar 22:29

[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

Choose a tag to compare

@jhomen368 jhomen368 released this 23 Feb 03:40

1.0.0 - 2026-02-23

Added

Core Tools (4 MCP Tools)

  • search_steam_games tool - Search for games by name with batch support (up to 5 queries)
  • get_game_info tool - Detailed game information with criteria filtering
  • fetch_reviews tool - Fetch reviews with advanced filtering options
  • analyze_reviews tool - 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 reviews
  • maxPrice - Filter by maximum price in cents
  • requireFree - Only include free games
  • requireMetacritic - Only games with Metacritic scores
  • minMetacritic - 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 (dayRange parameter)
  • 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

Full Changelog: https://github.com/jhomen368/steam-reviews-mcp/commits/v1.0.0