- Home
- MCP servers
- Bloomberg
Bloomberg
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
This Bloomberg MCP Server lets you access Bloomberg market data through a FastMCP interface. It supports local stdio communication for fast, low-latency use and HTTP/SSE networking for remote access, making it convenient to power both desktop integrations and web-based clients with Bloomberg reference and historical data.
How to use
Use the server from your MCP client to fetch market data and run common data queries. You can run the server locally for fast access or expose it over HTTP/SSE for a web UI or custom clients.
Core operations you can perform include searching securities, discovering available fields, and retrieving current, historical, or bulk data. Typical workflows involve querying a security, selecting the fields you need, and then requesting either current values or historical series. You can also retrieve composition data for indices.
Practical usage patterns include:
-
Search for securities by company name or ticker to identify the exact instrument name like AAPL US Equity.
-
Retrieve current reference data by specifying the security and the fields you want (for example, last price and volume).
-
Fetch historical data over a date range for selected fields to analyze trends.
-
Obtain index membership or bulk data to examine constituents of a benchmark.
If you build a custom client, you can issue calls like get_reference_data, get_historical_data, or get_bulk_data to the server endpoint at /mcp, returning structured results for your application.
How to install
Prerequisites: you must have a Bloomberg Terminal with Desktop API access and Python 3.8 or newer.
- Install dependencies
pip install -r requirements.txt
```}
-
Start Bloomberg Terminal and ensure the API is available.
-
Run the server in stdio mode for local use (recommended for desktop workflows)
python server.py
```}
- Or start the HTTP/SSE server for web UI or remote clients
python server_http.py --host 0.0.0.0 --port 8080
Additional sections
Server configuration and access methods are described below. You can choose a local stdio setup or expose an HTTP endpoint for web-based clients.
Configuring your Claude Desktop or client is straightforward. For stdio usage, you provide the Python command and the path to the server script, with an optional PYTHONPATH to your project location.
For HTTP access, you connect to the endpoint exposed by the HTTP server (default port 8080) and use the /mcp endpoint for MCP calls.
Troubleshooting tips include verifying Bloomberg Terminal status, ensuring the API is reachable, and checking for port conflicts if you run both stdio and HTTP servers.
Common usage examples you can perform from a custom client include: searching securities, searching fields, getting reference data, obtaining historical data, and retrieving index member data.
If you need a practical HTTP client example, you can issue a POST to http://localhost:8080/mcp with the appropriate method name and arguments to call get_reference_data or other supported tools.
Notes and examples
Field names you will frequently use include PX_LAST for the last price, PX_VOLUME for volume, and SECURITY_NAME for the instrument name. For index constituents, INDX_MEMBERS is commonly used.
Example instrument formats you may pass to the server include AAPL US Equity, SPX Index, T 4.75 05/15/25 Govt, USDJPY Curncy, and CL1 Comdty.
If you want to connect from a client, you can call the server endpoints directly from your code, for example by making a POST request to the /mcp endpoint with the desired tool name and arguments.
Available tools
search_securities
Search securities by company name, ticker, or other criteria to obtain candidate instruments.
search_fields
Query the available Bloomberg fields to know which data you can request.
get_reference_data
Obtain current market data for a given security and set of fields (BDP-like functionality).
get_historical_data
Fetch historical data series for specified fields over a date range (BDH-like functionality).
get_bulk_data
Retrieve bulk data such as index members or large collections of fields (BDS-like functionality).