SteamDT MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SteamDT MCP Servercheck price of AK-47 | Redline (Field-Tested)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SteamDT MCP Server
SteamDT MCP 是一款面向 CS2 饰品交易分析的 Model Context Protocol (MCP) 服务器,对接 SteamDT 开放平台 API,让 AI 助手(Claude、Cursor、OpenCode 等)可以直接查询 CS2 饰品的实时价格、K 线走势、大盘指数、磨损度、检视图等数据。
功能概览
分类 | 工具 | 说明 |
基础数据 |
| 获取全量 CS2 饰品基础信息列表 |
搜索 |
| 中/英文模糊搜索 + 智能款式识别 |
价格查询 |
| 单品全平台在售/求购价格 |
| 批量查询(最多 100 个) | |
| N 天均价查询 | |
K线数据 |
| 单品 K 线(支持分平台/特殊款式) |
| CS2 大盘 K 线 | |
大盘指数 |
| 大盘最新指数(含涨跌) |
磨损度 |
| 通过检视链接查询磨损度/贴纸/浮值 |
| 通过 ASMD 参数查询磨损度 | |
检视图 |
| 生成 2D 检视图(检视链接方式) |
| 生成 2D 检视图(ASMD 参数方式) | |
款式对照 |
| 特殊款式对照表(多普勒/渐变/和服等) |
快速开始
1. 获取 API Key
前往 SteamDT 开放平台 注册并获取 API Key。
2. 克隆并安装
git clone https://github.com/zkcaryq/steamdt-mcp.git
cd steamdt-mcp
# 无需 npm install,无外部依赖3. 配置 API Key
在项目根目录创建 .env 文件:
STEAMDT_API_KEY=你的API_KEY可选配置项:
STEAMDT_API_BASE=https://open.steamdt.com # API 地址(默认)
STEAMDT_TIMEOUT_MS=20000 # 请求超时(毫秒)
STEAMDT_MAX_RETRIES=2 # 最大重试次数
STEAMDT_CACHE_DIR=.cache # 缓存目录4. 连接到 AI 客户端
根据你使用的客户端,在对应的 MCP 配置中添加:
Claude Desktop
编辑 claude_desktop_config.json:
{
"mcpServers": {
"steamdt": {
"command": "node",
"args": ["D:/AI/steamDT/steamdt-mcp/src/server.js"],
"env": {
"STEAMDT_API_KEY": "你的API_KEY"
}
}
}
}Cursor
编辑 .cursor/mcp.json:
{
"mcpServers": {
"steamdt": {
"command": "node",
"args": ["D:/AI/steamDT/steamdt-mcp/src/server.js"],
"env": {
"STEAMDT_API_KEY": "你的API_KEY"
}
}
}
}OpenCode
编辑 opencode.json:
{
"mcpServers": {
"steamdt": {
"command": "node",
"args": ["D:/AI/steamDT/steamdt-mcp/src/server.js"],
"env": {
"STEAMDT_API_KEY": "你的API_KEY"
}
}
}
}环境要求
Node.js >= 18.0.0
SteamDT API Key(注册获取)
本项目零外部依赖,仅使用 Node.js 内置模块(https, fs, path, readline)。
工具详细说明
steamdt_get_base_info
获取 SteamDT 全量 CS2 饰品基础信息列表,包含中文名、marketHashName、各平台 itemId 映射。
频率限制: 每天 1 次
缓存机制: 结果自动缓存到
.cache/base_info.json,后续调用优先使用缓存
参数 | 类型 | 必填 | 说明 |
| boolean | 否 | 设为 |
返回示例:
{
"success": true,
"data": [
{
"name": "AK-47 | 红线 (久经沙场)",
"marketHashName": "AK-47 | Redline (Field-Tested)",
"platformList": [
{ "name": "BUFF", "itemId": "33885" },
{ "name": "YOUPIN", "itemId": "425" },
{ "name": "C5", "itemId": "22315" }
]
}
]
}steamdt_search_item_by_name
根据中文或英文模糊搜索饰品,返回匹配的 marketHashName。
⚠️ 必须先调用
steamdt_get_base_info建立缓存后才能使用搜索功能。
智能款式识别:自动识别查询中的特殊款式关键词,剥离后搜索基础物品,并在结果中返回对应的 specialStyle 参数值,可直接用于 steamdt_get_item_kline 的款式过滤。
参数 | 类型 | 必填 | 默认值 | 说明 |
| string | 是 | - | 搜索关键词(中英文均可,支持分词,可含款式关键词) |
| integer | 否 | 10 | 返回数量上限 |
款式关键词支持表:
类别 | 示例关键词 | 返回 |
多普勒相位 |
|
|
多普勒宝石 |
|
|
渐变档位 |
|
|
表面淬火 |
|
|
单面全蓝 |
|
|
绯红和服 |
|
|
官图太阳 |
|
|
使用示例:
搜索 "P2 蝴蝶刀" → 自动识别 P2,搜索"蝴蝶刀",返回 specialStyle: "p2"
搜索 "红宝石 M9" → 自动识别 红宝石,搜索"M9",返回 specialStyle: "ruby"
搜索 "渐变大理石 一档" → 自动识别 一档,搜索"渐变大理石",返回 specialStyle: "1st"
搜索 "和服三档" → 自动识别 和服三档,返回 specialStyle: "crimson_kimono_p3"
搜索 "ak 表面淬火 t2" → 自动识别 T2,搜索"ak 表面淬火",返回 specialStyle: "t2"
搜索 "黑珍珠"(无物品名) → 自动回退搜索"多普勒",返回 specialStyle: "blackpearl"
搜索 "印花 renas" → 普通搜索,无款式识别steamdt_get_price_single
查询单个饰品在各平台的在售/求购实时价格。
频率限制: 60 次/分钟
参数 | 类型 | 必填 | 说明 |
| string | 是 | Steam 官方饰品名称(从 |
返回示例:
{
"success": true,
"data": [
{
"platform": "BUFF",
"sellPrice": 12999.5,
"sellCount": 32,
"biddingPrice": 11220,
"biddingCount": 7,
"updateTime": 1780543978
},
{
"platform": "YOUPIN",
"sellPrice": 13489.99,
"sellCount": 225,
"biddingPrice": 13010,
"biddingCount": 54
}
]
}字段说明:
字段 | 含义 |
| 最低在售价(元) |
| 在售数量 |
| 最高求购价(元) |
| 求购数量 |
支持平台: BUFF / YOUPIN / C5 / HALOSKINS / STEAM / WAXPEER / DMARKET / SKINPORT / CSMONEY
steamdt_get_price_batch
批量查询饰品价格,一次最多 100 个。
频率限制: 1 次/分钟
参数 | 类型 | 必填 | 说明 |
| string[] | 是 | 饰品名称数组,最少 1 个,最多 100 个 |
使用示例:
{
"marketHashNames": [
"AK-47 | Redline (Field-Tested)",
"AWP | Asiimov (Field-Tested)",
"M4A4 | The Coalition (Factory New)"
]
}steamdt_get_price_avg7d
查询饰品近 N 天各平台的均价及全平台均价。
参数 | 类型 | 必填 | 默认值 | 说明 |
| string | 是 | - | Steam 官方饰品名称 |
| integer | 否 | 7 | 回溯天数,例如 7、30、90 |
返回示例:
{
"success": true,
"data": {
"marketHashName": "AK-47 | Redline (Field-Tested)",
"avgPrice": 118.5,
"dataList": [
{ "platform": "BUFF", "avgPrice": 115.2 },
{ "platform": "YOUPIN", "avgPrice": 120.8 }
]
}
}steamdt_get_item_kline
查询单品 K 线数据(OHLC,不含成交量)。
频率限制: 120 次/分钟
参数 | 类型 | 必填 | 说明 |
| string | 是 | 饰品名称 |
| integer (1-3) | 是 | K 线类型(1=日线/2=4小时/3=1小时) |
| string | 否 | 平台筛选: |
| string | 否 | 特殊款式值(参考 |
返回示例:
[
[1735689600, 110.0, 112.5, 108.0, 111.2],
[1735776000, 111.2, 115.0, 110.5, 114.8]
]每条 K 线格式: [时间戳, 开盘价, 最高价, 最低价, 收盘价]
specialStyle 适用于需要区分款式的饰品:
多普勒/伽玛多普勒 →
p1/p2/p3/p4/ruby/emerald/sapphire/blackpearl渐变大理石 →
1st~10th(冰火档位)绯红和服 →
crimson_kimono_p1~crimson_kimono_p6表面淬火 →
t1/t2/t3/t4/singleblue(单面全蓝)
steamdt_get_broad_kline
查询 CS2 大盘 K 线数据。
参数 | 类型 | 必填 | 说明 |
| integer (1-3) | 是 | K 线类型(1=日线/2=4小时/3=1小时) |
steamdt_get_broad_index
查询 CS2 大盘最新指数(含涨跌值和历史记录)。
无参数。
返回示例:
{
"success": true,
"data": {
"broadMarketIndex": 913.88,
"diffYesterday": 14.18,
"diffYesterdayRatio": 1.5761,
"historyMarketIndexList": [
[1780455600, 881.72],
[1780459200, 885.15]
]
}
}字段 | 含义 |
| 当前大盘指数 |
| 较昨日涨跌值 |
| 较昨日涨跌百分比 |
| 近期历史指数 |
steamdt_get_wear_by_inspect_url
通过 Steam 检视链接查询饰品磨损度及相关数据(磨损值、贴纸、挂件等)。
频率限制: 36000 次/小时
参数 | 类型 | 必填 | 说明 |
| string | 是 | Steam CS2 检视链接,格式 |
| string | 否 | 异步回调地址,不填则等待同步返回 |
steamdt_get_wear_by_asmd
通过 ASMD 参数查询磨损度(替代检视链接方式,适用于已知 ASMD 参数的场景)。
频率限制: 36000 次/小时
参数 | 类型 | 必填 | 说明 |
| integer | 否 | ASMD 参数 S |
| integer | 否 | ASMD 参数 M |
| integer | 否 | ASMD 参数 A |
| string | 否 | ASMD 参数 D |
| string | 否 | 异步回调地址 |
steamdt_get_inspect_by_url
通过检视链接生成饰品 2D 检视图(需先通过磨损度接口获取数据)。
频率限制: 100 次/天 ⚠️ 稀缺资源
参数 | 类型 | 必填 | 说明 |
| string | 是 | Steam CS2 检视链接 |
| string | 否 | 异步回调地址 |
steamdt_get_inspect_by_asmd
通过 ASMD 参数生成饰品 2D 检视图。
频率限制: 100 次/天 ⚠️ 稀缺资源
参数 | 类型 | 必填 | 说明 |
| integer | 否 | ASMD 参数 S |
| integer | 否 | ASMD 参数 M |
| integer | 否 | ASMD 参数 A |
| string | 否 | ASMD 参数 D |
| string | 否 | 异步回调地址 |
steamdt_special_styles
获取 CS2 饰品特殊款式对照表,用于解读磨损数据中的 paintseed 和特殊款式字段。
无参数。
返回对照表:
类别 | 可选值 | 说明 |
|
| 渐变大理石等饰品的档位 |
|
| 表面淬火等级 |
|
| 多普勒/伽玛多普勒相位 |
|
| 表面淬火单面全蓝 |
|
| 绯红和服档位 |
典型使用场景
场景一: 快速查询饰品价格
向 AI 助手提问:
"帮我看一下 AK-47 | 红线 (久经沙场) 在各平台的价格"
AI 会自动调用 steamdt_get_price_single,返回 BUFF、YOUPIN、C5 等平台的在售价和求购价。
场景二: 分析 K 线走势
"分析 M4A4 | 合纵 (崭新出厂) 最近 BUFF 的 K 线走势"
AI 会调用 steamdt_get_item_kline(type=1 日线),结合 steamdt_get_price_avg7d 综合判断趋势。
场景三: 多普勒刀款式分析
"这把 ★ Butterfly Knife | Doppler 是什么相位?"
AI 会先用 steamdt_get_wear_by_inspect_url 查询磨损数据,再用 steamdt_special_styles 对照表解读出具体相位。
场景四: 大盘环境判断
"现在 CS2 市场整体怎么样?"
AI 会调用 steamdt_get_broad_index 和 steamdt_get_broad_kline,给出大盘趋势判断。
场景五: 批量对比
"帮我对比这 10 把 AK 的 BUFF 在售价"
AI 会调用 steamdt_get_price_batch 一次性拉取 10 个饰品的全平台价格。
频率限制汇总
工具 | 限制 |
| 1 次/天 |
| 60 次/分钟 |
| 1 次/分钟 |
| 120 次/分钟 |
| 36000 次/小时 |
| 100 次/天 |
| 无明确限制 |
| 无明确限制 |
| 本地搜索,无限制 |
项目结构
steamdt-mcp/
├── src/
│ ├── server.js # MCP 协议服务端(JSON-RPC over stdio)
│ └── lib.js # 核心函数库(API 请求、缓存、搜索、工具分发)
├── test/
│ ├── whitebox.test.js # 单元测试(函数级别)
│ └── blackbox.test.js # 集成测试(启动 MCP 服务端测试)
├── .cache/ # 缓存目录(自动生成,已 gitignore)
├── .env # API Key 配置(已 gitignore)
├── package.json
└── .gitignore运行测试
# 单元测试
npm run test:whitebox
# 集成测试(需连接 MCP 服务)
npm run test:blackbox
# 全部测试
npm test集成测试中,如果设置了真实的
STEAMDT_API_KEY环境变量,还会自动执行 Live API 测试。
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zkcaryq/steamdt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server