프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Bullrun: Global Stock & UCITS ETF Research

제작자: ferinator버전 0.9.0i★ –i클라우드에서 실행
레지스트리 이름org.bull-run/bullrun

설치

개요

제작자가 쓴 설명(영어 원문)

Free, no sign-up: global stocks, UCITS ETF costs and overlap, company risk and macro, all dated.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 클라우드에서 실행
  • 전송 방식: Streamable HTTP
  • 카테고리: 검색 및 AI 기억

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:

  1. Settings → Connectors 열기
  2. Add custom connector 누르기
  3. 아래 주소를 붙여 넣고 Add 누르기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Add2https://…3
https://mcp.bull-run.org/mcp

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http bullrun https://mcp.bull-run.org/mcp

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "bullrun": {
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "bullrun": {
      "type": "http",
      "url": "https://mcp.bull-run.org/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:

  1. 웹에서 ChatGPT 열기 → Settings → Connectors (Apps)
  2. Create 또는 Add 누르기(일부 요금제는 먼저 Advanced에서 Developer mode를 켜야 해요)
  3. 아래 주소를 붙여 넣고 이름을 정한 뒤 저장하기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Create2https://…3
https://mcp.bull-run.org/mcp

메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.

  • screen_stocks

    Screen the global Bullrun stock universe with the app rule engine using custom fundamental rules or named presets: profitable value, dividend income, growth and cash flow, cash generators, dividend growth. action=list_presets discloses exact thresholds, units, annual lookback and

  • search_stocks

    Resolve a company name, native ticker, ISIN or exchange-qualified symbol to Bullrun listings before calling exact-ticker research tools. Supports exchange/MIC, country, currency and instrument-type filters. Recognized exchange suffixes are checked against compatible stored venues

  • find_stock_peers

    Discover stock comparison candidates for one exact Bullrun ticker using stored industry or sector classification. Discloses the chosen classification, country preference, deterministic selection order, scan cap and issuer/listing exclusions. Excludes the subject, secondary listin

  • get_stock_price_history

    Read bounded stored stock OHLCV history, ascending by trade date, as daily, weekly or monthly bars, with close-based price returns/drawdown and optional deterministic SMA, EMA, Wilder RSI and MACD. Useful for price trends, volatility context and technical analysis; use get_stock_

  • get_company_news

    Get cached company news for one exact Bullrun ticker, newest publication first, with publisher, source URL, publication date and stored-fetch freshness when recorded. Optional since cutoff and limit up to 50; only the newest 50 stored articles are searched. Useful for company hea

  • search_etfs

    Look 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 liquid") prefer screen_etfs, which evaluates

  • screen_etfs

    Screen 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, UCITS status, distribution policy, curre

  • get_etf_index_group

    Answer "what is the cheapest way to track ?". 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 listingCount and venues. Defaults to UCITS-buy

  • get_etf_fund

    Resolve 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. Use this when the user quotes an ISIN, ask

  • get_etf_filter_options

    List 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. Those filters match exactly, so a guesse

  • get_etf_snapshot

    Fetch 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-but-unavailable modules are named expli

  • get_etf_holdings

    Return 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 or null as partial look-through data. His

  • get_etf_timeseries

    Fetch 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; unavailable requested series are named explicit

  • get_etf_exposures

    Calculate sector, country, currency, and broad asset exposure from the latest stored ETF holdings. Sector and country come from the fund provider's own holdings file where it states them (normalized to Bullrun's sector and country names), otherwise from the Bullrun instrument the

  • get_etf_risk

    Calculate 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 information ratio on aligned dates. Results

  • compare_etfs

    Return a normalized side-by-side comparison of two to ten ETFs across selected classification, market, fund-data, cost, income, benchmark, price-performance, price-risk, holdings, and optional overlap modules. Include overlap to measure pairwise shared securities and weighted ove

  • simulate_etf_cost

    Simulate 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 impact and brokerage-specific fees are e

  • get_stock_metrics

    Fetch 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 share), the most recent reported financi

  • compare_stocks

    Compare two to five stock tickers in one compact structured response: annual fundamentals and growth, quality ratios, stored valuation and Bullrun model context, and measured risk dials. Reports each fiscal year, source date, native quote/reporting currency and missing coverage.

  • get_financial_history

    Read historical financial statements for one exact Bullrun ticker, with growth/CAGR consistency checks first, then income, balance sheet, cash flow, per-share metrics, margins and source currency. Defaults to a five-fiscal-year window of annual rows; request years=1-15 and period

  • get_quality_moat_metrics

    Compute 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 payout/growth, diluted share-count changes, a

  • get_forward_estimates

    Read cached analyst consensus revenue/EPS estimates and available EPS revision percentages for one exact Bullrun ticker. A free background refresh checks supported symbols on demand, storing at most one snapshot per day; the first read may be empty. Fiscal periods and source curr

  • get_operating_kpis

    Read curated, source-linked operating KPI observations for one exact Bullrun ticker. Coverage is sparse and no automatic KPI feed is configured: do not assume ARR, retention, customer counts or payments metrics are available. Check get_company_data_coverage first. Returns stored

  • get_revenue_breakdown

    Fetch 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. Read-only.

  • get_earnings_call_transcript

    Read cached earnings-call paragraphs for one exact Bullrun ticker, optionally filtered by fiscal period or search text. A best-effort free background import collects at most the two latest retained calls for supported US listings, with a 24-hour stored-data cooldown; the first re

  • list_research_shortlist

    Read the signed-in user's saved Research Shortlist of stock and ETF listing tickers, with dated stored prices. Requires OAuth read:shortlist. Use after the user asks for their saved research queue. Read-only; does not evaluate a screen, schedule monitoring or send notifications.

  • save_research_shortlist

    Add 1-20 exact Bullrun stock or ETF listing tickers to the signed-in user's Research Shortlist when the user asks to save them. Requires OAuth write:shortlist; reconnect if this scope was not granted. Resolve ambiguous names with search_stocks/search_etfs first. Existing entries

  • list_portfolios

    Use 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 computed summaries: name, base currency, to

  • get_portfolio_context

    Use 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 improve". Fetches a deep snapshot of ONE of

  • get_portfolio_analytics

    Analyze the signed-in user's portfolio risk, diversification, concentration or a candidate stock/ETF. Returns correlation/covariance, risk contributions, country/sector/currency exposures, proxy factors and stress scenarios. Use portfolioId from list_portfolios; use get_portfolio

  • create_portfolio_draft

    Use 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 paper-portfolio draft for the signed-in B

  • create_position_draft

    Use 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 REVIEWABLE suggested additions for one exist

  • create_portfolio_from_positions

    Use 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 you supply, sized by weight (percent) or

  • get_capabilities

    Discover 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), the account's Pro/trial status and why (subscription / trial / admin

  • get_company_risk

    Bullrun's company risk read for one stock: a 0-100 composite risk score and six mechanism dials (market expectation, operating pressure, cash conversion, leverage & coverage, competitive position, concentration) with band (Contained/Normal/Elevated/Stretched/Acute), direction vs

  • get_company_relationships

    Bullrun's company relationship graph for one stock: named competitors, suppliers, customers and partners, each with its Bullrun ticker when the counterparty is listed, verification status (VERIFIED against a primary filing/source vs search-SUGGESTED), confidence, sole-source flag

  • compare_company_exposures

    Compare the cached company relationship graphs of two to five stock tickers. Finds shared suppliers, customers, competitors and partners, including cross-role overlaps, using stable company entity IDs or exact tickers only. Returns directed direct relationships with VERIFIED vs S

  • get_corporate_calendar

    Read stored upcoming earnings and ex-dividend dates, plus recent equity listings. Supports ticker/company search and explicit effective windows, market-cap filters, native listing quote currencies, available source metadata and partial coverage. Recent first-trade dates are not c

  • get_company_risk_history

    Stored historical company risk category readings and their observed input changes. Shows dates, computation times, formula versions, score changes, changing input coverage and measurement bases. Use for 'how has X's risk changed?' and 'which inputs changed?'. These are retained c

  • get_company_data_coverage

    A cheap stored-data manifest for one exact company: available datasets, latest reporting periods, actual ingestion/computation timestamps where stored, and cached relationship graph status. Call before deeper research when coverage or freshness is uncertain. This reads indexed me

  • screen_risk_board

    Rank Bullrun's scored stock universe (~9,000 companies) by company risk: the composite risk score or any one mechanism dial (market expectation, operating pressure, cash conversion, leverage, competitive position, concentration), filtered by band, sector, country and dial coverag

  • get_risk_movers

    Companies whose Bullrun composite risk score crossed into a different band (e.g. Elevated -> Stretched, or Acute -> Stretched) within the last N days, with prior and current score, the move in points, and the input driving the reading. Use for "what got riskier this week", "any r

  • get_global_markets_overview

    Bullrun's Global Markets dashboard in one call: world equity indices (S&P 500, Nasdaq-100, MSCI World, DAX, FTSE 100, Nikkei, Hang Seng, Nifty...), central-bank policy rates and next rate decisions (Fed, ECB, BoE, BoJ, SNB, BoC), 16 sovereign 10-year yields, 20 FX pairs, oil/gas/

  • get_country_macro

    One country's macro dashboard from Bullrun's Global Markets warehouse: a 0-100 macro stress score (higher = more stress) built from six pillars - labour (unemployment, its change, youth unemployment), housing (real house prices, price-to-income and price-to-rent vs history), cred

  • get_macro_indicators

    Cross-country macro comparison from Bullrun's Global Markets warehouse: rank up to ~200 countries on one indicator (GDP growth annual or quarterly, CPI inflation, government debt/GDP, unemployment, youth unemployment, real house-price growth, house price-to-income and price-to-re

  • get_macro_history

    Historical time series behind the Global Markets dashboard, often decades long: equity indices, central-bank policy rates, 10-year government bond yields, FX rates, oil/gas/gold/copper, VIX, DXY, the US 2s10s curve, and per-country macro indicators (GDP growth, inflation, unemplo

  • get_valuation_model

    Bullrun's proprietary machine-learning valuation and forecast scores for 1-10 stocks, recomputed nightly. Valuation: a LightGBM model predicts the P/E (or price/sales for loss-makers) that companies with similar fundamentals typically command a year out; the gap = typical / curre

  • screen_valuation_model

    Rank the whole scored stock universe (market cap >= $100M) by Bullrun's proprietary ML models: the stocks trading furthest below (or above) the P/E or price/sales multiple their fundamentals typically command, or the strongest/weakest relative 1-year forecast signals. Filter by s

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 bull-run.org 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    368ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • ✓ 통과

    도구 설명에 숨겨진 지시 없음

    도구 설명 48개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요

검색 및 AI 기억 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5684개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5684개 중 81%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5684개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Bullrun: Global Stock & UCITS ETF Research, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.9.0)은 9일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Context7, Codebase Memory, Exa

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Context7

