项目简介

'dbn-go' 仓库主要提供了用于处理 Databento 数据二进制编码(DBN)以及访问 Databento 历史和实时 API 的 Go 语言库和工具。其中包含一个基于 Model Context Protocol (MCP) 实现的服务器工具 'dbn-go-mcp',旨在为大型语言模型(LLM)客户端提供标准化的金融市场数据访问和查询能力。

主要功能点

  • 数据访问工具: 通过 MCP 工具暴露 Databento 历史 API 的数据查询能力,允许 LLM 调用以获取特定数据集、Schema、符号和时间范围内的数据。
  • 成本估算工具: 提供 MCP 工具用于查询数据请求的预估成本、数据量和记录数,帮助 LLM 在执行昂贵查询前进行成本评估。
  • 支持多种传输协议: MCP 服务器可以通过标准 I/O (Stdio) 或 Server-Sent Events (SSE) 方式与 MCP 客户端通信。
  • 配置灵活: 支持通过命令行参数配置 Databento API Key、日志输出、监听端口等。

安装步骤

  1. 安装 Go 语言: 确保您的系统已安装 Go 1.20 或更高版本。可以访问 Go 官方网站 获取安装包。
  2. 克隆仓库: 使用 Git 克隆 'dbn-go' 仓库到您的本地。
    git clone https://github.com/NimbleMarkets/dbn-go.git
    cd dbn-go
  3. 构建 MCP 服务器工具: 在仓库根目录下,使用 Go 命令构建 'dbn-go-mcp' 工具。
    go build ./cmd/dbn-go-mcp
    这将在当前目录下生成一个名为 'dbn-go-mcp'(或 'dbn-go-mcp.exe' 在 Windows 上)的可执行文件。

服务器配置

MCP 客户端(如支持 MCP 协议的 LLM 应用)需要配置启动 'dbn-go-mcp' 服务器的命令及其参数。这些配置信息通常以 JSON 格式提供给客户端。

关键参数包括:

  • '--key <您的 Databento API 密钥>':必需,用于认证 Databento API 请求。您也可以设置 'DATABENTO_API_KEY' 环境变量。
  • '--sse --port <端口号>':可选,配置服务器使用 SSE 协议并在指定的端口号上监听连接(例如 '--sse --port :8889')。如果省略此参数,服务器将默认使用 Stdio 协议进行通信。
  • '--max-cost <最大美元成本>':可选,设置单个数据查询请求的预估成本上限(例如 '--max-cost 1.0' 设置上限为 1 美元)。超过此成本的查询将被拒绝。设置为非正数表示无限制。
  • '--log-file <日志文件路径>':可选,将服务器日志输出到指定文件,而非标准错误输出。
  • '--log-json':可选,以 JSON 格式输出日志。
  • '--verbose':可选,开启详细日志输出。

MCP 客户端将使用配置的命令和参数来启动 'dbn-go-mcp' 进程并与其建立 MCP 连接。

基本使用方法

启动 'dbn-go-mcp' 服务器后,支持 MCP 的 LLM 客户端即可连接并与其交互。交互主要通过调用服务器暴露的 MCP 工具来实现:

  1. 查询数据成本 ('get_cost' 工具): LLM 可以调用 'get_cost' 工具,提供数据集、Schema、符号以及时间范围(ISO 8601 格式),服务器将返回该查询的预估成本、数据量和记录数。这有助于 LLM 判断查询的经济性。

  2. 获取数据范围 ('get_range' 工具): LLM 可以调用 'get_range' 工具,提供数据集、Schema、符号以及时间范围(ISO 8601 格式)。服务器将连接 Databento API 获取数据,并在验证成本不超过 '--max-cost' 限制后,将获取到的数据(通常是 JSON Lines 格式)作为工具结果返回给 LLM。

注意:直接或通过 LLM 调用这些工具会产生 Databento 计费,请谨慎使用并监控账户费用。

信息

分类

网页与API