本项目借助Node.js、TypeScript和@modelcontextprotocol/sdk搭建了一个蒸汽MCP(模型上下文协议)服务器。该服务器充当桥梁,连接MCP客户端(如Roo)和蒸汽网页API,为各类蒸汽游戏统计信息和用户数据提供结构化访问途径。
@modelcontextprotocol/sdk的StdioServerTransport。tools/call请求,验证请求,调用蒸汽网页API并返回格式化结果或错误信息。git clone # 替换为你的仓库URL
cd steam-mcp
npm install
服务器需要设置STEAM_API_KEY环境变量,可在蒸汽开发者网站获取。在项目根目录创建.env文件,并添加以下内容:
STEAM_API_KEY=你的API密钥
⚠️ 重要提示:请确保.env文件不在版本控制系统中(例如,在.gitignore中排除)。
npm run build
此命令将TypeScript代码编译到build目录中。
构建项目后,运行以下命令启动服务器:
node build/index.js
isql:runQuery执行SQL查询并返回结果。使用以下参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| sqlQuery | string | 要执行的SQL查询 |
| databaseName | string | 使用哪个数据库 |
ping:ping测试服务器是否存活。
要配置MCP客户端连接此服务器,请按照以下步骤操作:
~/.mcp/settings.json)。{
"connections": [
{
"name": "steam", // 连接名称
"type": "stdio", // 必须是"stdio"
"enabled": true, // 设置为true以启用连接
"command": "node", // 执行Node.js运行时的命令
"args": ["build/index.js"], // 传递给命令的参数,这里指定编译后的服务器脚本路径
"cwd": "." // 当前工作目录,这里是项目根目录
}
]
}
配置完成后,保存文件并重启MCP客户端。现在你可以通过该连接与服务器通信了!
@modelcontextprotocol/sdk服务器通过标准输入输出(stdio)与MCP客户端通信,使用@modelcontextprotocol/sdk的StdioServerTransport。它监听tools/call请求、验证请求、使用Axios调用蒸汽网页API,并返回格式化结果或适当的错误信息。