Up-to-date docs for AI agents

제작자: upstash널리 사용됨↓ 97.3만/주★ 6.4만그저께 업데이트

컴퓨터 또는 클라우드

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

제작자: DeusData널리 사용됨↓ 1.8만/주★ 4.8만22일 전 업데이트

내 컴퓨터에서 실행

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

제작자: exa-labs성장 중★ 5.2천2개월 전 업데이트

클라우드에서 실행✓ exa.ai

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Bullrun: Global Stock & UCITS ETF Research

An MCP server for researching stocks and ETFs beyond the US. Find global stock candidates, compare UCITS ETF costs and overlap, and inspect company risks from your MCP client. Every figure shows its date, reporting period and native currency, and missing data is reported as unknown. Public research needs no API key or Bullrun account. Connect your free Bullrun account when you want to save research, read your portfolios or create a reviewable paper-portfolio draft.

Free: 700 successful MCP tool calls per rolling 30 days. Pro and active trials: 1,000 successful tool calls per rolling 5 hours. Bullrun Pro costs CHF 5/month or CHF 50/year. See plans and subscription details, then connect the account endpoint through OAuth to use your Pro allowance. Website screening and manual research have separate allowances.

Public researchhttps://mcp.bull-run.org/mcp (Streamable HTTP)
Personal research and portfolioshttps://mcp.bull-run.org/account/mcp (OAuth)
Research tools only, no sign-inhttps://mcp.bull-run.org/research/mcp (the 39 research tools, no account tools or prompts)
Web appbull-run.org
Registryorg.bull-run/bullrun
GlamaServer · Connector
mcprushBullrun MCP · Bullrun Research (research tools only, with quotas per installation)
ClaudeBullrun research connector · Setup guide
PrivacyPrivacy policy

