Bullrun MCP
MCP serverAI & modelsBullrun lets your AI research stocks from markets worldwide, get machine-learning forecasts, and track your portfolio in one conversation. It brings together stock research, valuation signals, and screeners so you can go from a question about a company to a fuller picture without switching tools.
Use Bullrun MCP in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Bullrun MCP and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Bullrun MCP to screen stocks
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
After adding Bullrun, ask your AI to research a stock you follow or run a screener to surface new ideas. You can also start tracking your portfolio to keep your holdings and research in one place.
What your AI can do with it
- Research stocks from markets around the world
- Get machine-learning forecasts for stocks
- Check valuation signals on companies you are researching
- Screen the market for stocks that match your criteria
- Track your portfolio alongside your research
Install Bullrun MCP
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user bullrun-mcp 'https://mcp.bull-run.org/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.bull-run.org/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=bullrun-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5idWxsLXJ1bi5vcmcvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.bull-run.org/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add bullrun-mcp --url 'https://mcp.bull-run.org/mcp'Run it once, then sign in with codex mcp login bullrun-mcp if the server asks for an account.
From the project's README
As published by ferinator/bullrun-mcp in README.md.
A hosted remote MCP server that turns Claude (and other MCP clients) into a research analyst over global stocks, ETFs, company risk, the global macro backdrop and your own portfolios, with Bullrun's own machine-learning valuation model built in.
| Endpoint | https://mcp.bull-run.org/mcp — Streamable HTTP, OAuth 2.1 + PKCE |
| Web app | https://bull-run.org |
| Official MCP Registry | org.bull-run/bullrun |
| Glama connector | https://glama.ai/mcp/connectors/org.bull-run/bullrun |
| Privacy policy | https://bull-run.org/privacy |
Bullrun is primarily a hosted service — there is nothing to install and no API key to manage for normal use. You point your MCP client at the remote endpoint and sign in with Google. This repository holds the connector's public metadata (
server.json), connection docs, and a local stdio build of the MCP layer for directory/security checks. The Bullrun application and data services remain maintained separately.
Connect
Claude (web, Desktop, mobile) — requires a paid Claude plan:
- Settings → Connectors → Add custom connector
- Name it
Bullrun, pastehttps://mcp.bull-run.org/mcp, and add it. - Click Connect and complete the Google sign-in / authorize step.
Claude Code:
claude mcp add --transport http bullrun https://mcp.bull-run.org/mcp
Full setup for Cursor, VS Code, and the MCP Inspector is in docs/mcp-connect.md.
What you can do once connected
Public market-data tools work for any connected client. The portfolio tools resolve your own Bullrun account after Google sign-in; the two draft tools require a Bullrun Pro account.
Stocks
| Tool | What it does |
|---|---|
screen_stocks | Screen the global universe by sector / industry / country / market cap; sort by P/E, dividend yield, revenue or revenue growth. |
get_stock_metrics | Consolidated snapshot for one ticker — identity (ISIN/LEI/CIK), latest price, valuation, most recent financials, description. |
get_financial_history | 1–15 fiscal years of annual/quarterly statements, per-share metrics, margins, CAGRs and consistency checks. |
get_quality_moat_metrics | ROIC, ROIC-vs-WACC spread, ROE/ROA, accruals, cash conversion, capex intensity, dividend payout/growth, buyback proxy. |
get_forward_estimates | Consensus revenue / EPS / EBITDA, guidance, estimate revisions, and derived forward P/E & PEG context. |
get_operating_kpis | Domain KPIs — ARR, net revenue retention, RPO, billings, customer counts, payment & cross-border volume. |
get_revenue_breakdown | Segment, geography, product or customer revenue splits. |
get_earnings_call_transcript | Speaker-tagged earnings-call transcript chunks, fiscal-period filters and text search. |
Bullrun valuation model
Bullrun's own LightGBM models, rescored every night across the global stock universe. The valuation model predicts the P/E (or price/sales, for companies without earnings) that businesses with similar fundamentals typically trade at a year out; the gap is that model-typical multiple over the current one, minus one. The forecast model is a relative 1-year return-rank signal. Both run on quarterly and on annual financials, so most non-US companies are covered too.
| Tool | What it does |
|---|---|
get_valuation_model | For 1-10 tickers: valuation gap, implied model-typical P/E vs current P/E, percentile and rank in the scored universe, and the forecast signal, with data-quality and financials-through date. |
screen_valuation_model | Rank the universe (market cap ≥ $100M) from either end: furthest below or above the typical multiple, or strongest/weakest forecast, filtered by sector, country and exchange. |
The valuation gap describes how a stock is priced next to fundamentally similar companies. In walk-forward tests it has not predicted forward returns, and the tools say so in every response: it is context for a decision, not a price target.
Company risk and relationships
| Tool | What it does |
|---|---|
get_company_risk | A 0-100 composite risk score and six mechanism dials (market expectation, operating pressure, cash conversion, leverage & coverage, competitive position, concentration), each with band, direction, driving input and explanation; filing-derived risk factors by severity; identified supplier concentration (share of cost base covered, HHI, sole-source count); recent material events. |
get_company_relationships | Named competitors, suppliers, customers and partners, each with its ticker when listed, VERIFIED (primary filing/source) or SUGGESTED status, confidence, sole-source flag and quantified dependence where disclosed, e.g. Cirrus Logic gets 91% of its revenue from Apple. |
screen_risk_board | Rank ~9,000 scored companies by the composite or any one dial, filtered by band, sector, country and how many dials are measured, with sector and country averages. |
get_risk_movers | Companies whose composite crossed into a different band in the last N days, worsening or improving. |
Bands run Contained → Normal → Elevated → Stretched → Acute and describe measured strain, never a buy/sell view. A dial with no reading is reported as unmeasured, never as safe.
Global markets and macro
| Tool | What it does |
|---|---|
get_global_markets_overview | One-call briefing: 19 world equity indices (live intraday when open), Fed/ECB/BoE/BoJ/SNB/BoC policy rates and next decisions, 16 sovereign 10Y yields, 20 FX pairs, oil/gas/gold/copper, headline macro tiles (global GDP, inflation, debt, VIX, DXY, 2s10s), the economic calendar, news and the US housing balance. |
get_country_macro | A country's 0-100 macro stress score across six pillars (labour, housing, credit, fiscal, external, cycle), with every input's value, period and source (OECD, IMF, BIS, World Bank, Eurostat). |
get_macro_indicators | Rank or compare ~200 countries on GDP growth, inflation, government debt, unemployment, youth unemployment, house prices vs income and rents, the BIS credit gap, household debt, business/consumer confidence or macro stress. |
get_macro_history | Decades of history for any of those series, by code, by name ("Fed", "Brent", "Germany 10Y", "S&P 500") or by indicator + country, with 1M/3M/1Y/5Y changes and resampled points. |
ETFs and funds
Built for the way European investors actually shop for funds: by ISIN, by tracked index, and by total cost — with venue duplicates collapsed so one fund listed on six exchanges reads as one choice rather than six.
| Tool | What it does |
|---|---|
screen_etfs | Screen the whole fund universe by expense ratio, AUM, yield, trailing returns, volatility, liquidity, top-10 concentration and fund age, combined with issuer, index, domicile, UCITS status, distribution policy and currency hedging — plus look-through (holdingSearch) to find funds by what they hold. |
get_etf_index_group | "Cheapest way to track the S&P 500 / MSCI World?" — every fund on one index, cheapest first, one row per fund with its venues, and an explicit count of funds that publish no fee. |
get_etf_fund | Resolve an ISIN (or any venue ticker) to the fund and every exchange it trades on. |
get_etf_filter_options | The exact values the categorical filters accept, so a screen never silently returns nothing on a guessed string. |
search_etfs | Look up a known fund by name, ticker or ISIN, with classification, index, cost and yield filters. |
get_etf_snapshot | Modular snapshot for one listing — identity, classification, market, NAV/AUM, costs, income, benchmark. |
get_etf_holdings | Paginated constituents with an explicit partial-coverage contract. |
get_etf_exposures | Holdings look-through to sector / country / issuer exposure. |
get_etf_timeseries | Price history, with unavailable NAV / total-return / premium-discount series named rather than synthesized. |
get_etf_risk | Volatility, drawdown, Sharpe/Sortino/Calmar, VaR, and benchmark-relative beta and tracking error. |
compare_etfs | Side-by-side cost, performance, risk and holdings comparison. |
analyze_etf_overlap | Shared holdings and a weighted lower-bound overlap between funds. |
simulate_etf_cost | Deterministic multi-year cost scenario from expense ratio, spread, commission and contributions. |
analyze_portfolio_fit | How a candidate fund would fit your existing portfolio. (sign-in) |
query_etfs | Original ETF search. Retained for compatibility; prefer screen_etfs or search_etfs. |
Your portfolios
| Tool | What it does |
|---|---|
get_capabilities | Which account is connected, whether Pro is active, granted scopes, and which tools are gated. |
list_portfolios | Your virtual portfolios with value, day change, cost basis and total return. (sign-in) |
get_portfolio_context | Deep snapshot of one portfolio: every holding with weight, sector and return, plus Bullrun's insights. (sign-in) |
get_portfolio_analytics | Correlation/covariance, contribution-to-risk, factor exposure, sector/currency/country concentration, stress scenarios, and candidate-fit analysis. (sign-in) |
create_portfolio_from_positions | Save a portfolio you have already decided, from an explicit {ticker, weight} basket used verbatim. (sign-in, no Pro needed) |
create_portfolio_draft | Draft a new paper portfolio from a plain-English brief. Draft-only — saved for review, never changes a live position. (Pro) |
create_position_draft | Suggest additions to an existing portfolio. Draft-only — saved for review. (Pro) |
Prompts
Selectable starting points in your client's prompt menu: stock_deep_dive (fundamentals,
valuation model, risk dials and relationships for one ticker), market_briefing (markets,
macro and this week's risk movers), build_portfolio, suggest_positions and
analyze_portfolio.
Try asking
- "Is ASML expensive by Bullrun's valuation model, and what are its biggest risks?"
- "Who are Apple's suppliers, and which of them depend on Apple for most of their revenue?"
- "Which large US companies have stretched or acute leverage right now?"
- "Brief me on global markets this morning, with a focus on Europe."
- "Rank G7 countries by government debt and show me Italy's 10-year yield since 2010."
- "Find the cheapest German stocks relative to their fundamentals."
Authentication & privacy
The server is an OAuth 2.0 protected resource (RFC 9728). On first connect your client runs an
automatic discovery handshake and sends you through Google sign-in; after you authorize, per-user
tools resolve your Bullrun account. The MCP layer is a thin proxy with no database of its own —
read tools return market data and your own holdings, the per-user read tools accept a privacyMode
(full by default, or weights_only to return only relative figures), and the draft tools never
mutate live holdings. See the privacy policy.
Local stdio build
The hosted endpoint above is the recommended integration. For directories that require building and running a local MCP server, this repo can run the MCP layer over stdio:
npm ci
npm run build
BULLRUN_API_BASE=https://bull-run.org node dist/stdio.js
Public market-data tools work without credentials. Portfolio and draft tools still require a Bullrun OAuth token in hosted clients and return an authentication-required error in anonymous stdio checks.
License
MIT.
Tools it offers (30)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
screen_stockssearch_etfsscreen_etfsget_etf_index_groupget_etf_fundget_etf_filter_optionsget_etf_snapshotget_etf_holdingsget_etf_timeseriesget_etf_exposuresget_etf_riskcompare_etfsanalyze_etf_overlapanalyze_portfolio_fitsimulate_etf_costquery_etfsget_stock_metricsget_financial_historyget_quality_moat_metricsget_forward_estimatesget_operating_kpisget_revenue_breakdownget_earnings_call_transcriptlist_portfoliosget_portfolio_contextget_portfolio_analyticscreate_portfolio_draftcreate_position_draftcreate_portfolio_from_positionsget_capabilities
Signals
- Last commit
- Aug 2026
Advanced
- Delivery
- bullrun MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
org-bull-run-bullrun- Source
- github.com/ferinator/bullrun-mcp
- Hosted endpoint
https://mcp.bull-run.org/mcp
github.com/ferinator/bullrun-mcp
More in AI & models
MCP server · upstash
More in AI & modelsAdButler
MCP server · adbutler
More in AI & modelsatom-mcp-server
MCP server · a7om-ai
More in AI & modelsottasia
MCP server · aiweather-anurag
More in AI & modelsunphurl
MCP server · 123ergo
More in AI & modelsmicrosoft-learn-mcp
MCP server · microsoftdocs
More in AI & models