Stdio MCP server for Bloomberg request/response workflows backed by xbbg-async.
This binary is intended for coding agents such as Claude Code and OpenCode that can launch a local MCP server process and call tools over stdio.
The current server exposes request/response tools only:
bdp - reference databdh - historical databds - bulk databdib - intraday barsbql - Bloomberg Query Languagebsrch - Bloomberg searchbflds - field metadata lookuprequest - generic raw/custom request pathResponses are returned as bounded structured JSON with Arrow schema metadata so an agent can inspect the shape without receiving an unbounded payload.
For macOS arm64 and Linux amd64, install the latest wrapper + binary pair with:
curl -fsSL https://raw.githubusercontent.com/alpha-xone/xbbg/main/scripts/install-xbbg-mcp.sh | sh
To install a specific release:
curl -fsSL https://raw.githubusercontent.com/alpha-xone/xbbg/main/scripts/install-xbbg-mcp.sh | sh -s -- 1.0.0
The installer places two files in ~/.local/bin/ by default:
xbbg-mcp - launcher wrapperxbbg-mcp-real - compiled binaryGitHub release assets include only the launcher wrapper and compiled xbbg binary. They do not include Bloomberg SDK files or the Bloomberg runtime; you must provide those locally.
The wrapper locates the Bloomberg runtime in this order:
XBBG_MCP_LIB_DIRBLPAPI_LIB_DIRBLPAPI_ROOTvendor/blpapi-sdk/blpapi packageIf you install Bloomberg’s Python package, the wrapper can usually run without any extra shell configuration:
pip install blpapi --index-url https://blpapi.bloomberg.com/repository/releases/python/simple/
Windows release assets are attached as .zip files, but the convenience installer currently targets macOS/Linux only.
bash ./scripts/sdktool.sh
cargo build --release -p xbbg-mcp --locked
./scripts/xbbg-mcp
claude mcp add --transport stdio xbbg -- ~/.local/bin/xbbg-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xbbg": {
"type": "local",
"command": ["/Users/you/.local/bin/xbbg-mcp"],
"enabled": true
}
}
}
xbbg-mcp accepts the same engine-oriented connection settings as the Rust core, with MCP-prefixed names taking precedence where available.
Common settings:
XBBG_MCP_HOST / XBBG_HOSTXBBG_MCP_PORT / XBBG_PORTXBBG_MCP_AUTH_METHOD / XBBG_AUTH_METHODXBBG_MCP_APP_NAMEXBBG_MCP_DIR_PROPERTYXBBG_MCP_USER_IDXBBG_MCP_IP_ADDRESSXBBG_MCP_TOKENXBBG_MCP_REQUEST_POOL_SIZEXBBG_MCP_MAX_ROWSXBBG_MCP_MAX_STRING_CHARSSupported auth methods:
noneuserappuserappdirmanualtokenAfter building locally, verify the stdio handshake and a few live requests with:
uv run python -X utf8 scripts/xbbg_mcp_smoke.py
That script expects a live Bloomberg connection and a locally built target/debug/xbbg-mcp binary, or target/release/xbbg-mcp if no debug build is present.