Token导航 LogoToken导航TokenDH.com
Databento MCP Server logo
金融服务未说明官方级别未说明来源级核验

Databento MCP Server

MCP Server

DataBento MCP Server & Skills 提供通过DataBento API的专业市场数据访问,可作为MCP服务器和Claude Code技能使用,支持实时和历史市场数据查询、符号解析、元数据发现等功能。

工具数

0

提示词数

0

GitHub Stars

9

资源数

0
市场数据金融数据TypeScriptClaude历史数据Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Nice-Wolf-Studio

提供方

Nice-Wolf-Studio

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DataBento MCP服务器和技能

通过DataBento API访问专业市场数据,可作为MCP服务器和Claude Code技能使用。

最新动态

3.0版本-双重部署:MCP服务器+克劳德代码技能

此项目现在支持两种部署模式:

  • MCP服务器:适用于Claude Desktop和其他MCP客户端(18个工具)
  • Claude代码技能:Claude Code CLI的原生技能(8个技能脚本)

这两种模式共享相同的核心功能:

  • 完整的Databento API覆盖范围(时间序列、元数据、批次、符号、参考)
  • 具有灵活架构的API完整历史支持
  • 实时期货报价(ES、NQ)
  • 贯穿始终的类型安全TypeScript实现

选择最适合您工作流程的部署!

特性

  • 🎯 实时期货报价 -ES和NQ合同的当前价格
  • 📊 历史时间序列 -跨日期范围流式传输任何市场数据模式
  • 📈 批量下载 -提交和管理大型历史数据作业
  • 🔍 符号分辨率 -跨数据集将符号解析为仪器ID
  • 📚 元数据发现 -探索数据集、模式、字段和定价
  • 🏢 参考数据 -访问安全主机、公司操作和调整
  • 会话检测 -自动亚洲/伦敦/纽约会话识别
  • 🚀 速率限制 -内置请求限制和缓存(30s TTL)
  • 🔒 错误处理 -优雅的失败,错误信息清晰

安装

先决条件

  • Node.js v18+或兼容的运行时环境
  • Databent API密钥(在这里买一个)
  • 对于MCP:Claude Desktop或兼容的MCP客户端
  • 技能:克劳德代码CLI

设置

  1. 克隆或下载此存储库:
cd ~/Dev
git clone  databento-mcp-server
cd databento-mcp-server
  1. 安装依赖项:
npm install
  1. 创建 .env 使用您的DataBento API密钥文件:
cp .env.example .env
# Edit .env and add your API key

你的 .env 应包含:

DATABENTO_API_KEY=db-your-api-key-here
DATABENTO_DATASET=GLBX.MDP3
  1. 在下面选择您的部署模式

配置

选项1:MCP服务器(用于克劳德桌面)

构建MCP服务器:

npm run build:mcp

添加到您的Claude Desktop MCP配置(~/.claude/mcp.json):

{
  "mcpServers": {
    "databento": {
      "command": "node",
      "args": ["/Users/yourusername/Dev/databento-mcp-server/dist/mcp/mcp/index.js"],
      "env": {
        "DATABENTO_API_KEY": "db-your-api-key-here"
      }
    }
  }
}

或使用 npx 直接(如果发布到npm):

{
  "mcpServers": {
    "databento": {
      "command": "npx",
      "args": ["-y", "databento-mcp-server"],
      "env": {
        "DATABENTO_API_KEY": "db-your-api-key-here"
      }
    }
  }
}

选项2:Claude代码技能

构建和安装技能:

npm run install:skills

这将:

  • 编译TypeScript的技能
  • 将它们复制到 ~/.claude/skills/databento/
  • 使脚本可执行

设置API关键环境变量:

export DATABENTO_API_KEY="db-your-api-key-here"
# Or add to your .bashrc/.zshrc for persistence

验证安装:

node ~/.claude/skills/databento/scripts/get-quote.js ES

环境变量

变量必填默认描述
DATABENTO_API_KEY-您的DataBento API密钥(以 db-)
DATABENTO_DATASETGLBX.MDP3CME期货数据集

可用工具

MCP服务器提供18个工具,分为6类:

类别工具描述
原版3个工具ES/NQ期货报价、交易时段信息、历史柱状图
时间序列1个工具具有灵活模式的历史市场数据流
符号学1工具符号解析和转换
元数据6个工具数据集发现、模式信息、成本估算
批次3个工具大规模数据下载作业管理
参考3个工具安全大师、公司行为、价格调整

原始工具(期货和交易时段)

1. get_futures_quote

获取ES或NQ期货的当前报价。

输入:

{
  "symbol": "ES"
}

