0.1.0 • Published yesterdayCLI
linker-trading-data-mcp
Licence
MIT
Version
0.1.0
Deps
2
Size
27 kB
Vulns
0
Weekly
0
linker-trading-data-mcp
经济数据库指标 MCP Server —— 让 AI 精准搜索和获取期货/化工/能源等时间序列数据。
数据覆盖
| 一级分类 | 主要品种 | 指标类型 |
|---|---|---|
| 化工 | 丙烯、丁二烯、LPG、PP、PE、PVC、甲醇、乙二醇、苯乙烯、丙烷、MTBE | 价格/库存/开工率/产能/利润/进出口 |
| 能源 | LPG CP/FEI、天然气 Henry Hub/TTF、动力煤、焦煤、焦炭 | 价格/库存/产量/进口量 |
| 原油 | Brent、WTI、Dubai、SC(上海原油) | 价格/裂解价差/EIA库存/OPEC产量/浮仓 |
| 汇率 | USD/CNY、EUR/USD、JPY/USD、美元指数 DXY | 即期/中间价/远期 |
| 宏观 | 中国、美国、欧洲 | GDP/CPI/PPI/PMI/社融/M2/工业增加值 |
| 有色 | 铜、铝、锌、镍、锡、铅 | LME价格/SHFE价格/库存/仓单 |
| 气温 | 全国主要城市 | 日均温度/HDD(采暖度日)/CDD(制冷度日) |
| 取暖指数 | 全国/区域 | 日度数据/历史同期 |
| kpler | LPG、原油、成品油 | 船运量/到港量/浮仓/在途库存 |
每个品种下还有第四级(lv4)区分具体地区/规格,如"山东中部地区"、"华东现货"、"沙特CP"等。
快速配置
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"linker-trading-data": {
"command": "npx",
"args": ["-y", "linker-trading-data-mcp"],
"env": {
"TRADING_API_BASE": "http://hub.linker.net/trading-api",
"TRADING_API_KEY": "trading-prod-20260323"
}
}
}
}
Cursor
编辑项目下 .cursor/mcp.json:
{
"mcpServers": {
"linker-trading-data": {
"command": "npx",
"args": ["-y", "linker-trading-data-mcp"],
"env": {
"TRADING_API_BASE": "http://hub.linker.net/trading-api",
"TRADING_API_KEY": "trading-prod-20260323"
}
}
}
}
Claude Code
项目根目录 .mcp.json:
{
"mcpServers": {
"linker-trading-data": {
"type": "stdio",
"command": "npx",
"args": ["-y", "linker-trading-data-mcp"],
"env": {
"TRADING_API_BASE": "http://hub.linker.net/trading-api",
"TRADING_API_KEY": "trading-prod-20260323"
}
}
}
}
或命令行:
claude mcp add linker-trading-data \
--env TRADING_API_BASE=http://hub.linker.net/trading-api \
--env TRADING_API_KEY=trading-prod-20260323 \
-- npx -y linker-trading-data-mcp
环境变量
| 变量名 | 必填 | 说明 |
|---|---|---|
TRADING_API_BASE |
Trading Service API 地址 | |
TRADING_API_KEY |
API 认证密钥(X-API-Key header) |
工具说明
1. search_economic_indicators
搜索经济数据库指标目录,返回匹配的四级分类路径。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyword |
string | 否 | 搜索关键词,如:丁二烯、LPG、Brent、USD、气温 |
lv1 |
string | 否 | 一级分类过滤:宏观/化工/汇率/能源/气温/取暖指数/有色/原油/kpler |
lv2 |
string | 否 | 二级品种,如:丁二烯、LPG、布伦特原油 |
lv3 |
string | 否 | 三级指标类型:价格/库存/开工率/利润/产能 |
page |
number | 否 | 页码,默认1,每页50条 |
返回示例(TSV格式):
# 搜索"丁二烯" | 共12条 | 第1/1页
lv1 lv2 lv3 lv4 category_path
化工 丁二烯 价格 出厂价:华东地区:上海石化 化工/丁二烯/价格/出厂价:华东地区:上海石化
化工 丁二烯 价格 国际市场:CFR价:东南亚 化工/丁二烯/价格/国际市场:CFR价:东南亚
化工 丁二烯 价格 市场价:杭州 化工/丁二烯/价格/市场价:杭州
内置别名(自动转换):
| 用户输入 | 实际搜索 |
|---|---|
| 美元人民币 / 人民币汇率 | USD/CNY |
| 布伦特 / 布油 | Brent |
| 美元指数 | DXY |
| 欧元美元 | EUR/USD |
| 天然气 | Henry Hub |
| 聚丙烯 | PP |
| 聚乙烯 | PE |
| 聚氯乙烯 | PVC |
2. get_economic_data
获取指标的历史时间序列数据。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
category_path |
string | 指标路径(从 search_economic_indicators 结果取) | |
start_date |
string | 开始日期 YYYY-MM-DD | |
end_date |
string | 结束日期 YYYY-MM-DD | |
period |
string | 否 | 频率:D=日(默认), W=周, M=月 |
返回示例(TSV格式):
# 化工/丁二烯/价格/出厂价:华东地区:上海石化 | period=D | 2026-07-01~2026-07-20 | 13条
date value
2026-07-05 9800
2026-07-06 9800
2026-07-07 9800
2026-07-13 9800
2026-07-14 10200
2026-07-15 10200
2026-07-16 10500
2026-07-17 10500
注意事项:
- 超过 200 条数据会自动均匀降采样至 200 条(减少 LLM token 消耗)
- 无数据时会返回建议(扩大日期范围 / 换频率 / 检查路径)
- null 值自动跳过不输出
3. calculate_formula
基于多个指标计算价差、比值、利润等衍生数据。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
sources |
array | 数据源定义(1-5个),每项含 variable(变量名A/B/C) 和 category_path |
|
formula |
string | 公式表达式 | |
start_date |
string | 开始日期 YYYY-MM-DD | |
end_date |
string | 结束日期 YYYY-MM-DD | |
period |
string | 否 | D=日(默认), W=周, M=月 |
支持的公式:
| 公式 | 说明 | 示例 |
|---|---|---|
A-B |
价差 | 丙烯 - 丙烷 |
(A-B)/B |
比值/涨跌幅 | 相对变化率 |
A*7.5 |
乘常数 | 单位换算 |
A*1.2+800 |
线性计算 | 成本加成 |
MIN(A,B) |
取最小值 | 两地区低价 |
MAX(A,B) |
取最大值 | 两地区高价 |
AVG(A,B) |
取平均值 | 两地区均价 |
返回示例:
# formula=(A-B) | A=化工/丁二烯/价格/出厂价:华东地区:上海石化 B=能源/丙烷/价格/东北市场价 | period=D | 13条
date value
2026-07-05 4831
2026-07-06 4831
2026-07-13 4831
2026-07-14 5131
2026-07-15 5081
2026-07-16 5378
2026-07-17 5345
注意事项:
- 多个指标取日期交集(只有所有指标都有数据的日期才会计算)
- 除零或无穷大的结果自动跳过
- 变量名必须大写字母(A, B, C, D, E)
典型使用场景
| 用户对 AI 说 | AI 调用流程 |
|---|---|
| "丁二烯最近涨了多少" | search("丁二烯") → get_economic_data(path, 近30天) → 计算涨幅 |
| "LPG华东库存走势" | search("LPG", lv3="库存") → get_economic_data(path) |
| "丙烯丙烷价差" | search("丙烯") + search("丙烷") → calculate_formula("A-B") |
| "有哪些原油相关指标" | search(lv1="原油") → 返回列表 |
| "布伦特近半年走势" | search("布伦特") → get_economic_data(start=6月前) |
| "美元人民币最新汇率" | search("美元人民币") → get_economic_data(近7天) |
本地开发
cd packages/linker-trading-data-mcp
npm install
npm run build
# 测试运行
TRADING_API_BASE=http://hub.linker.net/trading-api \
TRADING_API_KEY=trading-prod-20260323 \
node dist/index.js
# 看到 "linker-trading-data-mcp started" 即成功
测试
# 验证搜索 API
curl -s -H "X-API-Key: trading-prod-20260323" \
"http://hub.linker.net/trading-api/api/v1/market-data/economic/search?keyword=丁二烯&page_size=5"
# 验证时序 API
curl -s -H "X-API-Key: trading-prod-20260323" \
"http://hub.linker.net/trading-api/api/v1/market-data/economic/data?category_path=化工/丁二烯/价格/出厂价:华东地区:上海石化&start_date=2026-07-01&end_date=2026-07-20&period=D"