What you'll need
- Python 3.10–3.13
- No API keys for this tutorial (we'll use yfinance + FRED free tier)
- Claude Desktop — or any MCP-compatible client (Cursor, Windsurf, your own agent)
Step 1: Install
pip install openbb openbb-yfinance openbb-federal-reserve openbb-fmp openbb-mcp-server
openbb is the core platform. The provider extensions add data sources — yfinance and Federal Reserve for free data, FMP for richer equity and options coverage (more on that below). openbb-mcp-server wraps everything as an MCP server.
After installing, rebuild the static assets ODP uses to discover your extensions:
openbb-build
This runs once after any install or removal of extensions.
Step 2: Configure FMP (for equity and options data)
yfinance and Federal Reserve are free with no setup. FMP requires a free API key — get one at financialmodelingprep.com.
Once you have it, add it to ~/.openbb_platform/user_settings.json (create the file if it doesn't exist):
{
"credentials": {
"fmp_api_key": "YOUR_FMP_API_KEY"
}
}
Alternatively, set it as an environment variable:
export FMP_API_KEY=YOUR_FMP_API_KEY
Step 3: Verify the data layer
Before touching MCP, confirm data is working:
from openbb import obb
# Treasury yield curve via Federal Reserve
rates = obb.fixedincome.government.treasury_rates(provider="federal_reserve")
print(rates.to_df())
You should see a table of yield rates across maturities. The breadth is the point: equity, fixed income, macro, options, ETF flows, FRED, IMF — all one standardized interface.
Step 4: Start the MCP server
openbb-mcp
By default this starts on streamable-http transport at http://127.0.0.1:8001. Every ODP endpoint you have installed is immediately available as an MCP tool — no manual tool definitions required.
What about remote use? If you want to run the server on a VPS and have agents connect over the network, bind it to all interfaces:
openbb-mcp --host 0.0.0.0 --port 8080
Your agent then connects to http://your-server:8080/mcp/ instead of localhost. Useful when multiple agents share the same ODP server, or you want a persistent endpoint running independently of your local machine.
You can also restrict which data categories are exposed — handy when you want to keep the toolset focused:
openbb-mcp --default-categories equity,fixedincome,economy
Step 5: Connect your client
Claude Desktop
Add to your config file:
-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json -
Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"openbb-mcp": {
"command": "uvx",
"args": ["--from", "openbb-mcp-server", "--with", "openbb", "openbb-mcp", "--transport", "stdio"]
}
}
}
Needs uvx (pip install uv). Restart Claude Desktop — tools appear in the hammer panel.
Claude Code
Run the server first, then register it:
claude mcp add --transport http openbb-mcp http://localhost:8001/mcp/
Verify with /mcp inside Claude Code. To make it available across all your projects:
claude mcp add --transport http --scope user openbb-mcp http://localhost:8001/mcp/
Codex
Add to .mcp.json at your repo root:
{
"mcpServers": {
"openbb-mcp": {
"type": "http",
"url": "http://localhost:8001/mcp/"
}
}
}
Codex picks it up automatically on next launch.
Step 6: Ask it something that actually requires this
Here are prompts worth running:
Multi-asset macro question:
"Compare the 2-year and 10-year treasury yields over the last 6 months. Is the curve still inverted? What does the current spread look like?"
Sector rotation:
"Pull the last 30 days of price history for SPY, XLK, XLF, XLE, XLV, and XLI. Which sectors are outperforming the index and which are lagging?"
Commodity positioning:
"Get the latest CFTC Commitment of Traders report for gold. Are the commercials net short or net long? What does that historically signal?"
Cross-asset correlation:
"Get gold spot prices and the DXY (USD index) for the last year. Do they move inversely the way they're supposed to?"
Claude will call the relevant OpenBB MCP tools, fetch real data, and reason over it — not hallucinate numbers, not give you stale training data, but pull from live market sources at the time you ask.
That's the difference. Not "what's Apple's price" — anyone can Google that. It's "help me think through this using real data across multiple sources at once."
Where to go from here
Add more providers. yfinance is just the start. ODP has extensions for Alpha Vantage, Polygon, FRED, the Bureau of Labor Statistics, IMF, and more. Install any of them and they're immediately exposed through the same MCP server — no code changes.
Wire in your own data. ODP's extension system lets you wrap any internal API or proprietary dataset as a provider. If your data can be described as three methods — transform query, fetch data, transform response — it becomes an MCP-accessible tool in one pip install.
Deploy for your agents. Run openbb-mcp --host 0.0.0.0 on a server, point your autonomous agents at http://your-server:8001/mcp/, and they have a persistent, queryable financial data layer available on demand — without you babysitting a local process.
The takeaway
The real value of MCP isn't "I can ask Claude what Tesla closed at." It's giving AI agents structured, real-time access to financial data complex enough that the answer actually requires reasoning — across instruments, timeframes, and data sources at once.
ODP is the cleanest path to that. Install, build, run. Everything else follows.
At FonnIT we build production tools with exactly this kind of stack. If you're thinking about what a custom financial data pipeline or AI research tool could look like for your team — let's talk.




