Steam Review and Forum MCP
Summary: Explore Steam reviews, discussions, and announcements with server-side filtering, aggregation, and saved datasets for player sentiment analysis.
Get Steam game metadata, including release date, developers, publishers, genres, and price.
Fetch Steam reviews with pagination and filters for language, date range, sentiment, purchase type, playtime, and metadata.
Create server-side review corpora for large background fetches and check their progress.
Query saved review corpora by date, sentiment, language, playtime, text, sorting, and field selection.
Aggregate saved reviews into counts, positive/negative breakdowns, day/week/month trends, playtime averages, and language breakdowns.
List Steam forum sections and topics, including Discussions, Events & Announcements, and Trading surfaces.
Fetch forum topics and replies with pagination, original post timestamps, and full-page fetching.
Create and read server-side forum topic corpora for long multi-page threads.
Store review and forum datasets locally with configurable export directories and TTL (default 24 hours).
Report the running MCP server name and version.
Provides tools for fetching and analyzing Steam store reviews, community forums, and game metadata, enabling querying, filtering, aggregation, and temporal analysis of player feedback.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Steam Review and Forum MCP summarize major complaints in recent negative reviews for Elden Ring"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Steam Review and Forum MCP
Languages: English | 简体中文
MCP server for exploring Steam user reviews and community discussion threads, built for the question behind most Steam research:
What do players actually think about this game once you get past the store page noise?
It can answer questions like:
"Summarize the biggest complaints in recent negative reviews for Steam game XXX."
"Query reviews that talks about performance, and tell me whether the issue sounds widespread."
"Compare launch-period negative reviews with recent positive reviews. What changed?"
"Show month-by-month sentiment since release."
"List recent Events & Announcements threads, and summarize both the patch notes and player reaction."
"How many negative reviews come from players with at least 10 hours at review time?"
"What do long-playtime negative reviewers complain about?"
"Compare English reviews with all-language reviews and tell me what differs."
"Read recent forum threads and tell me whether controller support is broken."
"Based on the reviews from the DLC pages, which DLCs of this game are worth buying?"
Key Features
Server-side filtering and aggregation
Instead of pulling thousands of reviews into the model at once, you can create a saved review dataset once and let the server do the heavy lifting. Query only the reviews that mention
"performance"or"crash", filter by sentiment, date range, language, or playtime, and keep chat context focused on the signal.Temporal precision
This MCP is good at time-based analysis. You can isolate launch-period noise, compare it against a later period, and see how player priorities shift over time. Monthly and weekly trend buckets make that easy to quantify. This is especially effective when the real question is not just "what are people saying?" but "what changed, when did it change, and which players are saying it?"
Metadata context in addition to raw review text
With metadata like
timestamp_created,voted_up,author.playtime_at_review,author.playtime_forever, it's possible to separate quick bounce-offs from long-term players and identify which complaints were genuinely influential.Reviews, forums, and official announcements in one workflow
The same server can inspect Steam reviews, public discussion sections, multi-page threads, and Events & Announcements.
Related MCP server: Steam Reviews MCP
Quick Start
Requirements
Node.js
22.19+npm
Use from npm
npx -y steam-review-and-forum-mcpThat command starts the MCP server over stdio. Most MCP clients will run it for you from their config, so you usually do not need to launch it manually.
Storage
The server writes saved review and forum datasets to local disk. If STEAM_REVIEW_EXPORT_DIR and STEAM_FORUM_EXPORT_DIR are not set, the defaults are package-relative:
.steam-review-exports/.steam-forum-exports/
When using npx, that means the npm/npx-installed package copy. When running from a source checkout, that means the checkout root. The package-relative default works, but for durable storage you should set explicit absolute paths in your MCP client config.
For JSON-based MCP configs, add env:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"],
"env": {
"STEAM_REVIEW_EXPORT_DIR": "<absolute-path-to-review-exports>",
"STEAM_FORUM_EXPORT_DIR": "<absolute-path-to-forum-exports>"
}
}
}
}For Codex config.toml, add an environment table:
[mcp_servers.steam-review-and-forum]
command = "npx"
args = ["-y", "steam-review-and-forum-mcp"]
[mcp_servers.steam-review-and-forum.env]
STEAM_REVIEW_EXPORT_DIR = "<absolute-path-to-review-exports>"
STEAM_FORUM_EXPORT_DIR = "<absolute-path-to-forum-exports>"Claude Desktop
Open Claude Desktop Settings > Developer > Edit Config, add this server to claude_desktop_config.json, then restart Claude Desktop:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}Codex CLI
codex mcp add steam-review-and-forum -- npx -y steam-review-and-forum-mcpCodex App
In the Codex app, open Settings > Integrations & MCP and add a custom server, or edit ~/.codex/config.toml:
[mcp_servers.steam-review-and-forum]
command = "npx"
args = ["-y", "steam-review-and-forum-mcp"]Claude Code
claude mcp add steam-review-and-forum -- npx -y steam-review-and-forum-mcpCursor
Create or update .cursor/mcp.json:
{
"mcpServers": {
"steam-review-and-forum": {
"type": "stdio",
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}Other Stdio-Compatible MCP Clients
Most local MCP clients accept a config shaped like this:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}MCP Inspector
npx -y @modelcontextprotocol/inspector -- npx -y steam-review-and-forum-mcpRun the Server Manually
npx -y steam-review-and-forum-mcpMost MCP clients will start the server for you, so manual launch is mainly useful for debugging.
Development from Source
If you want to run a local checkout instead of the published npm package:
npm install
npm run build
node build/server.jsTools at a Glance
Note that the mcp server should already work out of the box, and you don't need to know the technical details below to use it.
For the exact MCP tool schemas and forum output semantics, see docs/TOOL_SCHEMAS.md.
Server Metadata
get_server_info: report the name and package version of the running MCP server process
Reviews
get_steam_game_info: cleaned Steam store metadata in Englishget_steam_review: interactive review fetch for one page or a small bounded batchcreate_steam_review_corpus: background fetch for a large review dataset you want to save on the serverget_steam_review_corpus_status: progress and metadata for a saved review datasetquery_steam_review_corpus: filtered review retrieval from a saved review dataset by date, sentiment, language, playtime, text, and sort orderaggregate_steam_review_corpus: server-side counts, trends, playtime averages, and language breakdowns from a saved review dataset
Forums
list_steam_forum_sections: discover available discussion forum sectionslist_steam_forum_topics: list topics in a section;last_activity_timestampandlast_activity_displaymean latest reply or listing activity, not original publicationget_steam_forum_topic: fetch a topic and its replies; usetopic.original_post_timestampfor the original topic or announcement publication timecreate_steam_forum_topic_corpus: background fetch for a long multi-page thread you want to save on the serverget_steam_forum_topic_corpus_status: progress and metadata for a saved forum thread datasetread_steam_forum_topic_corpus_chunk: read one stored reply chunk from a saved long thread
Operational Notes
Saved review datasets are stored in
STEAM_REVIEW_EXPORT_DIRwhen set; otherwise they are stored in.steam-review-exports/next to the installed package.Saved forum thread datasets are stored in
STEAM_FORUM_EXPORT_DIRwhen set; otherwise they are stored in.steam-forum-exports/next to the installed package.Stored exports are cleaned up automatically after
24hours by default.Review and forum fetches retry transient failures and
429responses with backoff.If the process restarts mid-fetch, later status or chunk reads can restart resumable jobs automatically.
Environment Variables
Use these only if you need to tune storage or fetch behavior:
STEAM_REVIEW_EXPORT_DIRSTEAM_FORUM_EXPORT_DIRSTEAM_REVIEW_EXPORT_TTL_HOURSSTEAM_FORUM_EXPORT_TTL_HOURS
License
This project is licensed under the BSD 3-Clause License. See LICENSE.
Available Tools
13 toolsaggregate_steam_review_corpusA
Aggregates committed schema 2 review chunks using text, language, date, sentiment and playtime filters. Returns review counts, positive/negative counts and ratios, average playtimes in minutes, language breakdowns and optional UTC day/week/month buckets (weeks start Monday). Requires metadata. Refund status does not exclude, group or reweight records. Results cover saved data, which can be partial or capped. Completed corpora are read locally without refresh; create a new corpus for updated data. Interrupted jobs may resume while respecting cooldown. Unsupported formats return UNSUPPORTED_CORPUS_VERSION.
Inputs: corpus_id (required), date_to, group_by, voted_up, +8 more.
create_steam_forum_topic_corpusA
Starts a server-side background fetch for a public Steam Community topic, stores replies in server-managed chunks, and returns an opaque identifier immediately for later status checks and chunk reads. Supports discussion topics and compatible app hub forum surfaces. When an Events & Announcements thread only contains a stub that links to the real announcement article, the server follows that link and stores the announcement body as the topic content when possible. Data stays on the server and is not exported to the caller as files.
Inputs: topic_url (required), max_comments, chunk_size_comments.
create_steam_review_corpusA
Creates a public Steam review corpus in the background and immediately returns a new corpus_id for status checks, local queries and aggregates. Each call creates a separate corpus. Defaults to every language, all purchase sources and both sentiments, including off-topic activity and metadata. Metadata includes timestamps, playtime, numeric helpfulness and refunded; refund status does not exclude reviews. Recent/updated traversal has no implicit date window. Fetches share one request lane and 429 cooldown. Saved data is a snapshot; create a new corpus to refresh it. Data stays on the server in schema 2 storage.
Inputs: appid (required), languages, page_size, max_reviews, +6 more.
get_server_infoARead-onlyIdempotent
Returns the name and package version of the running MCP server process.
Inputs: no named parameters. Returns: name, version
get_steam_forum_topicA
Fetches a public Steam Community topic, including the original post and replies. The returned topic.original_post_timestamp is the original topic or hydrated announcement publication time; reply items keep their own timestamp fields. Use this field, not listing activity, for publication-date claims. Supports General Discussions topics and compatible app hub forum surfaces such as Events & Announcements, with reply pagination via ?ctp=N. When an Events & Announcements thread only contains a stub that links to the real announcement article, the server follows that link and returns the announcement body and publication time when possible.
Inputs: topic_url (required), page, fetch_all_pages.
get_steam_forum_topic_corpus_statusB
Returns the persisted manifest and progress summary for a server-side Steam Community topic fetch.
Inputs: corpus_id (required).
get_steam_game_infoB
Retrieves English game metadata for a specific app, including release date, developers, publishers, genres, and price overview. The detailed description is cleaned into plain text for LLM consumption.
Inputs: appid (required).
get_steam_reviewA
Reads a page of public Steam reviews directly from Steam. Defaults to helpful ranking, every language, all purchase sources and both sentiments, including off-topic activity. Use recent for new feedback, updated for modifications, and a background corpus for large analyses. fetch_all automatically uses recent for helpful requests. Optional review_details contains timestamps, playtime, numeric helpfulness and refunded metadata; refunds are not filtered. All review fetches share request spacing and 429 cooldown. Anonymous responses may be cached by Steam for up to 10 minutes.
Inputs: appid (required), cursor, filter, fetch_all, +7 more.
get_steam_review_corpus_statusA
Returns saved review corpus progress, chunks, stop reason and errors. running means fetching or queued; waiting means rate-limit cooldown with next_retry_at as a UTC ISO timestamp. Polling does not bypass cooldown. total_reviews_expected is Steam's reported matching count, not proof of completeness. Resumes interrupted schema 2 jobs; completed corpora stay local and are not refreshed. Unsupported storage returns UNSUPPORTED_CORPUS_VERSION; recreate the corpus. Expired or missing IDs return not_found.
Inputs: corpus_id (required).
list_steam_forum_sectionsB
Lists the available public Steam Community discussion sections and forum-like app hub surfaces for a game's hub, including each section's numeric id when applicable and URL.
Inputs: appid (required).
list_steam_forum_topicsA
Lists topics from a game's public Steam Community discussion section or compatible app hub forum surface. Supports section selection for discussions and listing pagination via ?fp=N. Each topic's last_activity_timestamp and last_activity_display describe its latest reply or listing activity, never its original publication time. Call get_steam_forum_topic and use topic.original_post_timestamp before making publication-date claims. On some app hub surfaces such as Events & Announcements, Steam omits row-level author and preview markup, so those fields may be null in listing results.
Inputs: appid (required), page, forum_key, section_id.
query_steam_review_corpusA
Queries persisted schema 2 review chunks by text, language, date, sentiment and playtime, with pagination, field selection and optional timestamp ordering. Playtime thresholds are minutes. Timestamp, sentiment, playtime filtering and sorting require metadata; unavailable values are null. Fields include numeric weighted_vote_score and refunded; refund status does not filter results. Counts cover committed chunks, which may be partial or capped; inspect corpus status and stop reason. Completed corpora are read locally without refresh; create a new corpus for updated data. Interrupted jobs may resume while respecting cooldown. Unsupported formats return UNSUPPORTED_CORPUS_VERSION.
Inputs: corpus_id (required), limit, fields, offset, +12 more.
read_steam_forum_topic_corpus_chunkC
Reads one stored reply chunk from a previously created server-side Steam Community topic fetch.
Inputs: corpus_id (required), chunk_index (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
The tools largely target distinct resources and actions, with clear separation between direct review/forum fetches and background corpus lifecycle operations. However, the multiple corpus-related tools for reviews and forums could be confused at a glance, and get_server_info is an unrelated utility that slightly dilutes focus.
Most names follow a predictable snake_case verb_noun pattern with the 'steam' domain inserted after the verb, such as get_steam_review and create_steam_review_corpus. The main deviation is get_server_info, which lacks the steam prefix, and read_steam_forum_topic_corpus_chunk uses 'read' while similar retrieval tools use 'get'.
With 13 tools, the set is well-scoped for a dual-domain server covering Steam reviews and forums. Each tool appears to serve a distinct lifecycle role, from direct fetches to background corpus creation, status polling, querying, and aggregation.
The surface covers core read-only workflows for Steam reviews and forums, including direct access, corpus creation, status checks, querying, aggregation, and forum listing/reading. Minor gaps include no tool to list or delete existing corpora and no forum search beyond section/topic listing, but agents can work around these limitations.
Maintenance
Related MCP Connectors
Every Steam review of any game: text, votes, playtime, language. No API key.
Steam game, Agoda/Booking.com hotel and Google Play app reviews with optional AI insight reports.
Steam game data with dates: review score and consensus, price lows, tags, new releases; cite it.
Steam backlog, account value, buy-or-skip verdicts and Steam Machine checks. Hosted, keyless.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables LLMs to retrieve and analyze Steam game reviews, providing access to review statistics, game information, and helping summarize pros and cons of games.160 npm7MIT
- AlicenseAqualityBmaintenanceAbout Search Steam games, fetch user reviews, and analyze sentiment with topic drill-down to make informed purchasing decisions.727 npm3MIT
- AlicenseAqualityDmaintenanceIntegrates with Steam Web API to enable querying user profiles, game libraries, store data, and community features like reviews and workshop items.16MIT
- AlicenseAqualityDmaintenanceEnables personalized Steam game discovery by ranking the store against a player's playtime history and stated preferences, with tools to search games, inspect details and reviews, and explore taste profiles.1033 npmMIT