Connect

Add the hosted endpoint as a remote MCP server in your client. Public market research is anonymous. To save a research shortlist or work with your portfolios, add the account endpoint above and authorize the requested OAuth scopes. These features, including AI-generated drafts, are available to signed-in free accounts. Free use includes 700 successful MCP tool calls per rolling 30 days, per free account or anonymous network, shared across the official public, research and OAuth endpoints. Connected Pro and active-trial accounts get 1,000 successful tool calls per rolling 5 hours. Each successful call counts once, regardless of how much data it loads; failed calls use no allowance. Allowances refill automatically as earlier calls leave the rolling window. Temporary capacity limits and tool pacing may ask you to wait; follow the reply's retry guidance. Website and marketplace allowances are unchanged. Your shortlist persists in Research Shortlist, and paper drafts remain pending until you review and accept them. Saving never enables monitoring or email.

{

"mcpServers": { "bullrun": { "url": "https://mcp.bull-run.org/mcp" } } }

Configuration formats vary by client. See the connection guide.

Start with a research question

  • “Find Nestlé's stock listing and show the available company data.”
  • “List your preset stock screens, then find European companies with positive earnings and free cash flow.”
  • “Show six months of Apple's daily prices, RSI and moving averages.”
  • “Find peers for Microsoft and compare their fundamentals.”
  • “Show recent company news for NVIDIA, with publication dates and freshness.”
  • “Which UCITS funds track the S&P 500 at the lowest ongoing cost?”
  • “Compare the underlying overlap of these two ETFs.”
  • “Which companies share suppliers or customers with Apple?”

