Bloomberg MCP Gateway
Production-grade MCP gateway that provides controlled access to the Bloomberg Desktop API on a Windows terminal via Tailscale, with policy, quotas, and audit safety.
README
Bloomberg MCP Gateway
Production-grade MCP gateway that gives a Linux-hosted agent (Hermes) controlled
access to the Bloomberg Desktop API (blpapi) on a Windows Bloomberg Terminal
workstation, over a private Tailscale network.
- Protocol: stateless MCP Streamable HTTP, revision
2026-07-28 - Transport: HTTPS via Tailscale Serve ->
http://127.0.0.1:8765 - Bloomberg: Desktop API only, local
127.0.0.1:8194(BBComm never exposed) - Auth: private static bearer tokens mapped to server-owned principals
- Safety: policy, cost/quota budgets, principal-bound handles, audit trail, entitlement circuit breaker, bounded result storage
- CI: deterministic fake backend allows development and testing without a Bloomberg Terminal
See SPEC.md for the full design specification.
Layout
src/bloomberg_mcp/ gateway implementation (native blpapi confined to blp/)
config/ default configuration and policy examples
scripts/ PowerShell deployment and operations scripts
tests/ unit, property and contract tests (fake backend)
docs/ architecture, deployment, security and operations docs
Development setup (Windows)
Requires Python 3.12 and uv. All work happens in a
project-local virtual environment (.venv); global Python environments are never
touched.
# 1. Create the isolated virtual environment
uv venv
# 2. Install the gateway with dev tooling (blpapi is fetched from the
# Bloomberg package index automatically, see pyproject.toml)
uv sync --extra dev
# 3. Run the test suite against the deterministic fake backend
uv run pytest
# 4. Lint and type-check
uv run ruff check src tests
uv run mypy
Without uv, the equivalent plain-Python flow is:
python -m venv .venv
.venv\Scripts\python -m pip install -e ".[dev]" `
--extra-index-url https://blpapi.bloomberg.com/repository/releases/python/simple/
Running the gateway
# Fake backend (no Bloomberg Terminal required)
uv run bloomberg-mcp --backend fake
# Native backend (Bloomberg Terminal must be running and logged on)
uv run bloomberg-mcp --config config/default.yaml --policy config/policy.example.yaml
The gateway binds 127.0.0.1:8765 by default and refuses to start twice
(Windows named mutex). Configure Tailscale Serve separately
(scripts/configure-tailscale.ps1) to terminate tailnet-only HTTPS.
Milestone status
| Milestone | Scope | Status |
|---|---|---|
| 0 | Environment probe + compatibility lock | See compatibility.lock.yaml |
| 1 | Core generic gateway (fake + native adapter) | Implemented |
| 2 | Production lifecycle (reconnect, quotas, storage, audit) | Implemented |
| 3 | Subscriptions | Implemented |
| 4 | Curated tools + normalizers | Implemented |
Bloomberg-side verification items (Terminal connectivity, entitlements,
operation limits) require an actual logged-on Terminal; see
docs/deployment.md and scripts/environment-probe.ps1.
Security notes
- Never expose port 8765 or BBComm port 8194 beyond localhost.
- Bearer tokens must have >= 256 bits of entropy; rotate with a bounded overlap.
- Policy limits do not replace Bloomberg contractual or entitlement limits.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。