Steam MCP Server (Node.js/TypeScript)
用于 Steam Web API 游戏统计的 MCP 服务器
algorhythmic
README
Steam MCP 服务器 (Node.js/TypeScript)
概述
本项目使用 Node.js、TypeScript 和 @modelcontextprotocol/sdk
实现了一个 Steam MCP (模型上下文协议) 服务器。该服务器充当 MCP 客户端(如 Roo)和 Steam Web API 之间的中介,提供对各种 Steam 游戏统计数据和用户信息进行结构化访问。
它通过标准输入/输出 (stdio) 使用 @modelcontextprotocol/sdk
的 StdioServerTransport
与 MCP 客户端通信。 它监听 tools/call
请求,验证它们,使用 Axios 与 Steam Web API 交互,并返回格式化的结果或适当的错误消息。
技术栈
- 语言: TypeScript
- 运行时: Node.js (建议 v18+)
- HTTP 客户端: Axios
- 环境变量: Dotenv
- MCP SDK:
@modelcontextprotocol/sdk
- 包管理: npm
设置和安装
-
先决条件:
- Node.js (建议 v18 或更高版本)。
- npm (通常包含在 Node.js 中)。
-
克隆存储库 (如果尚未克隆):
git clone <repository-url> # 替换为您的存储库 URL cd steam-mcp
-
安装依赖项:
npm install
-
配置环境变量: 请参阅下面的部分。
-
构建项目:
npm run build
这会将 TypeScript 代码编译到
build
目录中。
配置 (环境变量)
服务器需要设置以下环境变量:
STEAM_API_KEY
(必需): 您的 Steam Web API 密钥。 从 Steam 开发者网站 获取一个。 如果没有此密钥,服务器将无法运行。
本项目使用项目根目录中的 .env
文件来加载 API 密钥。 在 steam-mcp
目录中创建一个名为 .env
的文件,并添加以下行:
STEAM_API_KEY=YOUR_API_KEY_HERE
将 YOUR_API_KEY_HERE
替换为您的实际 Steam Web API 密钥。
运行服务器 (独立)
构建项目 (npm run build
) 并配置 .env
文件后,您可以直接使用 Node 运行服务器:
node build/index.js
服务器将启动并监听标准输入/输出上的 MCP 消息。
可用的 MCP 命令
此服务器基于 Steam Web API 提供以下工具:
getCurrentPlayers
: 检索给定 AppID 的当前玩家数量。getAppList
: 检索 Steam 上所有公共应用程序的完整列表。getGameSchema
: 检索给定 AppID 的游戏架构(统计信息、成就)。getAppDetails
: 检索一个或多个 AppID 的商店页面详细信息。getGameNews
: 检索给定 AppID 的最新新闻项目。getPlayerAchievements
: 检索特定游戏中玩家的成就状态。getUserStatsForGame
: 检索特定游戏中用户的详细统计信息。getGlobalStatsForGame
: 检索特定游戏的聚合全局统计信息。getSupportedApiList
: 检索支持的 Steam Web API 接口和方法的列表。getGlobalAchievementPercentages
: 检索游戏的全局成就完成百分比。
连接本地 MCP 客户端 (例如,Roo)
要将本地 MCP 客户端(例如 Roo VS Code 扩展)连接到此服务器,您需要配置客户端的 mcp.json
文件。 此文件通常位于项目或用户设置中的 .roo
目录中。
该配置告诉客户端如何使用标准输入/输出启动服务器并与之通信。
- 确保项目已构建: 运行
npm run build
。 - 找到或创建您的
mcp.json
文件: 这可能位于您的工作区中的.roo/mcp.json
或全局配置位置。 - 添加服务器配置: 将条目添加到
mcp.json
中的servers
数组。
mcp.json
条目示例:
{
"servers": [
// ... 其他服务器配置 ...
{
"name": "steam-local-stdio", // 选择一个描述性名称
"type": "stdio",
"enabled": true,
"command": "node", // 要执行的命令
"args": [
// 构建的 index.js 文件的绝对路径
"C:\\Users\\<username>\\AppData\\Roaming\\Roo-Code\\MCP\\steam-mcp\\build\\index.js"
// 如果您的项目位置不同,请调整路径
],
"cwd": "C:\\Users\\<username>\\AppData\\Roaming\\Roo-Code\\MCP\\steam-mcp" // 工作目录(项目根目录)
}
]
}
name
: 此服务器连接的唯一标识符(例如,steam
)。type
: 必须是stdio
。enabled
: 设置为true
以激活连接。command
: 运行 Node.js 运行时的命令 (node
)。args
: 包含已编译服务器脚本 (build/index.js
) 的绝对路径的数组。 重要提示: 确保此路径对您的系统正确。 在 Windows 上的 JSON 字符串中使用双反斜杠 (\\
) 作为路径。cwd
: 项目根目录的绝对路径,服务器应从中运行。 重要提示: 确保此路径对您的系统正确。
配置并启用后,您的 MCP 客户端应该能够通过 stdio 启动此服务器并与之通信。
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。