Skip to main content
Glama

Steam Reviews MCP Server

npm Version License: MIT PayPal

Give your AI assistant access to Steam reviews, game details, patch notes, and community discussions. This MCP server reads public Steam data. No API key or Steam login is needed.

Once connected, try asking:

  • "What are players saying about Cyberpunk 2077's performance in the last month?"

  • "Compare Elden Ring and Baldur's Gate 3 for Steam Deck. Include prices in Germany."

  • "What changed in the latest Baldur's Gate 3 patch?"

  • "Search Portal 2 discussions for co-op connection problems and read a few threads."

Setup

Run with npx

Use a current Node.js LTS release. Node.js 24 or newer is recommended. Your MCP client can start the server with npx, so there is no separate install step.

For Claude Desktop, add this entry to claude_desktop_config.json:

{
  "mcpServers": {
    "steam-reviews": {
      "command": "npx",
      "args": ["-y", "@jhomen368/steam-reviews-mcp"]
    }
  }
}

The config file is at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Restart Claude Desktop after saving. For other MCP clients, use the same command and arguments with the stdio transport in that client's configuration format.

Run with Docker

The container starts in HTTP mode:

docker run -d \
  --name steam-reviews-mcp \
  -p 8086:8086 \
  ghcr.io/jhomen368/steam-reviews-mcp:latest

Connect an SSE-capable MCP client to http://localhost:8086/mcp. Choose SSE as the transport, rather than Streamable HTTP.

For Docker Compose:

services:
  steam-reviews-mcp:
    image: ghcr.io/jhomen368/steam-reviews-mcp:latest
    container_name: steam-reviews-mcp
    ports:
      - "8086:8086"
    restart: unless-stopped

Check that the server is running with curl http://localhost:8086/health.

Related MCP server: Steam Review and Forum MCP

Available tools

Your assistant handles the tool arguments. Ask for a country, language, date range, or topic in your question.

Tool

What it does

search_steam_games

Find games by name.

get_game_info

Get regional prices, review scores, Steam Deck ratings, requirements, and Store details.

fetch_reviews

Read player reviews with filters for date, language, and recommendation.

analyze_reviews

Summarize a review sample, with themes and linked quotes.

fetch_app_announcements

Read official app announcements, patch notes, and hotfixes.

search_app_discussions

Search a game's public community discussions.

fetch_discussion_thread

Read a discussion thread and its replies.

Review summaries cover a sample, and discussion threads are read one page at a time. Community posts reflect player claims, not official announcements. The discussion tools and Steam Deck review filter are experimental and may not always return results.

Configuration

These environment variables are optional. Set them in your MCP client's server environment or pass them to Docker with -e.

Variable

Default

Purpose

CACHE_ENABLED

true

Cache Steam responses.

CACHE_MAX_SIZE

1000

Maximum cached entries.

RATE_LIMIT_ENABLED

true

Limit outgoing Steam requests.

MAX_REQUESTS_PER_MINUTE

30

Request limit.

HTTP_MODE

false

Use HTTP/SSE instead of stdio. The Docker image sets this to true.

PORT

8086

HTTP listening port.

Troubleshooting

If your client cannot start the server, check node --version and confirm it can find npx. The stdio server writes logs to stderr and reserves stdout for MCP messages. You do not need to set DOTENV_CONFIG_QUIET.

For Docker, check docker logs steam-reviews-mcp and the /health endpoint. If health succeeds but the MCP client cannot connect, check that it supports SSE and uses /mcp.

Steam timeouts and HTTP 429 responses can mean requests are being rate-limited. Keep caching enabled and reduce MAX_REQUESTS_PER_MINUTE if these persist.

Development

git clone https://github.com/jhomen368/steam-reviews-mcp.git
cd steam-reviews-mcp
npm ci
npm test
npm run lint

npm test builds the server and runs offline tests. To run the built server over stdio, use node build/index.js. See CONTRIBUTING.md for contribution guidelines and CHANGELOG.md for release history.