输出:

{
  "symbol": "ES",
  "price": 5845.25,
  "bid": 5845.00,
  "ask": 5845.50,
  "spread": 0.50,
  "timestamp": "2024-10-02T14:30:00.000Z",
  "dataAge": "15s ago",
  "source": "DataBento"
}

2. get_session_info

获取当前交易时段信息。

输入:

{
  "timestamp": "2024-10-02T14:30:00Z"
}

_注: timestamp 是可选的,默认为当前时间_

输出:

{
  "currentSession": "NY",
  "sessionStart": "2024-10-02T14:00:00.000Z",
  "sessionEnd": "2024-10-02T22:00:00.000Z",
  "timestamp": "2024-10-02T14:30:00.000Z",
  "utcHour": 14
}

会议:

  • 亚洲的:00:00-07:00 UTC
  • 伦敦:07:00-14:00 UTC
  • 纽约:格林尼治标准时间14:00-22:00

3. get_historical_bars

获取期货合约的历史OHLCV柱。

输入:

{
  "symbol": "NQ",
  "timeframe": "H4",
  "count": 10
}

输出:

{
  "symbol": "NQ",
  "timeframe": "H4",
  "count": 10,
  "bars": [
    {
      "timestamp": "2024-10-02T00:00:00.000Z",
      "open": 20150.25,
      "high": 20175.50,
      "low": 20145.00,
      "close": 20160.75,
      "volume": 125000
    }
  ]
}

支持的时间范围:

  • 1h -每小时酒吧
  • H4 -4小时酒吧(从1小时开始聚合)
  • 1d -每日酒吧

______________________________________________________________________

时间序列工具

4. timeseries_get_range

使用灵活的模式和日期范围流式传输历史市场数据。支持所有Databento模式。

输入:

{
  "dataset": "GLBX.MDP3",
  "symbols": "ES.c.0,NQ.c.0",
  "schema": "trades",
  "start": "2024-10-01",
  "end": "2024-10-02",
  "stype_in": "raw_symbol",
  "stype_out": "instrument_id",
  "limit": 1000
}

支持的架构:

  • mbp-1, mbp-10 -按价格划分的市场(1或10个级别)
  • mbo -按订单市场
  • trades -贸易数据
  • ohlcv-1s, ohlcv-1m, ohlcv-1h, ohlcv-1d, ohlcv-eod -OHLCV钢筋
  • statistics, definition, imbalance, status -市场元数据

输出:

{
  "dataset": "GLBX.MDP3",
  "schema": "trades",
  "symbols": ["ES.c.0"],
  "dateRange": {
    "start": "2024-10-01T00:00:00Z",
    "end": "2024-10-02T00:00:00Z"
  },
  "recordCount": 1000,
  "data": [
    {
      "ts_event": "2024-10-01T09:30:00.123456789Z",
      "price": 5845.25,
      "size": 10,
      "side": "B"
    }
  ]
}

______________________________________________________________________

符号学工具

5. symbology_resolve

将符号解析为仪器ID或跨日期范围的其他符号类型。

输入:

{
  "dataset": "GLBX.MDP3",
  "symbols": ["ES", "NQ"],
  "stype_in": "continuous",
  "stype_out": "instrument_id",
  "start_date": "2024-10-01",
  "end_date": "2024-10-02"
}

符号类型:

  • raw_symbol -本地交换符号
  • instrument_id -数据库仪器id
  • continuous -连续期货(c.0、c.1等)
  • parent -父符号
  • nasdaq, cms, bats, smart -场馆特定符号

输出:

{
  "dataset": "GLBX.MDP3",
  "stype_in": "continuous",
  "stype_out": "instrument_id",
  "date_range": {
    "start": "2024-10-01",
    "end": "2024-10-02"
  },
  "symbol_count": 2,
  "result": "partial",
  "mappings": [
    {
      "input_symbol": "ES.c.0",
      "output_symbol": "123456",
      "start_date": "2024-10-01",
      "end_date": "2024-10-02"
    }
  ]
}

______________________________________________________________________

元数据工具

6. metadata_list_datasets

列出所有可用的Databento数据集,并可选择日期范围过滤。

输入:

{
  "start_date": "2024-01-01",
  "end_date": "2024-12-31"
}

输出:

{
  "datasets": [
    {
      "dataset": "GLBX.MDP3",
      "description": "CME Globex MDP 3.0",
      "start_date": "2020-01-01",
      "end_date": null
    }
  ],
  "count": 1
}

7. metadata_list_schemas

列出特定数据集的可用数据模式。

输入:

{
  "dataset": "GLBX.MDP3"
}

输出:

