npm.io
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"