Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

xbbg MCP

by underloamversion 1.8.1i★ –iRuns on your computer
Registry nameio.github.underloam/xbbg-mcp

Install

Overview

Description from the maker (original English)

Local Bloomberg tools for xbbg users.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: XBBG_MCP_LIB_DIR, XBBG_MCP_HOST, XBBG_MCP_PORT, XBBG_MCP_AUTH_METHOD, XBBG_MCP_MAX_ROWS, XBBG_MCP_MAX_CELLS, XBBG_MCP_MAX_METADATA_PROPERTIES, XBBG_MCP_MAX_METADATA_BYTES, XBBG_MCP_MAX_STRING_CHARS, XBBG_MCP_MAX_STRING_BYTES, XBBG_MCP_MAX_RESULT_BYTES

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Download the maker’s .mcpb file

The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.

Run this in your terminal

Fill in the empty values before running it.

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • XBBG_MCP_LIB_DIR env
    Optional directory containing Bloomberg runtime libraries. Leave unset to use BLPAPI_ROOT, an authorized vendored SDK layout, or Python blpapi fallback.
  • XBBG_MCP_HOST env
    Bloomberg API host. Defaults to localhost.
  • XBBG_MCP_PORT env
    Bloomberg API port. Defaults to 8194.
  • XBBG_MCP_AUTH_METHOD env
    Bloomberg auth method: none, user, app, userapp, dir, manual, or token.
  • XBBG_MCP_MAX_ROWS env
    Maximum rows returned to the MCP client per response. Defaults to 500.
  • XBBG_MCP_MAX_CELLS env
    Maximum data cells across returned rows and columns. Defaults to 50000.
  • XBBG_MCP_MAX_METADATA_PROPERTIES env
    Maximum metadata properties retained per response. Defaults to 50000.
  • XBBG_MCP_MAX_METADATA_BYTES env
    Maximum metadata bytes parsed or returned per response. Defaults to 65536.
  • XBBG_MCP_MAX_STRING_CHARS env
    Maximum characters per string value returned to the MCP client. Defaults to 2048.
  • XBBG_MCP_MAX_STRING_BYTES env
    Maximum UTF-8 bytes per string value, including a truncation marker. Defaults to 8192; minimum 3.
  • XBBG_MCP_MAX_RESULT_BYTES env
    Maximum compact-JSON bytes in the structured result, including diagnostics. Defaults to 1048576; minimum 2048.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account underloam, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18354 servers in this category
  • Published to the registry more recently than 93% of the other 18354 servers in this category
  • Basic checks equal to or better than 100% of the other 18354 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is xbbg MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.8.1) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Qemu MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Qemu MCP

by 0xmortuex

Boot and drive QEMU VMs from an AI agent: keys, screenshots, serial. No guest agent.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

xbbg-mcp

Last updated: 2026-10-20.

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.

What it exposes

The current server exposes request/response tools only:

  • bdp - reference data
  • bdh - historical data
  • bds - bulk data
  • bdib - intraday bars
  • bql - Bloomberg Query Language
  • bsrch - Bloomberg search
  • bflds - field metadata lookup
  • resolve_venues - resolve composite equity and preferred inputs to validated auction venues
  • auction_snapshot - primary-venue auction and imbalance reference data
  • check_entitlements - entitlement-ID check for a Bloomberg service
  • delay_status - per-ticker delayed/real-time status for this session, with an optional feed-EID entitlement check
  • request - generic raw/custom request path

Responses are returned as bounded structured JSON with Arrow schema metadata so an agent can inspect the shape without receiving an unbounded payload. Limits cover rows, cells, strings, metadata inspection/retention, and the final serialized payload; a row limit alone is not the output bound.

Auction venues and snapshots

resolve_venues routes composite equity tickers or ISINs to their primary exchange listing and preferreds to venue pricing sources. Explicit exchange listings are respected. The recipe keeps one row per input, including duplicates and input order, with status (resolved, unresolved, unsupported, or mismatch) and error. The result also includes the lookup, security kind, equity composite ticker, venue topic, venue FIGI, routing method, exchange, MIC, and pricing source. Original input strings are retained in security; lookups are trimmed, and bare valid ISINs become /isin/ .

{

"securities": ["IBM US Equity", "AAPL US Equity"], "pcs_overrides": {"NEW YORK": "SNY2"} }