{
  "dataset": "GLBX.MDP3",
  "schemas": ["trades", "mbp-1", "mbp-10", "ohlcv-1h", "ohlcv-1d"],
  "count": 5
}

8. metadata_list_publishers

列出发布者及其详细信息,可选择按数据集过滤。

输入:

{
  "dataset": "GLBX.MDP3"
}

输出:

{
  "publishers": [
    {
      "publisher_id": 1,
      "dataset": "GLBX.MDP3",
      "venue": "CME",
      "description": "Chicago Mercantile Exchange"
    }
  ],
  "count": 1,
  "dataset_filter": "GLBX.MDP3"
}

9. metadata_list_fields

列出特定模式可用的字段及其类型和描述。

输入:

{
  "schema": "trades",
  "encoding": "json"
}

输出:

{
  "schema": "trades",
  "encoding": "json",
  "fields": [
    {
      "name": "ts_event",
      "type": "uint64",
      "description": "Event timestamp in nanoseconds"
    },
    {
      "name": "price",
      "type": "int64",
      "description": "Price in fixed-point notation"
    }
  ],
  "count": 2
}

10. metadata_get_cost

下载前计算历史数据查询的成本(单位:美元)。

输入:

{
  "dataset": "GLBX.MDP3",
  "symbols": "ES.c.0",
  "schema": "trades",
  "start": "2024-10-01",
  "end": "2024-10-02",
  "stype_in": "raw_symbol"
}

输出:

{
  "dataset": "GLBX.MDP3",
  "symbols": ["ES.c.0"],
  "schema": "trades",
  "cost_usd": 15.50,
  "record_count_estimate": 1500000,
  "size_bytes_estimate": 45000000
}

11. metadata_get_dataset_range

获取数据集的可用日期范围。

输入:

{
  "dataset": "GLBX.MDP3"
}

输出:

{
  "dataset": "GLBX.MDP3",
  "start_date": "2020-01-01",
  "end_date": null,
  "description": "Data available from 2020-01-01 to present"
}

______________________________________________________________________

批处理工具

12. batch_submit_job

为大型历史数据集提交批量数据下载作业。返回作业ID和状态。

输入:

{
  "dataset": "GLBX.MDP3",
  "symbols": ["ES.c.0", "NQ.c.0"],
  "schema": "trades",
  "start": "2024-10-01",
  "end": "2024-10-02",
  "encoding": "csv",
  "compression": "zstd",
  "stype_in": "raw_symbol",
  "split_duration": "day"
}

输出:

{
  "status": "submitted",
  "job_id": "abc123def456",
  "state": "received",
  "dataset": "GLBX.MDP3",
  "schema": "trades",
  "symbols_count": 2,
  "cost_usd": 25.00,
  "date_range": {
    "start": "2024-10-01",
    "end": "2024-10-02"
  },
  "encoding": "csv",
  "compression": "zstd",
  "ts_received": "2024-10-03T10:00:00Z",
  "message": "Job submitted successfully. Use batch_list_jobs or batch_download to check status and download files when ready."
}

13. batch_list_jobs

列出所有批处理作业及其当前状态。可选择按作业状态或时间范围进行筛选。

输入:

{
  "states": ["done", "processing"],
  "since": "2024-10-01T00:00:00Z"
}

输出:

{
  "total_jobs": 5,
  "jobs_by_state": {
    "done": 3,
    "processing": 2
  },
  "jobs": [
    {
      "id": "abc123def456",
      "state": "done",
      "dataset": "GLBX.MDP3",
      "schema": "trades",
      "symbols_count": 2,
      "cost_usd": 25.00,
      "date_range": {
        "start": "2024-10-01",
        "end": "2024-10-02"
      },
      "record_count": 1500000,
      "file_count": 2,
      "total_size_bytes": 45000000,
      "ts_received": "2024-10-03T10:00:00Z",
      "ts_process_done": "2024-10-03T10:15:00Z",
      "ts_expiration": "2024-10-10T10:00:00Z"
    }
  ]
}

14. batch_download

获取已完成批处理作业的下载信息。返回下载URL和元数据。

输入:

{
  "job_id": "abc123def456"
}

输出:

{
  "job_id": "abc123def456",
  "state": "done",
  "files": [
    {
      "filename": "20241001.csv.zst",
      "size_bytes": 22500000,
      "hash": "sha256:abc123...",
      "download_url": "https://download.databento.com/..."
    }
  ],
  "total_size_bytes": 45000000,
  "expiration": "2024-10-10T10:00:00Z"
}

______________________________________________________________________

参考工具

15. reference_search_securities

在安全主数据库中搜索仪器元数据。

