SteamStats MCP Server

SteamStats MCP Server

site icon
2025.04.04 0
Python游戏数据服务API 中间件娱乐功能
SteamStats MCP Server 是一个基于 Python 和 FastAPI 的中间件服务,旨在为 MCP 客户端(如 Roo)提供对 Steam Web API 的结构化访问。该服务器通过 `/message` 端点接收 JSON-RPC 风格的请求,验证后与 Steam Web API 交互,并返回格式化结果或错误信息。 ### 核心功能 1. **API 中间件**:作为 Steam Web API 的代理,提供结构化的数据访问。 2. **命令支持**:支持多种 Steam 相关命令,如获取当前玩家数、游戏详情、成就统计等。 3. **数据验证**:使用 Pydantic 对请求参数进行严格验证。 4. **错误处理**:对无效请求或 API 错误返回明确的错误信息。 ### 适用场景 1. **游戏数据分析**:开发者或数据分析师需要获取 Steam 游戏统计数据。 2. **玩家行为研究**:研究玩家在游戏中的行为和成就获取情况。 3. **自动化工具集成**:与 MCP 客户端(如 Roo)集成,实现自动化数据查询。
View on GitHub

Overview

基本能力

产品定位

SteamStats MCP Server 是一个中间件服务,用于连接 MCP 客户端和 Steam Web API,提供结构化的游戏数据访问。

核心功能

  1. API 中间件:代理 Steam Web API 请求,返回格式化数据。
  2. 多命令支持:支持获取玩家数、游戏详情、成就统计等多种命令。
  3. 数据验证:使用 Pydantic 验证请求参数。
  4. 错误处理:对无效请求或 API 错误返回明确错误信息。

适用场景

  1. 游戏数据分析:获取和分析 Steam 游戏统计数据。
  2. 玩家行为研究:研究玩家成就和行为模式。
  3. 自动化工具集成:与 MCP 客户端集成,实现自动化查询。

工具列表

  1. getCurrentPlayers:获取当前游戏玩家数。
  2. getAppDetails:获取游戏详情。
  3. getGameSchema:获取游戏模式信息。
  4. getGameNews:获取游戏新闻。
  5. getPlayerAchievements:获取玩家成就。
  6. getUserStatsForGame:获取玩家游戏统计。
  7. getGlobalStatsForGame:获取全局游戏统计。
  8. getSupportedApiList:获取支持的 API 列表。
  9. getAppList:获取应用列表。
  10. getGlobalAchievementPercentages:获取全局成就百分比。

常见问题解答

  1. 服务器无法启动:检查 STEAM_API_KEY 是否设置正确。
  2. 请求返回错误:验证请求参数是否符合规范。
  3. 连接超时:检查网络连接和服务器配置。

使用教程

使用依赖

  1. Python 3.11+:确保系统已安装 Python 3.11 或更高版本。
  2. UV 包管理器:安装 UV 包管理器(pip install uv)。

安装教程

  1. 克隆仓库bash git clone <repository-url> cd steamstats_mcp
  2. 创建虚拟环境bash uv venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows
  3. 安装依赖bash uv pip install -r requirements.txt
  4. 配置环境变量bash export STEAM_API_KEY="YOUR_API_KEY_HERE" export LOG_LEVEL="DEBUG" export PORT="8080"

调试方式

  1. 启动服务器bash uvicorn main:app --host $HOST --port $PORT --reload
  2. 测试连接:使用 MCP 客户端(如 Roo)连接服务器,验证功能是否正常。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。