pcs_overrides is optional on both tools. Its keys are preferred exchange names, trimmed, uppercased, and collapsed to single internal spaces; values are trimmed and uppercased pricing-source codes. Overrides take precedence over the built-in mapping; a blank or missing-value code such as N.A. disables the mapping for that exchange. Conflicting spellings of the same normalized exchange key are rejected. Every route is validated before it can be reported as resolved; an unknown preferred exchange needs a pcs_overrides entry.

auction_snapshot first resolves the venue, then reads the requested fields using Bloomberg reference data on that venue. Failed or mismatched inputs retain their status/error row with null data fields. Results contain input_order, security, venue_topic, status, error, then the selected typed fields.

{

"securities": ["IBM US Equity", "AAPL US Equity"], "groups": ["imbalance", "quotes"], "fields": ["IN_AUCTION_RT"] }

The optional groups list accepts imbalance, indicative, state, halts, results, composite, quotes, and default (trimmed, case-insensitive). Groups expand in the supplied order, followed by the explicit fields in their supplied order; field names are trimmed and uppercased and duplicates are removed, keeping their first occurrence. Unknown groups are invalid parameters. If the combined selection is empty, the default auction group is used: imbalance, indicative, state, halts, and results, in that order. Explicit fields or groups replace that implicit default; include default in groups to extend it.

Both tools require at least one nonblank security (there is no count limit; results are bounded by the output limits) and accept at most 128 pricing-source overrides. auction_snapshot accepts up to eight group entries, 256 explicit fields, and 256 unique fields after expansion. Every input string, including override keys and values, is limited to 1,024 UTF-8 bytes; blank securities, fields, group names, or override keys are rejected rather than silently dropped. Blank override values are allowed to disable a mapping.

Timing and delayedness: time-of-day fields are terminal-local, not exchange-local. Bloomberg can serve delayed values without marking them in the rows. The delayed flag for this session is available from delay_status, from on_delayed on bdp, bdh, bdib, and request, or by requesting IS_DELAYED_STREAM and EXCHANGE_DELAY with bdp; see Delayed data.

Temporal cells use the existing Arrow JSON string conventions: Date32 is YYYY-MM-DD, and Time64 is HH:MM:SS[.fraction] without an invented date or timezone. Timestamps include both date and time; UTC ends in Z, other declared timezones include their offset, and timestamps without a timezone have no suffix. Fractional seconds are preserved without rounding, including the microseconds in auction snapshots. Null cells remain JSON null. The same serialization applies to typed request columns such as value_time and value_ts; the Arrow schema retains the original temporal type, unit, and timezone.

Both tools use the same bounded JSON envelope with Arrow schema metadata as bdp. Result limits can omit rows or fields; always inspect the truncation flags and counts before treating the returned rows as the complete input set.

Entitlement IDs

Set return_eids: true only on routes backed by Bloomberg operations that support returnEids:

MCP routeBloomberg operationEID option
bdp, bdsReferenceDataRequest (including BDS/bulk)return_eids: true
bdhHistoricalDataRequestreturn_eids: true
bdibIntradayBarRequestreturn_eids: true
requestIntradayTickRequestreturn_eids: true

The dedicated bdp, bds, bdh, and bdib tools advertise return_eids directly. Use the generic request tool for intraday ticks:

{

"service": "//blp/refdata", "operation": "IntradayTickRequest", "extractor": "intraday_tick", "security": "AAPL US Equity", "start_datetime": "2024-01-15T09:30:00", "end_datetime": "2024-01-15T10:00:00", "event_types": ["TRADE"], "return_eids": true }

When retained within the metadata and output budgets, results expose the EID map as structured JSON at metadata["xbbg.eid_data"], alongside schema, row_count, returned_rows, truncated, and rows. truncated is an object of flags, not a single boolean. Consult metadata_counts["xbbg.eid_data"] when present for total/returned EID and security counts, valid, and counts_complete; an unknown total is null, not zero. truncation_counts.omitted_priority_metadata identifies priority metadata that could not be retained. Pass the collected IDs to the read-only check_entitlements tool; service defaults to //blp/refdata:

{ "eids": [101, 202], "service": "//blp/refdata" }