Use the prompt menu for find_ml_candidates (compare model candidates with business fundamentals), compare_ucits_costs (fund-level cost comparison) and research_shortlist_briefing (review your saved queue). These workflows retrieve research; saving requires your instruction.

Tools

Version 0.9.0 exposes 48 focused tools in both hosted and local builds (39 research tools on the research-only and marketplace connections). The exact tools and parameters are available through MCP tools/list.

The hosted server and local stdio build support MCP 2026-07-28 and older initialization-based clients. Existing server URLs and OAuth requirements stay the same; reconnect if your client caches the catalog. Server guidance is shorter, and get_financial_history defaults to five fiscal years of annual statements. Request years (1-15) and periodType: "quarterly" or "both" explicitly when you need more detail. Responses retain dates, currencies, coverage and growth summaries.

WorkflowTools
Find stocks and screensearch_stocks, screen_stocks, find_stock_peers
Prices and newsget_stock_price_history, get_company_news, get_stock_metrics
Fundamentalscompare_stocks, get_financial_history, get_quality_moat_metrics, get_revenue_breakdown
Coverage and optional datasetsget_company_data_coverage, get_forward_estimates, get_operating_kpis, get_earnings_call_transcript
Company risk and dependenciesget_company_risk, get_company_relationships, compare_company_exposures, get_company_risk_history, screen_risk_board, get_risk_movers
Corporate calendarget_corporate_calendar
ETF discoverysearch_etfs, screen_etfs, get_etf_filter_options, get_etf_index_group, get_etf_fund
ETF researchget_etf_snapshot, get_etf_holdings, get_etf_timeseries, get_etf_exposures, get_etf_risk, compare_etfs, simulate_etf_cost
Macroget_global_markets_overview, get_country_macro, get_macro_indicators, get_macro_history
Bullrun valuation modelsget_valuation_model, screen_valuation_model
Research Shortlist (sign-in)save_research_shortlist, list_research_shortlist
Personal portfolios (sign-in)list_portfolios, get_portfolio_context, get_portfolio_analytics, get_capabilities
Reviewable paper drafts (sign-in)create_portfolio_from_positions, create_portfolio_draft, create_position_draft

