Steam MCP Server (Node.js/TypeScript)

Steam MCP Server (Node.js/TypeScript)

site icon
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 文件中添加服务器配置,指定 typestdio,并正确设置 commandargscwd

使用教程

使用依赖

  • Node.js (v18 或更高版本)
  • npm (通常随 Node.js 一起安装)

安装教程

  1. 克隆仓库 bash git clone <repository-url> cd steam-mcp
  2. 安装依赖 bash npm install
  3. 配置环境变量 在项目根目录创建 .env 文件,并添加以下内容: dotenv STEAM_API_KEY=YOUR_API_KEY_HERE
  4. 构建项目 bash npm run build

调试方式

  1. 运行服务器 bash node build/index.js
  2. 验证 MCP 客户端连接 确保 mcp.json 配置正确,客户端能够通过 stdio 与服务器通信。

许可证

None