Index / MCP servers / Bullrun: Global Stock & UCITS ETF Research

Bullrun: Global Stock & UCITS ETF Research MCP server

Bullrun: Global Stock & UCITS ETF Research is an MCP server with 30 tools an agent can call, among them analyze_etf_overlap, analyze_portfolio_fit, compare_etfs. It answers at https://mcp.bull-run.org/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.

Status
Answering
Tools
30
Official
yes, served from bull-run.org
Reliability
6 of 6 checks
Response time
170 ms
Transport
streamable HTTP
Last checked
24 October 2026

Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude

Description as the publisher wrote it.

The 30 tools Bullrun: Global Stock & UCITS ETF Research offers

ToolWhat it does
analyze_etf_overlapCompare two to ten ETFs using their latest stored holdings. Returns pairwise shared holdings, weighted overlap (sum of the smaller weight for each shared holding), each fund's weight in shared names, and the largest duplicate exposures. Cov
Inputs: tickers, topSharedLimit
analyze_portfolio_fitAnalyze an ETF candidate against one signed-in user's portfolio. Combines Bullrun's price-history candidate fit (correlation, beta and pro-forma volatility) with latest-holdings look-through that identifies direct and ETF-contained duplicat
Inputs: portfolioId, candidateTicker, candidateWeightPct, days, includeLookThrough
compare_etfsReturn a normalized side-by-side comparison of two to ten ETFs across selected classification, market, fund-data, cost, income, benchmark, price-performance, price-risk, and holdings modules. Leaders are mechanical extrema, not recommendati
Inputs: tickers, include, performanceDays
create_portfolio_draftUse when the user wants you to BUILD or PROPOSE a brand-new portfolio for them — e.g. "build me a portfolio", "put together a dividend portfolio", "draft a portfolio of AI stocks", "create a new portfolio for $10k". Generates a REVIEWABLE p
Inputs: prompt, startingCash, maxPositions, instrumentUniverse
create_portfolio_from_positionsUse when YOU (or the user) have ALREADY decided the exact holdings and want them saved as-is — e.g. after researching and settling on a specific basket with target weights. Persists a REVIEWABLE paper-portfolio draft built from the tickers
Inputs: positions, name, startingCash, cashPct
create_position_draftUse when the user asks what to BUY or ADD to an EXISTING portfolio — e.g. "what should I buy next", "suggest a stock or ETF for my portfolio", "what should I add", "recommend a position", "any ideas to round out my holdings". Generates REVI
Inputs: portfolioId, maxPositions, instrumentUniverse
get_capabilitiesDiscover what the connected Bullrun account can do BEFORE attempting an action, so you can plan instead of learning by hitting a 403. Reports whether you are authenticated and as WHICH identity (email + userId), whether the account has Bull
get_earnings_call_transcriptFetch speaker-tagged earnings-call transcript chunks for one exact Bullrun ticker, optionally filtered by fiscal period or search text. Use this for management guidance language, analyst Q&A, and qualitative judgment that is not visible in
Inputs: ticker, fiscalYear, fiscalQuarter, search, maxChunks, maxCharsPerChunk
get_etf_exposuresCalculate sector, country, currency, and broad asset exposure from the latest stored ETF holdings and Bullrun instrument mappings. Factor and thematic look-through are reported unavailable until dedicated source data exists. Coverage states
Inputs: ticker, types, limitPerType
get_etf_filter_optionsList the exact values accepted by the categorical filters on search_etfs and screen_etfs — asset classes, categories, index keys, product/wrapper types, regions, domiciles, currencies, exchanges, and (on request) issuers and focus strings.
Inputs: facets, search, limit
get_etf_fundResolve one FUND rather than one listing. Given an ISIN (or any venue ticker of the fund) it returns the fund's identity, costs, index, distribution policy, wrapper type and every venue it is listed on with exchange and trading currency. Us
Inputs: isin, ticker
get_etf_holdingsReturn the latest stored ETF holdings snapshot with opaque cursor pagination. The response reports the provider's stated holdings count, stored row count, covered weight, and whether the stored rows appear complete. Treat isComplete=false o
Inputs: ticker, cursor, limit
get_etf_index_groupAnswer "what is the cheapest way to track <index>?". Returns every fund tracking one index ordered cheapest fee first, deduplicated to one row per FUND rather than per venue listing (a five-venue UCITS fund is one choice, not five) with its
Inputs: indexKey, scope, distributionPolicy, limit
get_etf_riskCalculate drawdown, annualized volatility, downside volatility, historical VaR, Sharpe, Sortino and Calmar ratios from stored daily close prices. With benchmarkTicker, also calculates beta, correlation, tracking error, active return and inf
Inputs: ticker, days, benchmarkTicker, riskFreeRatePct
get_etf_snapshotFetch a modular snapshot for one exact ETF listing. The include array controls which of identity, classification, market, fund_data (NAV/AUM), costs, income, and benchmark are fetched and returned. Unrequested modules are omitted; requested
Inputs: ticker, include
get_etf_timeseriesFetch ETF price or price-return history at daily, weekly, or monthly intervals. NAV, true total-return, benchmark, and premium/discount series are returned only when their required source data or an explicit benchmark ticker exists; unavail
Inputs: ticker, series, benchmarkTicker, interval, startDate, endDate
get_financial_historyFetch 1-15 years of historical financial statements for one exact Bullrun ticker. Returns annual and/or quarterly rows grouped into income statement, balance sheet, cash flow, per-share metrics, margins, source currency, and annual growth/C
Inputs: ticker, periodType, years, includeEmptyRows
get_forward_estimatesFetch forward consensus revenue/EPS/EBITDA estimates, management guidance ranges, and estimate-revision percentages for one exact Bullrun ticker. Also derives simple forward P/E and PEG-style context from the latest close when EPS estimates
Inputs: ticker, periodType, limit
get_operating_kpisFetch period-specific operating KPIs and unit-economics metrics for one exact Bullrun ticker: ARR, net revenue retention, RPO, billings, customer counts, payments volume, cross-border volume, processed transactions, or other domain-specific
Inputs: ticker, metricKey, category, limit
get_portfolio_analyticsUse when the user asks about THEIR portfolio's risk, diversification, or concentration, or whether to add a stock — e.g. "is my portfolio diversified", "how risky is my portfolio", "am I too concentrated", "what's my exposure to X", "should
Inputs: portfolioId, days, candidateTicker, candidateWeightPct, privacyMode
get_portfolio_contextUse when the user asks to look at, review, or analyze THEIR portfolio / holdings / positions — e.g. "analyze my portfolio", "how is my portfolio doing", "what's in my portfolio", "review my holdings", "how am I invested", "what should I imp
Inputs: portfolioId, days, privacyMode
get_quality_moat_metricsCompute annual quality, moat, earnings-quality, and capital-allocation metrics for one exact Bullrun ticker from existing financial statements: ROIC, ROE/ROA, ROIC-vs-supplied-WACC, accruals, cash conversion, capex intensity, dividend payou
Inputs: ticker, years, estimatedWaccPct, taxRateFallbackPct
get_revenue_breakdownFetch segment, geography, product, customer, or other revenue breakdown rows for one exact Bullrun ticker. Use this to separate cyclical businesses from recurring segments or inspect geographic exposure instead of relying on blended revenue
Inputs: ticker, dimension, limit
get_stock_metricsFetch a consolidated metrics snapshot for a single stock by ticker: identity (company, exchange, currency, sector, industry, country, ISIN), latest daily price (OHLCV), latest valuation (market cap, P/E, dividend yield, annual dividend per
Inputs: ticker
list_portfoliosUse when the user refers to THEIR portfolio(s) or holdings — e.g. "my portfolios", "what portfolios do I have", "how are my investments doing", "show my holdings", "my account". Lists the signed-in Bullrun user's virtual portfolios with com
Inputs: privacyMode
query_etfsCompatibility tool for older clients: search the Bullrun ETF universe and optionally bundle profile, recent prices, and latest holdings for an exact ticker. New clients should use search_etfs, get_etf_snapshot, and get_etf_holdings for smal
Inputs: search, ticker, category, focus, domicile, exchange
screen_etfsScreen the WHOLE ETF universe by numeric rules and fund attributes in one pass — expense ratio, AUM, yield, trailing returns, volatility, liquidity, top-10 concentration, fund age and holdings count — combined with issuer, index, domicile,
Inputs: search, assetClass, category, domicile, region, exchange
screen_stocksScreen the global Bullrun stock universe with the same rule engine as the app screener. Filter by sector, industry, country/countries, primary vs secondary listings, active vs inactive listings, lookback mode, AND/OR rule groups, comparison
Inputs: sector, industry, country, countries, lookbackMode, lookback
search_etfsLook up ETFs by name, ticker or ISIN, with classification, listing, index, distribution-policy, AUM, expense-ratio and yield filters. Best for finding a known fund. For ranking questions ("cheapest", "largest", "best performing", "most liqu
Inputs: search, category, focus, region, domicile, exchange
simulate_etf_costSimulate expense-ratio, assumed bid/ask spread, commissions, and recurring contributions over a holding period. Compares the same gross-return path with and without costs and reports direct charges plus ending-value drag. Taxes, FX, market
Inputs: ticker, initialInvestment, contributionAmount, contributionFrequency, years, grossAnnualReturnPct

Add Bullrun: Global Stock & UCITS ETF Research to your AI client

Every block below points at https://mcp.bull-run.org/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http bullrun-global-stock-ucits-etf-r https://mcp.bull-run.org/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.bull-run.org/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "bullrun-global-stock-ucits-etf-r": {
      "type": "http",
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "bullrun-global-stock-ucits-etf-r": {
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "serverUrl": "https://mcp.bull-run.org/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Bullrun: Global Stock & UCITS ETF Research
version: 0.0.1
schema: v1
mcpServers:
  - name: Bullrun: Global Stock & UCITS ETF Research
    type: streamable-http
    url: https://mcp.bull-run.org/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "httpUrl": "https://mcp.bull-run.org/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "type": "http",
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "bullrun-global-stock-ucits-etf-r": {
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.bull-run.org%2Fmcp&type=streamable_http&id=bullrun-global-stock-ucits-etf-r&name=Bullrun%3A%20Global%20Stock%20%26%20UCITS%20ETF%20Research

Is Bullrun: Global Stock & UCITS ETF Research up right now?

It answered our last check on 24 October 2026 in 170 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Bullrun: Global Stock & UCITS ETF Research

Questions about Bullrun: Global Stock & UCITS ETF Research

Is there an official Bullrun: Global Stock & UCITS ETF Research MCP server?

Yes. It is published by bull-run.org and served from mcp.bull-run.org, the vendor's own domain: https://mcp.bull-run.org/mcp.

How many tools does Bullrun: Global Stock & UCITS ETF Research have?

30, as returned by the server's own tools/list on 23 September 2026: analyze_etf_overlap, analyze_portfolio_fit, compare_etfs, create_portfolio_draft, create_portfolio_from_positions, create_position_draft, get_capabilities, get_earnings_call_transcript, and 22 more.

Is Bullrun: Global Stock & UCITS ETF Research down?

It answered our last check on 24 October 2026 in 170 ms. Over 6 checks since 12 September 2026 it answered 6.

How do I add Bullrun: Global Stock & UCITS ETF Research to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.bull-run.org/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Bullrun: Global Stock & UCITS ETF Research need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: org.bull-run. Endpoint host: mcp.bull-run.org. ARD identifier: urn:air:org.bull-run:mcp:bullrun. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.