
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