The check result includes service, eids, entitled, and failed_eids, plus total, returned, and omitted counts for both ID lists and per-component truncated flags. Failed IDs receive the shared cell/byte allowance before the echoed input IDs. A shortened list must not be interpreted as the full entitlement result.

Delayed data

Bloomberg serves delayed data without marking the rows: a delayed bdp snapshot, a delayed "today" row from bdh, and intraday bars or ticks that stop at the current time minus the delay. IS_DELAYED_STREAM is the delayed flag for the requesting session. EXCHANGE_DELAY is the exchange's standard delay as text, such as 15 Minutes, and is set for real-time securities too.

delay_status reads both fields, EXCH_CODE, and the feed EIDs in one reference-data request and returns one row per unique ticker, in input order:

{ "tickers": ["VOD LN Equity", "AAPL US Equity"], "check_identity": false }
ColumnMeaning
tickerRequested security
delayedThis session receives delayed data (IS_DELAYED_STREAM); null when unknown
delay_minutesMinutes behind real time, parsed from EXCHANGE_DELAY; null when real-time or unknown
exchange_delayRaw EXCHANGE_DELAY text
exch_codeEXCH_CODE
realtime_eid1 to realtime_eid4Real-time feed EIDs FEED_EID1 to FEED_EID4; null when Bloomberg returns none
delayed_eidDelayed-feed EID FEED_DELAYED_EID1; null when none
realtime_entitledThe session identity is entitled to every real-time feed EID; null unless check_identity is set and the ticker has at least one
delayed_entitledThe session identity is entitled to delayed_eid; null unless check_identity is set and the EID exists
errorBloomberg security error message, else null

check_identity defaults to false, which works on any Desktop Terminal. Setting it to true also runs one entitlement check of all returned feed EIDs against //blp/mktdata and maps the failures back to each ticker. That needs an authorized identity: SAPI/B-PIPE authorization configured through XBBG_MCP_AUTH_METHOD (see Runtime environment), or a Desktop API user enrolled in EMRS. Otherwise the call fails.

on_delayed runs the same check alongside a data request on bdp, bdh, bdib, and the generic request tool (ReferenceDataRequest, HistoricalDataRequest, IntradayBarRequest, or IntradayTickRequest). bds does not offer it, and the generic request tool rejects it as an invalid parameter for any other operation, including BDS/bulk.

  • bdp adds whichever of IS_DELAYED_STREAM and EXCHANGE_DELAY you did not request to the same request; the added fields are not returned as rows.
  • bdh, bdib, and intraday-tick requests send one extra small reference-data request, only when the window reaches the last 24 hours: end_date on or after yesterday (UTC), or end_datetime no earlier than 24 hours ago. Older windows skip the check and add no metadata.
on_delayedResult
omittedNo check
warnData plus metadata["xbbg.delayed"]
ignoreData plus metadata["xbbg.delayed"]
raiseThe call fails with an error containing Bloomberg is delivering delayed data; on_delayed=raise and the delayed tickers

MCP results have no warnings channel, so warn and ignore behave the same here: inspect the metadata. It is keyed by ticker; tickers whose flag Bloomberg did not return (an invalid security, or a field that does not apply) are absent:

{

"VOD LN Equity": { "delayed": true, "delay_minutes": 15 }, "AAPL US Equity": { "delayed": false, "delay_minutes": null } }

xbbg.delayed is priority metadata: metadata_counts["xbbg.delayed"] reports returned and omitted properties, and truncation_counts.omitted_priority_metadata lists it if it could not be retained.

Install from GitHub Releases

For macOS arm64 and Linux amd64, install the latest wrapper + binary pair with:

curl -fsSL https://raw.githubusercontent.com/underloam/xbbg/main/scripts/install-xbbg-mcp.sh | sh

To install a specific release:

curl -fsSL https://raw.githubusercontent.com/underloam/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 wrapper
  • xbbg-mcp-real - compiled binary

GitHub 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 from a source you are authorized to use under your Bloomberg agreements and entitlements.

GitHub Release tar/zip assets remain the raw binary channel. The MCPB asset is the directory and one-click local connector channel for MCPB-aware clients and registries.

The wrapper locates the Bloomberg runtime in this order:

  1. XBBG_MCP_LIB_DIR
  2. BLPAPI_LIB_DIR
  3. BLPAPI_ROOT
  4. locally stage

Only the beginning is shown; read the rest in the repo

Ask PopNx