项目简介
'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、日志输出、监听端口等。
安装步骤
- 安装 Go 语言: 确保您的系统已安装 Go 1.20 或更高版本。可以访问 Go 官方网站 获取安装包。
- 克隆仓库: 使用 Git 克隆 'dbn-go' 仓库到您的本地。
git clone https://github.com/NimbleMarkets/dbn-go.git cd dbn-go - 构建 MCP 服务器工具: 在仓库根目录下,使用 Go 命令构建 'dbn-go-mcp' 工具。
这将在当前目录下生成一个名为 'dbn-go-mcp'(或 'dbn-go-mcp.exe' 在 Windows 上)的可执行文件。go build ./cmd/dbn-go-mcp
服务器配置
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 工具来实现:
-
查询数据成本 ('get_cost' 工具): LLM 可以调用 'get_cost' 工具,提供数据集、Schema、符号以及时间范围(ISO 8601 格式),服务器将返回该查询的预估成本、数据量和记录数。这有助于 LLM 判断查询的经济性。
-
获取数据范围 ('get_range' 工具): LLM 可以调用 'get_range' 工具,提供数据集、Schema、符号以及时间范围(ISO 8601 格式)。服务器将连接 Databento API 获取数据,并在验证成本不超过 '--max-cost' 限制后,将获取到的数据(通常是 JSON Lines 格式)作为工具结果返回给 LLM。
注意:直接或通过 LLM 调用这些工具会产生 Databento 计费,请谨慎使用并监控账户费用。
信息
分类
网页与API