Deprecated. Deprecated by the publisher: Upgrade to 0.3.1+ for updated tool descriptions and correct env var (BULLRUNDATA_API_KEY, was incorrectly FRED_API_KEY in old examples).
Recession probability, capital rotation scoring, and economic data API
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @bullrundata/market-intelligence
MCP client config
{
"mcpServers": {
"market-intelligence": {
"command": "npx",
"args": [
"-y",
"@bullrundata/market-intelligence"
]
}
}
}Recession probability, sector rotation, institutional positioning, macro cascade scenario analysis, real estate calculators, and real-time economic data — for Claude, ChatGPT, Cursor, and any MCP client.
Powered by the BullrunData API.
The hosted endpoint at https://bullrundata.com/api/mcp is the fastest path. No install, auto-updates, and every MCP client below supports it natively.
Get a free API key at bullrundata.com — 100 calls/day, no credit card.
claude mcp add --transport http bullrundata https://bullrundata.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"
Add to ~/.cursor/mcp.json (or the project-local .cursor/mcp.json):
{
"mcpServers": {
"bullrundata": {
"url": "https://bullrundata.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Add to .vscode/mcp.json (workspace) or your user mcp.json:
{
"servers": {
"bullrundata": {
"type": "http",
"url": "https://bullrundata.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bullrundata": {
"serverUrl": "https://bullrundata.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Desktop doesn't speak HTTP MCP natively yet — bridge via mcp-remote. Add to claude_desktop_config.json:
{
"mcpServers": {
"bullrundata": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://bullrundata.com/api/mcp",
"--header",
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
You can also skip the header entirely — on first connect, mcp-remote opens an OAuth flow in your browser and auto-provisions a free-tier key.
If you'd rather run the server locally (e.g. air-gapped environments, custom auth), install via npm:
Claude Desktop:
{
"mcpServers": {
"market-intelligence": {
"command": "npx",
"args": ["-y", "@bullrundata/market-intelligence"],
"env": {
"BULLRUNDATA_API_KEY": "your-api-key"
}
}
}
}
Claude Code:
claude mcp add market-intelligence -- npx -y @bullrundata/market-intelligence
Set BULLRUNDATA_API_KEY in the environment where the command runs.
| Tool | Description |
|---|---|
dashboard_summary | One-call macro snapshot — recession probability, market regime, Fed stance, and key indicators |
recession_probability | Proprietary recession probability model with confirmation layer |
recession_indicators | Curated key metrics block from the dashboard summary |
fed_stance | Current Fed monetary policy stance and Fed funds rate |
market_regime | Market cycle phase (early / mid / late_cycle / recession) |
confirmation_status | Coincident-indicator confirmation slice for the recession model |
| Tool | Description |
|---|---|
sectors_rotation | Risk-on/risk-off signal from S&P sector performance (cyclical vs defensive) with leaders/laggards |
sectors_flows | Per-sector accumulation and distribution signals |
institutional_cftc | Aggregate institutional futures positioning across major contracts |
cftc_contracts_list | List available contracts for use with cftc_positioning_detail |
cftc_positioning_detail | Per-contract smart-money breakdown with week-over-week change |
institutional_tic | Treasury International Capital flows — net foreign Treasury demand |
| Tool | Description |
|---|---|
investment_property_analysis | Rental property analysis: cap rate, DSCR, cash flow, 1% rule |
brrrr_analysis | BRRRR deal scoring (0-100) with 70% rule and full breakdown |
| Tool | Description |
|---|---|
economic_indicator | Time series for any tracked indicator (VIXCLS, UNRATE, CPIAUCSL, T10Y2Y, etc.) |
list_indicators | List all tracked indicators, optionally filtered by category |
interest_rates | Fed Policy + Interest Rates categories |
inflation_data | All Inflation-category indicators |
employment_data | Labor Market category (unemployment, payrolls, claims, JOLTS) |
housing_data | Housing category (mortgage rates, starts, permits, prices) |
yield_curve | 10Y-2Y and 10Y-3M spreads with inversion check |
market_sentiment | Markets + Financial Conditions + Consumer Sentiment |
| Tool | Description |
|---|---|
cascade_list | List all macro catalyst scenarios |
cascade_analysis | Full chain reaction for a catalyst with live data enrichment |
cascade_search | Search catalysts by keyword (e.g., "oil", "dollar", "china") |
cascade_by_category | Filter by category: geopolitical, monetary, credit, commodity, currency, structural |
Available Catalysts: Oil Supply Shock, Dollar Liquidity Squeeze, Fed Emergency Rate Cut, US Recession, China-Taiwan Escalation, Yield Curve Inversion, Credit Market Freeze, EM Currency Crisis, Trade War Escalation, Sovereign Debt Crisis
Claude uses recession_probability and returns:
Current recession probability is 37.9% (moderate risk). Fed stance: neutral. Market regime: mid-cycle. Recommendation: Mixed signals require caution. Begin defensive rotation.
Claude uses investment_property_analysis + interest_rates:
At $450K with 20% down at 7%, monthly cash flow is $287. Cap rate: 5.3%. Cash-on-cash: 4.2%. DSCR: 1.18 (healthy). Current 30Y mortgage rate: 6.38%.
Claude uses sectors_rotation + institutional_cftc:
Sector rotation signal: RISK_ON. Cyclical sectors leading, defensive lagging. Institutional positioning aligned risk-seeking. Playbook: stay overweight cyclicals, watch for rotation breakdown.
Claude uses cascade_analysis + sectors_rotation:
Oil Supply Shock cascade: Dollar demand surges (mechanical) -> Asian FX reserves drain (likely, weeks) -> Asian equity outflows (likely) -> Forced rate hikes in Asia (probable, months). Current sector rotation: RISK_ON, but energy sector lagging suggests market hasn't priced supply risk yet. Playbook: inflation hedges and cash reserves. Watch Fed swap line usage for systemic signal.
For the hosted endpoint, authentication is passed as a Bearer header in your client config (see Quick Start above) or negotiated via OAuth on first connect — no environment variables needed.
For the local npx install:
| Environment Variable | Required | Description |
|---|---|---|
BULLRUNDATA_API_KEY | Yes | Your API key from bullrundata.com |
| Tier | Calls/Day | Price |
|---|---|---|
| Free | 100 | $0 |
| Pro | 10,000 | $29/mo |
| Business | 100,000 | $99/mo |
market-intelligence. In Claude Code, run claude mcp list.BULLRUNDATA_API_KEY env var is set and valid. Without it, tools fail at first call.https://market.bullrundata.com/mcp) directly, complete the OAuth flow in your browser when prompted — Claude needs the bearer token before it can call tools.401 Unauthorized from a toolYour API key is missing, expired, or inactive. Get a fresh one at bullrundata.com/login. For the remote server flow, re-authenticate via the OAuth screen; the connector auto-provisions a free-tier key on first connect.
429 Too Many RequestsYou hit your daily rate limit. Limits reset at 00:00 UTC.
| Tier | Limit |
|---|---|
| Free | 100 requests/day |
| Pro | 10,000 requests/day |
| Business | 100,000 requests/day |
Upgrade at bullrundata.com/pricing or wait for the UTC reset.
The remote server uses GitHub OAuth. If the redirect hangs:
market.bullrundata.com and claude.aihttps://market.bullrundata.com/.well-known/oauth-authorization-server returns 200 in your browserCold-start latency on the serverless deploy. Subsequent requests in the same session should respond in <500ms.
cascade_analysis returns "live data unavailable"The cascade tool optionally enriches with live BullrunData market data. If the upstream API is briefly unreachable, you'll still get the full catalyst tree — only the live overlay is skipped. Pass include_live_data: false to skip the live fetch entirely.
Economic indicators refresh multiple times daily. Check data_freshness in dashboard_summary for the last refresh timestamp.
Open an issue at GitHub Issues or email support@bullrundata.com with: tool name, full error message, and approximate timestamp.
Elastic License 2.0 — see LICENSE.
You may use, modify, and redistribute this software. You may not offer it as a hosted or managed service that provides users with access to a substantial set of the features or functionality of the software.