Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Local Bloomberg tools for xbbg users.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
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你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
运行前请先填写空着的值。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
XBBG_MCP_LIB_DIR envXBBG_MCP_HOST envXBBG_MCP_PORT envXBBG_MCP_AUTH_METHOD envXBBG_MCP_MAX_ROWS envXBBG_MCP_MAX_CELLS envXBBG_MCP_MAX_METADATA_PROPERTIES envXBBG_MCP_MAX_METADATA_BYTES envXBBG_MCP_MAX_STRING_CHARS envXBBG_MCP_MAX_STRING_BYTES envXBBG_MCP_MAX_RESULT_BYTES env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 underloam 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.8.1)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Funooy Krillion Reference
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Funooy trivia references in six languages, with rules and fixed scoring. No daily spoilers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
The current server exposes request/response tools only:
bdp - reference databdh - historical databds - bulk databdib - intraday barsbql - Bloomberg Query Languagebsrch - Bloomberg searchbflds - field metadata lookupresolve_venues - resolve composite equity and preferred inputs to validated auction venuesauction_snapshot - primary-venue auction and imbalance reference datacheck_entitlements - entitlement-ID check for a Bloomberg servicedelay_status - per-ticker delayed/real-time status for this session, with an optional feed-EID entitlement checkrequest - 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. Limits cover rows, cells, strings, metadata inspection/retention, and the final serialized payload; a row limit alone is not the output bound.
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.
Set return_eids: true only on routes backed by Bloomberg operations that support returnEids:
| MCP route | Bloomberg operation | EID option |
|---|---|---|
bdp, bds | ReferenceDataRequest (including BDS/bulk) | return_eids: true |
bdh | HistoricalDataRequest | return_eids: true |
bdib | IntradayBarRequest | return_eids: true |
request | IntradayTickRequest | return_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.
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 }
| Column | Meaning |
|---|---|
ticker | Requested security |
delayed | This session receives delayed data (IS_DELAYED_STREAM); null when unknown |
delay_minutes | Minutes behind real time, parsed from EXCHANGE_DELAY; null when real-time or unknown |
exchange_delay | Raw EXCHANGE_DELAY text |
exch_code | EXCH_CODE |
realtime_eid1 to realtime_eid4 | Real-time feed EIDs FEED_EID1 to FEED_EID4; null when Bloomberg returns none |
delayed_eid | Delayed-feed EID FEED_DELAYED_EID1; null when none |
realtime_entitled | The session identity is entitled to every real-time feed EID; null unless check_identity is set and the ticker has at least one |
delayed_entitled | The session identity is entitled to delayed_eid; null unless check_identity is set and the EID exists |
error | Bloomberg 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_delayed | Result |
|---|---|
| omitted | No check |
warn | Data plus metadata["xbbg.delayed"] |
ignore | Data plus metadata["xbbg.delayed"] |
raise | The 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.
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 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 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:
XBBG_MCP_LIB_DIRBLPAPI_LIB_DIRBLPAPI_ROOT只显示了开头部分;其余内容请在仓库中阅读