输入:

{
  "dataset": "GLBX.MDP3",
  "symbols": "ES.c.0,NQ.c.0",
  "start_date": "2024-10-01",
  "end_date": "2024-10-02",
  "limit": 100
}

输出:

{
  "dataset": "GLBX.MDP3",
  "symbols": "ES.c.0,NQ.c.0",
  "date_range": {
    "start": "2024-10-01",
    "end": "2024-10-02"
  },
  "record_count": 2,
  "securities": [
    {
      "instrument_id": "123456",
      "raw_symbol": "ESZ4",
      "description": "E-mini S&P 500 Dec 2024",
      "asset_class": "futures",
      "exchange": "CME",
      "currency": "USD",
      "first_date": "2023-09-18",
      "last_date": "2024-12-20",
      "min_price_increment": 0.25,
      "display_factor": 1.0
    }
  ]
}

16. reference_get_corporate_actions

获取符号的公司行为(股息、拆分等)。

输入:

{
  "dataset": "XNAS.ITCH",
  "symbols": "AAPL,MSFT",
  "start_date": "2024-01-01",
  "end_date": "2024-12-31",
  "action_types": ["dividend", "split"]
}

输出:

{
  "dataset": "XNAS.ITCH",
  "symbols": "AAPL,MSFT",
  "date_range": {
    "start": "2024-01-01",
    "end": "2024-12-31"
  },
  "record_count": 5,
  "action_types_filter": ["dividend", "split"],
  "corporate_actions": [
    {
      "instrument_id": "789012",
      "raw_symbol": "AAPL",
      "action_type": "dividend",
      "ex_date": "2024-05-10",
      "record_date": "2024-05-13",
      "payment_date": "2024-05-16",
      "amount": 0.25,
      "currency": "USD"
    }
  ]
}

17. reference_get_adjustments

获取反向调整价格的价格调整系数。

输入:

{
  "dataset": "XNAS.ITCH",
  "symbols": "AAPL",
  "start_date": "2024-01-01",
  "end_date": "2024-12-31"
}

输出:

{
  "dataset": "XNAS.ITCH",
  "symbols": "AAPL",
  "date_range": {
    "start": "2024-01-01",
    "end": "2024-12-31"
  },
  "record_count": 2,
  "adjustments": [
    {
      "instrument_id": "789012",
      "raw_symbol": "AAPL",
      "adjustment_date": "2024-05-10",
      "adjustment_type": "dividend",
      "price_factor": 0.998654,
      "volume_factor": 1.0
    }
  ]
}

使用示例

使用克劳德桌面

配置后,您可以询问Claude:

原始期货工具:

“目前的ES价格是多少?”

克劳德将使用 get_futures_quote 获取实时数据的工具。

“获取NQ的最后10个H4条”

克劳德将使用 get_historical_bars 工具。

“我们现在在哪个环节?”

克劳德将使用 get_session_info 工具。

新的Databento API工具:

“列出所有可用的Databento数据集”

克劳德将使用 metadata_list_datasets 显示所有可用数据集。

“获取10月1日ES的交易数据”

克劳德将使用 timeseries_get_range 以获取历史贸易数据。

“将符号ES.c.0解析为仪器ID”

克劳德将使用 symbology_resolve 转换符号类型。

“9月份下载AAPL的所有交易需要多少钱?”

克劳德将使用 metadata_get_cost 以计算查询成本。

“提交上周NQ交易数据的批处理作业”

克劳德将使用 batch_submit_job 创建批量下载作业。

“获取ESZ4的安全详细信息”

克劳德将使用 reference_search_securities 以获取仪器元数据。

“获取AAPL 2024年的股息历史”

克劳德将使用 reference_get_corporate_actions 以获取公司行为。

发展模式

在开发模式下运行服务器并自动重新加载:

npm run dev

生产模式

构建并运行:

npm run build
npm start

技术细节

数据提供者

  • 来源:芝加哥商品交易所期货数据
  • 符号:欧洲标准普尔500指数(ES.c.0),纳斯达克100指数(NQ.c.0)
  • 数据集:GLBX。MDP3(CME Globex MDP 3.0)
  • 精确度:纳秒时间戳,1e9价格单位

缓存策略

  • 报价缓存:30秒TTL(减少API调用)
  • 周末处理:非工作时间数据的7天回顾
  • 速率限制:内置请求限制

错误处理

所有工具都返回结构化错误:

{
  "error": "No quote data available for ES"
}

常见错误:

  • 缺少API密钥
  • 无效符号(仅支持ES/NQ)
  • 无可用数据(周末、节假日)
  • API请求频率超限

Claude代码技能使用