The consolidated tools preserve existing defaults and fetch extra analysis only when requested:

  • screen_stocks({action: "list_presets"}) lists transparent rules without running a screen. Pass a preset such as profitable_value to run it, or supply custom rules; do not combine preset and custom rule inputs.
  • compare_etfs({tickers: [...], include: ["overlap"]}) returns pairwise shared holdings, weighted overlap, snapshot dates and partial-coverage warnings. Other comparison modules can be requested alongside overlap.
  • get_portfolio_analytics({portfolioId, candidateTicker, includeLookThrough: true}) adds ETF/direct-holding duplicate exposure. It requires portfolio access and retains the selected privacyMode; ordinary analytics does not fetch holdings look-through.
Migrating older clients

The four retired names remain available in the opt-in compatibility catalog at https://mcp.bull-run.org/legacy/mcp. OAuth clients that need a login challenge can use https://mcp.bull-run.org/account/legacy/mcp. Both retain the existing authentication rules. The modern endpoints omit these aliases:

Legacy nameModern call
screen_stock_presetsscreen_stocks with action: "list_presets" or a named preset
analyze_etf_overlapcompare_etfs with include: ["overlap"]
analyze_portfolio_fitget_portfolio_analytics with candidateTicker and includeLookThrough: true
query_etfssearch_etfs, get_etf_snapshot, get_etf_holdings, and get_etf_timeseries, according to the requested operation

Reconnect after changing endpoints; modern and compatibility sessions cannot be shared. For local compatibility, run node dist/stdio.js --legacy-tools. Legacy responses retain their existing fields and units, including raw fractional ratios in query_etfs; modern ETF ratios use percentage points.

Read the returned coverage and dates. Stored prices are daily observations, not live stock quotes. Technical indicators and price returns use stored closes; an adjusted total-return series is not implied. Weekly/monthly bars are aggregated from daily data. News reads return cached articles and, except on the research endpoint, can request a bounded background refresh; an empty result is not proof that no news exists.

Consensus estimates use available Yahoo revenue/EPS targets and EPS revisions; EBITDA, management guidance and revenue revisions are not supplied by this feed. Estimate reads can queue a free consensus refresh, and US transcript reads a bounded import of the latest two calls from the existing free DefeatBeta source; the first cached response may be empty while that runs. The research endpoint (/research/mcp) queues nothing: its news, estimate and transcript reads return stored rows only, so every tool there is read-only. Non-US transcript coverage is not configured. Operating KPI observations remain limited to stored rows, with no broad KPI ingestion pipeline. Use get_company_data_coverage before relying on an optional dataset. Missing data is unknown. A risk band describes measured strain, and a model valuation gap describes relative pricing; neither is a price target or buy/sell recommendation.

The same UCITS fund can trade on several venues under different symbols. Resolve ISINs with get_etf_fund and treat those listings as one holding when evaluating overlap.

Shortlist access uses read:shortlist and write:shortlist. Reconnect the account endpoint to grant these scopes if you connected an older version. save_research_shortlist takes 1-20 exact stock or ETF listing tickers; confirmed saves and individual failures are returned separately.

Successful answers offer an optional contextual link to Bullrun's charts, screens, company networks or saved draft. Link descriptions identify settings that the app cannot reproduce. Opening a draft link never accepts it or changes holdings.

Local stdio build

The remote endpoint is the simplest connection. To build the connector for local clients or directory inspection:

npm ci

npm run build node dist/stdio.js

The stdio build reads public data from https://bull-run.org by default. Set BULLRUN_API_BASE to use another Bullrun API deployment. Anonymous stdio clients cannot read personal portfolios or create drafts.

Release verification

npm test

npm run test:catalog

The public repository contains the MCP connector, not the application database or data services. The connector source, version and catalog are synchronized from the application repository's release process. MIT license.

PopNx에게 묻기