内容
# Steam 评论与论坛 MCP
语言:英文 | [简体中文](README.zh-CN.md)
用于探索 Steam 商店评论和社区讨论帖子的 MCP 服务器,适用于大多数 Steam 研究问题:
> 在浏览商店页面噪音之后,玩家对这款游戏的真实看法是什么?
它可以回答以下问题:
- “总结最近负面评论中对 Steam 游戏 XXX 的最大抱怨。”
- “查询评论中提到的性能问题,并告诉我该问题是否普遍。”
- “比较启动期间的负面评论和最近的正面评论。有什么变化?”
- “显示发布后每个月的情感变化。”
- “列出最近的活动和公告帖子,并总结补丁说明和玩家反应。”
- “有多少负面评论来自评论时至少有 10 小时游戏时间的玩家?”
- “长期游戏时间负面评论者抱怨什么?”
- “比较英文评论和所有语言评论,并告诉我有什么不同。”
- “阅读最近的论坛帖子,并告诉我控制器支持是否损坏。”
- “根据 DLC 页面的评论,哪些 DLC 值得购买?
## 主要功能
1. **服务器端过滤和聚合**
不需要一次性将数千条评论拉入模型,您可以创建一次保存的评论数据集,让服务器完成繁重的工作。仅查询提及 `"performance"` 或 `"crash"` 的评论,按情绪、日期范围、语言或游戏时间过滤,并保持聊天上下文聚焦于信号。
2. **时间精度**
该 MCP 擅长基于时间的分析。您可以隔离启动期间的噪音,将其与后期时间段进行比较,并查看玩家优先级如何随时间变化。每月和每周的趋势分组使量化变得容易。尤其是在真正的问题不是仅仅“人们在说什么?”,而是“有什么变化,什么时候变化,哪些玩家在说?”时,这尤其有效。
3. **除了原始评论文本外,还具有元数据上下文**
使用 `timestamp_created`、`voted_up`、`author.playtime_at_review`、`author.playtime_forever` 等元数据,可以将快速反弹与长期玩家区分开来,并确定哪些投诉真正具有影响力。
4. **在一个工作流中查看评论、论坛和官方公告**
同一台服务器可以检查 Steam 评论、公共讨论部分、多页线程和活动及公告。
## 快速入门
### 要求
- Node.js `22.19+`
- `npm`
### 从 npm 使用
```bash
npx -y steam-review-and-forum-mcp
```
该命令在 `stdio` 上启动 MCP 服务器。大多数 MCP 客户端将为您运行它,因此您通常不需要手动启动它。
### 存储
服务器将保存的评论和论坛数据集写入本地磁盘。如果未设置 `STEAM_REVIEW_EXPORT_DIR` 和 `STEAM_FORUM_EXPORT_DIR`,则默认为包相对路径:
- `.steam-review-exports/`
- `.steam-forum-exports/`
使用 `npx` 时,这意味着 npm/npx 安装的包副本。 从源代码检出运行意味着检出根目录。 包相对默认路径有效,但为了持久存储,您应该在 MCP 客户端配置中设置显式绝对路径。
对于基于 JSON 的 MCP 配置,添加 `env`:
```json
{
"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>"
}
}
}
}
```
对于 Codex `config.toml`,添加环境表:
```toml
[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
打开 Claude Desktop 设置 > 开发者 > 编辑配置,在 `claude_desktop_config.json` 中添加此服务器,然后重启 Claude Desktop:
```json
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}
```
### Codex CLI
```bash
codex mcp add steam-review-and-forum -- npx -y steam-review-and-forum-mcp
```
### Codex 应用
在 Codex 应用中,打开设置 > 集成与 MCP 并添加自定义服务器,或编辑 `~/.codex/config.toml`:
```toml
[mcp_servers.steam-review-and-forum]
command = "npx"
args = ["-y", "steam-review-and-forum-mcp"]
```
### Claude 代码
```bash
claude mcp add steam-review-and-forum -- npx -y steam-review-and-forum-mcp
```
### Cursor
创建或更新 `.cursor/mcp.json`:
```json
{
"mcpServers": {
"steam-review-and-forum": {
"type": "stdio",
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}
```
### Windsurf
添加到 `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}
```
### 其他支持 Stdio 的 MCP 客户端
大多数本地 MCP 客户端接受以下格式的配置:
```json
{
"mcpServers": {
"steam-review-and-forum": {
"command": "npx",
"args": ["-y", "steam-review-and-forum-mcp"]
}
}
}
```
### MCP 检查器
```bash
npx -y @modelcontextprotocol/inspector -- npx -y steam-review-and-forum-mcp
```
### 手动运行服务器
```bash
npx -y steam-review-and-forum-mcp
```
大多数 MCP 客户端将为您启动服务器,因此手动启动主要用于调试。
### 从源代码开发
如果您想运行本地检出而不是发布的 npm 包:
```bash
npm install
npm run build
node build/server.js
```
## 工具一览
注意,MCP 服务器应该开箱即用,您不需要了解下面的技术细节即可使用它。
有关确切的 MCP 工具模式和论坛输出语义,请参阅 [docs/TOOL_SCHEMAS.md](docs/TOOL_SCHEMAS.md)。
### 服务器元数据
- `get_server_info`:报告正在运行的 MCP 服务器进程的名称和包版本
### 评论
- `get_steam_game_info`:清理后的 Steam 商店元数据(英文)
- `get_steam_review`:单个页面或小批量边界的交互式评论获取
- `create_steam_review_corpus`:后台获取您要在服务器上保存的大型评论数据集
- `get_steam_review_corpus_status`:已保存评论数据集的进度和元数据
- `query_steam_review_corpus`:按日期、情绪、语言、游戏时间、文本和排序顺序从已保存评论数据集中过滤评论检索
- `aggregate_steam_review_corpus`:已保存评论数据集的服务器端计数、趋势、游戏时间平均值和语言分析
### 论坛
- `list_steam_forum_sections`:发现可用的讨论论坛板块
- `list_steam_forum_topics`:板块中的主题列表;`last_activity_timestamp` 和 `last_activity_display` 指最新回复或列表活动,而非原始发布时间
- `get_steam_forum_topic`:获取主题及其回复;使用 `topic.original_post_timestamp` 获取原始主题或公告发布时间
- `create_steam_forum_topic_corpus`:后台获取您要在服务器上保存的长多页线程
- `get_steam_forum_topic_corpus_status`:已保存论坛线程数据集的进度和元数据
- `read_steam_forum_topic_corpus_chunk`:从已保存的长线程中读取一个存储的回复块
## 运行说明
- 已保存的评论数据集存储在设置的 `STEAM_REVIEW_EXPORT_DIR` 中;否则存储在包相对路径的 `.steam-review-exports/` 中。
- 已保存的论坛线程数据集存储在设置的 `STEAM_FORUM_EXPORT_DIR` 中;否则存储在包相对路径的 `.steam-forum-exports/` 中。
- 默认情况下,存储的导出在 `24` 小时后自动清理。
- 评论和论坛获取重试暂时失败和 `429` 响应,并带有延迟重试。
## 环境变量
仅当您需要调整存储或获取行为时使用:
- `STEAM_REVIEW_EXPORT_DIR`
- `STEAM_FORUM_EXPORT_DIR`
- `STEAM_REVIEW_EXPORT_TTL_HOURS`
- `STEAM_FORUM_EXPORT_TTL_HOURS`
## 许可证
该项目根据 BSD 3-Clause 许可证授权。参见 [LICENSE](LICENSE)。