Steam MCP Server (Node.js/TypeScript)
2025.04.04
0
JavaScriptSteam 数据访问游戏统计娱乐功能
Steam MCP Server 是一个基于 Node.js 和 TypeScript 的中间件服务器,使用 `@modelcontextprotocol/sdk` 实现。它充当 MCP 客户端(如 Roo)与 Steam Web API 之间的桥梁,提供对 Steam 游戏统计数据和用户信息的结构化访问。服务器通过标准输入/输出(stdio)与 MCP 客户端通信,处理 `tools/call` 请求,验证后通过 Axios 与 Steam Web API 交互,并返回格式化结果或错误消息。
View on GitHub
Overview
基本能力
产品定位
Steam MCP Server 是一个中间件服务器,用于连接 MCP 客户端和 Steam Web API,提供对 Steam 游戏数据和用户信息的访问。
核心功能
- 通过标准输入/输出(stdio)与 MCP 客户端通信。
- 提供多种 Steam Web API 工具调用,包括获取当前玩家数、游戏列表、游戏模式、游戏新闻、玩家成就等。
- 使用 TypeScript 和 Node.js 实现,确保代码的可维护性和扩展性。
适用场景
- 开发需要访问 Steam 游戏数据的应用程序。
- 集成 Steam 数据到开发工具或工作流中。
- 为 MCP 客户端提供 Steam 数据支持。
工具列表
getCurrentPlayers: 获取指定 AppID 的当前玩家数。getAppList: 获取 Steam 上的公共应用程序列表。getGameSchema: 获取指定 AppID 的游戏模式(统计、成就)。getAppDetails: 获取一个或多个 AppID 的商店页面详情。getGameNews: 获取指定 AppID 的最新新闻条目。getPlayerAchievements: 获取玩家在特定游戏中的成就状态。getUserStatsForGame: 获取用户在特定游戏中的详细统计数据。getGlobalStatsForGame: 获取特定游戏的聚合全局统计数据。getSupportedApiList: 获取支持的 Steam Web API 接口和方法列表。getGlobalAchievementPercentages: 获取游戏的全局成就完成百分比。
常见问题解答
- 如何获取 Steam API 密钥?
从 Steam Developer 网站 获取 API 密钥,并将其配置在
.env文件中。 - 如何配置 MCP 客户端连接?
在
mcp.json文件中添加服务器配置,指定type为stdio,并正确设置command、args和cwd。
使用教程
使用依赖
- Node.js (v18 或更高版本)
- npm (通常随 Node.js 一起安装)
安装教程
- 克隆仓库
bash git clone <repository-url> cd steam-mcp - 安装依赖
bash npm install - 配置环境变量
在项目根目录创建
.env文件,并添加以下内容:dotenv STEAM_API_KEY=YOUR_API_KEY_HERE - 构建项目
bash npm run build
调试方式
- 运行服务器
bash node build/index.js - 验证 MCP 客户端连接
确保
mcp.json配置正确,客户端能够通过 stdio 与服务器通信。
许可证
None