Languages: English | 简体中文
MCP server for exploring Steam store 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?"
-
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.
- Node.js
22.19+ npm
npm install
npm run buildThis server runs locally over stdio. Unlike hosted MCP servers, there is no https://.../mcp endpoint to paste into a remote connector field. Your MCP client needs to launch node build/server.js on your machine.
Claude Desktop now favors local desktop extensions for local MCP installs. This repo currently ships a raw local server, not a packaged .mcpb desktop extension, so the most direct options today are Claude Code, Cursor, Windsurf, or MCP Inspector.
claude mcp add steam-review-and-forum -- node <path-to-repo>/build/server.jsReplace <path-to-repo> with the absolute path to your local checkout.
Create .cursor/mcp.json in this repo:
{
"mcpServers": {
"steam-review-and-forum": {
"type": "stdio",
"command": "node",
"args": ["<path-to-repo>/build/server.js"]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "node",
"args": ["<path-to-repo>/build/server.js"]
}
}
}Most local MCP clients accept a config shaped like this:
{
"mcpServers": {
"steam-review-and-forum": {
"command": "node",
"args": ["<path-to-repo>/build/server.js"]
}
}
}Replace <path-to-repo> with the absolute path to your local checkout.
npx @modelcontextprotocol/inspector node build/server.jsRun that from the repo root.
node build/server.jsMost MCP clients will start the server for you, so manual launch is mainly useful for debugging.
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 input schemas, see docs/TOOL_SCHEMAS.md.
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
list_steam_forum_sections: discover available discussion forum sectionslist_steam_forum_topics: list topics in a sectionget_steam_forum_topic: fetch a topic and its repliescreate_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
- Saved review datasets are stored in
.steam-review-exports/by default. - Saved forum thread datasets are stored in
.steam-forum-exports/by default. - 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.
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
This project is licensed under the BSD 3-Clause License. See LICENSE.