Licensed under MIT. You can support the project via PayPal.

Available Tools

7 tools
analyze_reviewsA

Fetch and analyze Steam game reviews to extract sentiment, common themes, and key insights. Supports optional topic drill-down, time-bounded analysis, and pre-fetched reviews.

Inputs: appId (required), topic, dayRange, language, +5 more.

fetch_app_announcementsA

Fetch official Steam Community announcements for one app, including patch notes and hotfixes. Bodies retain Steam's raw markup and report whether full content was requested, appears truncated, or is malformed. Displayed author labels do not imply a verified employer or publisher role.

Inputs: appId (required), limit, cursor.

fetch_discussion_threadA
Read-onlyIdempotent

Experimental, read-only retrieval of one public Steam Community discussion page by app, forum, and thread IDs, not an arbitrary URL. Returns the identifier, title, opener and up to 50 replies, with text capped at 20,000 characters per post, links, displayed Steam markers, timestamps, deleted status and truncation flags. Steam markers do not establish an employer, publisher, or job title. Community user claims and repetition are not verification. Check status, reason and pagination for blocked, unavailable or partial evidence. Defaults to page 1; a search-match fragment does not select the reply page. Paginate manually; a page is not an exhaustive thread.

Inputs: appId (required), forumId (required), threadId (required), page.

fetch_reviewsA

Fetch actual user reviews for a Steam game with advanced filtering and pagination support. Returns review text, author info, timestamps, and voting data. Supports time-bounded queries and review bomb filtering.

Inputs: appId (required), limit, cursor, filter, +6 more.

get_game_infoA

Get detailed information about one or more Steam games by AppID for an optional Steam store country and language. Returns Steam's regional quote, request context, raw third-party account and DRM or launcher notices, supported languages, declared Store categories, review statistics, and Valve's Steam Deck compatibility report. Missing notices do not prove that a requirement is absent, and the server does not infer launcher identity, online-only behavior, activation limits, anti-cheat, or absence of DRM. Store categories are declarations, not independently tested behavior. Optional enrichment failures produce per-game warnings without removing base information. System requirements and DLC are optional. Supports filtering by review quality criteria.

Inputs: appIds (required), country, criteria, language, +4 more.

search_app_discussionsA
Read-onlyIdempotent

Experimental, read-only search of public Steam Community discussions for one app. Fetches one page with at most 50 matching posts, grouped by thread. matchingPostsObserved counts only the fetched sample; author and date describe each match, not thread creation. Community user claims and repetition are not verification. Returns provenance, availability status and reason, and bounded pagination. Pass a returned identifier to fetch_discussion_thread, which starts at page 1 even when a match links to a later reply. Paginate manually; results are not exhaustive.

Inputs: appId (required), query (required), page, sort.

search_steam_gamesA

Search for Steam games by name or keywords. Provide query for a single search or a non-empty queries array for batch searches. Returns basic game information including AppID, name, price, and preview image.

Inputs: limit, query, queries.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 7 tools

    Disambiguation4/5

    Each tool targets a distinct Steam resource/action, and the descriptions clearly separate search, retrieval, fetching, and analysis. The only mild ambiguity is between fetch_reviews and analyze_reviews, since both operate on reviews, but the raw-data vs. insight-extraction distinction is clearly explained.

    Naming Consistency4/5

    All tools follow a snake_case verb_noun pattern, which is readable and predictable. Minor inconsistency exists in resource naming, such as search_app_discussions vs. fetch_discussion_thread and the mixed use of get/fetch/search, but the overall convention is consistent.

    Tool Count5/5

    Seven tools is a well-scoped size for a Steam community data server. Each tool covers a distinct need: game search, game details, reviews, review analysis, announcements, discussion search, and thread retrieval, with no obvious redundancy.

    Completeness5/5

    The tool set provides solid read coverage across the apparent domain: discovering games, retrieving game metadata, fetching and analyzing reviews, reading announcements, and browsing community discussions. Pagination support and cross-linking between discussion search and thread fetching avoid dead ends.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers