项目简介
BLPAPI-MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型 (LLM) 客户端提供彭博 (Bloomberg) 金融数据接口。它允许 LLM 通过标准化的 MCP 协议,安全、可扩展地访问彭博终端的实时和历史金融数据。请注意,使用此服务器需要本地运行彭博终端 (Bloomberg Terminal) 且 BBComm 能够被访问。
主要功能点
- 金融数据访问: 提供多种工具 (Tools) 用于查询彭博金融数据,包括:
- 'bdp': 获取参考数据
- 'bds': 获取块数据
- 'bdh': 获取历史数据
- 'bdib': 获取日内Bar数据
- 'bdtick': 获取Tick数据
- 'earning': 获取盈利数据
- 'dividend': 获取分红数据
- 'beqs': 获取股票筛选数据
- 'turnover': 计算调整后的成交量
- MCP 协议支持: 完全兼容 Model Context Protocol,可通过 JSON-RPC 协议与 MCP 客户端通信。
- 多种传输协议: 支持 SSE (Server-Sent Events) 和 Stdio (标准输入输出) 两种传输协议,方便不同场景下的部署和使用。
- 工具注册与执行: 注册了多个用于访问彭博数据的工具,允许 LLM 客户端调用这些工具获取所需数据。
安装步骤
- 安装 UV: 推荐使用 UV 包管理器进行安装和管理。
curl -LsSf https://astral.sh/uv/install.sh | sh - 添加 BLPAPI-MCP 仓库: 使用 UV 添加 BLPAPI-MCP 仓库。
uv add git+https://github.com/djsamseng/blpapi-mcp
服务器配置
MCP 客户端配置 (以 Cursor 为例):
MCP 客户端需要配置 MCP 服务器的连接信息才能正常使用。以下是针对 Cursor 编辑器的配置示例,你需要根据实际使用的客户端进行相应配置。
在你的项目目录或全局用户目录 ( '~/.cursor/mcp.json' ) 下创建 '.cursor/mcp.json' 文件,并填入以下内容。请根据实际情况修改 'url' 中的 'host' 和 'port',确保与 BLPAPI-MCP 服务器的运行地址一致。
{ "mcpServers": { "blpapi-mcp-server": { // 服务器名称,可以自定义 "url": "http://127.0.0.1:8000/sse" // BLPAPI-MCP 服务器的 SSE 地址 } } }
MCP 客户端配置 (以 Claude Code 为例):
使用 Claude Code,可以通过命令行添加 MCP 服务器连接。请将以下命令中的 'url' 替换为实际 BLPAPI-MCP 服务器的地址。
claud mcp add --transport sse blpapi-mcp http://127.0.0.1:8000/sse
BLPAPI-MCP 服务器启动命令:
BLPAPI-MCP 服务器可以通过 UV 运行,并支持 SSE 和 Stdio 两种传输协议。
-
SSE 模式 (推荐): 使用 SSE 模式,可以通过 HTTP 连接与客户端通信。
uv run blpapi-mcp --sse --host 127.0.0.1 --port 8000- '--sse': 启用 SSE 传输模式。
- '--host 127.0.0.1': 指定服务器监听的主机地址为 '127.0.0.1' (本地环回地址)。
- '--port 8000': 指定服务器监听的端口号为 '8000'。
-
Stdio 模式: 使用 Stdio 模式,服务器和客户端通过标准输入输出流通信。
uv run blpapi-mcp- 默认情况下,如果不加 '--sse' 参数,则使用 Stdio 模式。
基本使用方法
- 启动彭博终端: 确保本地彭博终端 (Bloomberg Terminal) 已经运行,并且 BBComm 可以被访问。
- 启动 BLPAPI-MCP 服务器: 根据需要选择 SSE 或 Stdio 模式启动 BLPAPI-MCP 服务器。
- 配置 MCP 客户端: 在 MCP 客户端 (如 Cursor, Claude Code, Aider 等) 中配置 BLPAPI-MCP 服务器的连接信息 (参考 "服务器配置" 部分)。
- 在 MCP 客户端中使用工具: 在 MCP 客户端中,即可调用 BLPAPI-MCP 服务器提供的工具,例如 'bdp', 'bdh' 等,来查询彭博金融数据。具体的工具参数和使用方法请参考代码示例和工具的描述信息。
示例 (调用 'bdp' 工具):
以下是一个调用 'bdp' 工具的示例,用于获取 AAPL 股票的名称和成交量加权平均价。
{ "tool_calls": [ { "id": "tool_call_1", "type": "function", "function": { "name": "bdp", "arguments": { "tickers": ["AAPL US Security"], "flds": ["Security_Name", "Eqy_Weighted_Avg_Px"], "kwargs": { "VWAP_Dt": "20181224" } } } } ] }
请注意,具体的工具调用方式和参数需要根据实际使用的 MCP 客户端和工具定义进行调整。
信息
分类
商业系统