安装后,这些技能可以在Claude Code中自然调用:

获取实时报价:

> Get the current ES futures quote

历史数据:

> Fetch 50 daily bars for NQ

符号分辨率:

> Resolve ESM4 symbol to instrument ID in GLBX.MDP3

元数据查询:

> List all available schemas for GLBX.MDP3 dataset

批量操作:

> List my databento batch jobs

这些技能会根据上下文和关键字自动检测。

项目结构

databento-mcp-server/
├── src/                      # Shared code (used by both MCP & Skills)
│   ├── databento-client.ts   # Futures client (quotes, bars, sessions)
│   ├── http/
│   │   └── databento-http.ts # Base HTTP client with auth, retry, caching
│   ├── api/                  # API clients
│   │   ├── metadata-client.ts
│   │   ├── timeseries-client.ts
│   │   ├── batch-client.ts
│   │   ├── symbology-client.ts
│   │   └── reference-client.ts
│   └── types/                # TypeScript type definitions
│       ├── metadata.ts
│       ├── timeseries.ts
│       ├── batch.ts
│       ├── symbology.ts
│       └── reference.ts
├── mcp/                      # MCP Server specific code
│   └── index.ts              # MCP server entry point & 18 tool definitions
├── skills/                   # Claude Code Skills
│   ├── databento/
│   │   ├── skill.md          # Skill documentation
│   │   ├── scripts/          # 8 executable skill scripts
│   │   │   ├── get-quote.ts
│   │   │   ├── get-historical.ts
│   │   │   ├── get-session.ts
│   │   │   ├── resolve-symbols.ts
│   │   │   ├── timeseries.ts
│   │   │   ├── metadata.ts
│   │   │   ├── batch.ts
│   │   │   └── reference.ts
│   │   └── data/
│   └── manifest.json         # Skills manifest
├── scripts/
│   └── install-skills.sh     # Skill installation script
├── dist/                     # Compiled JavaScript (build output)
│   ├── mcp/                  # MCP server build
│   ├── skills/               # Skills build
│   └── src/                  # Shared code build
├── docs/
│   ├── adrs/                 # Architecture Decision Records
│   └── journals/             # Implementation journals
├── tsconfig.json             # Base TypeScript config
├── tsconfig.mcp.json         # MCP build config
├── tsconfig.skills.json      # Skills build config
├── package.json
├── .env.example
└── README.md

发展

建筑

构建一切:

npm run build

仅构建MCP服务器:

npm run build:mcp

仅培养技能:

npm run build:skills

添加新功能

对于MCP服务器:

  1. 将工具定义添加到 ListToolsRequestSchema 处理程序在 mcp/index.ts
  2. 在中实现处理程序 CallToolRequestSchema switch语句
  3. 将客户端方法添加到中相应的API客户端 src/api/
  4. 重建: npm run build:mcp

对于技能:

  1. 在中创建新脚本 skills/databento/scripts/
  2. 从导入和使用共享客户端 src/
  3. 更新 skills/manifest.json 使用新脚本
  4. 重建并安装: npm run install:skills

对于共享功能:

  1. 在中为适当的客户端添加逻辑 src/api/
  2. 更新MCP和技能以使用它
  3. 重建两者: npm run build

本地测试

# Set API key
export DATABENTO_API_KEY=db-your-key

# Run dev server
npm run dev

局限性

  • 原始工具: get_futures_quoteget_historical_bars 仅支持ES和NQ期货
  • 新工具:支持所有Databento数据集和符号(GLBX.MDP3、XNAS.ITCH、DBEQ.BASIC等)
  • 数据延迟:历史API(不是逐帧实时流)
  • 周末数据:周末/节假日可能会显示过时的数据
  • 速率限制:尊重DataBento API限值(60 req/min)
  • 批量下载:返回下载URL,但文件内容不通过MCP流式传输
  • API密钥权限:访问数据集需要适当的Databento订阅

故障排除

“需要DATABENTO_API_KEY”

确保您的 .env 文件包含以开头的有效API密钥 db-.

“没有可用的报价数据”

  • 检查市场是否开放(期货交易在工作日每天23小时)
  • 验证您的DataBento帐户是否具有CME期货访问权限
  • 检查API密钥权限

“HTTP 401”错误

您的API密钥无效或已过期。从datamento.com获取一个新的。

许可证

麻省理工学院

贡献

欢迎投稿!请在GitHub上打开问题或PR。

相关项目

______________________________________________________________________

内置于❤️ Wolf Agents生态系统

目录标签

目录标签

市场数据金融数据TypeScriptClaude历史数据本地部署API集成实时数据

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP