Steam MCP服务器(Node.js/TypeScript)
概述
该项目使用Node.js、TypeScript和 @modelcontextprotocol/sdk服务器充当MCP客户端(如Roo)和Steam Web API之间的中介,提供对各种Steam游戏统计数据和用户信息的结构化访问。
它使用标准输入/输出(stdio)与MCP客户端通信 @modelcontextprotocol/sdks StdioServerTransport它会倾听 tools/call 请求,验证它们,使用Axios与Steam Web API交互,并返回格式化的结果或适当的错误消息。
技术栈
- 语言: TypeScript
- 运行时间: Node.js(建议使用v18+)
- HTTP客户端: 阿西奥斯
- 环境变量: Dotenv
- MCP-SDK:
@modelcontextprotocol/sdk - 包管理: npm
设置和安装
- 先决条件:
- Node.js(建议使用v18或更高版本)。 - npm(通常包含在Node.js中)。
- 克隆存储库(如果您还没有):
git clone # Replace with your repository URL
cd steam-mcp- 安装依赖项:
npm install- 配置环境变量: 请参阅以下部分。
- 构建项目:
npm run build这将TypeScript代码编译为 build 目录。
配置(环境变量)
服务器要求设置以下环境变量:
STEAM_API_KEY(必填): 您的Steam Web API密钥。从以下位置获取一个 Steam开发者网站。没有此密钥,服务器将无法运行。
此项目使用 .env 文件,以便加载API密钥。创建一个名为的文件 .env 在 steam-mcp 目录并添加以下行:
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在您的工作区或全局配置位置。 - 添加服务器配置: 向添加条目
servers数组inmcp.json.
示例 mcp.json 条目:
{
"servers": [
// ... other server configurations ...
{
"name": "steam-local-stdio", // Choose a descriptive name
"type": "stdio",
"enabled": true,
"command": "node", // Command to execute
"args": [
// Absolute path to the built index.js file
"C:\\Users\\\\AppData\\Roaming\\Roo-Code\\MCP\\steam-mcp\\build\\index.js"
// Adjust the path if your project location is different
],
"cwd": "C:\\Users\\\\AppData\\Roaming\\Roo-Code\\MCP\\steam-mcp" // Working directory (project root)
}
]
}name:此服务器连接的唯一标识符(例如。,steam).type:必须是stdio.enabled:设置为true以激活连接。command:运行Node.js运行时的命令(node).args:包含已编译服务器脚本的绝对路径的数组(build/index.js). 重要提示: 确保此路径适用于您的系统。使用双反睫毛(\\)用于Windows上JSON字符串中的路径。cwd:项目根目录的绝对路径,服务器应从该目录运行。 重要提示: 确保此路径适用于您的系统。
配置并启用后,您的MCP客户端应该能够通过stdio启动并与此服务器通信。

