Context7
Up-to-date docs for AI agents
Beschreibung vom Entwickler (englisches Original)
Free, no sign-up: global stocks, UCITS ETF costs and overlap, company risk and macro, all dated.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://mcp.bull-run.org/mcpFühre das in deinem Terminal aus
claude mcp add --transport http bullrun https://mcp.bull-run.org/mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"bullrun": {
"url": "https://mcp.bull-run.org/mcp"
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"bullrun": {
"type": "http",
"url": "https://mcp.bull-run.org/mcp"
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://mcp.bull-run.org/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Tool-Namen und -Beschreibungen genau so, wie der Server sie am 7. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.
screen_stocksScreen 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_stocksResolve 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_peersDiscover 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_historyRead 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_newsGet 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_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 liquid") prefer screen_etfs, which evaluates
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, UCITS status, distribution policy, curre
get_etf_index_groupAnswer "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_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. Use this when the user quotes an ISIN, ask
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. Those filters match exactly, so a guesse
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-but-unavailable modules are named expli
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 or null as partial look-through data. His
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; unavailable requested series are named explicit
get_etf_exposuresCalculate 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_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 information ratio on aligned dates. Results
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, holdings, and optional overlap modules. Include overlap to measure pairwise shared securities and weighted ove
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 impact and brokerage-specific fees are e
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 share), the most recent reported financi
compare_stocksCompare 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_historyRead 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_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 payout/growth, diluted share-count changes, a
get_forward_estimatesRead 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_kpisRead 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_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. Read-only.
get_earnings_call_transcriptRead 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_shortlistRead 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_shortlistAdd 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_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 computed summaries: name, base currency, to
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 improve". Fetches a deep snapshot of ONE of
get_portfolio_analyticsAnalyze 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_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 paper-portfolio draft for the signed-in B
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 REVIEWABLE suggested additions for one exist
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 you supply, sized by weight (percent) or
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), the account's Pro/trial status and why (subscription / trial / admin
get_company_riskBullrun'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_relationshipsBullrun'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_exposuresCompare 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_calendarRead 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_historyStored 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_coverageA 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_boardRank 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_moversCompanies 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_overviewBullrun'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_macroOne 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_indicatorsCross-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_historyHistorical 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_modelBullrun'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_modelRank 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
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde über die Domain bull-run.org bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 368 ms (HTTP 200)
Keine Anmeldung nötig
Wir haben 48 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.9.0) kam vor 9 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Context7, Codebase Memory, Exa
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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 research | https://mcp.bull-run.org/mcp (Streamable HTTP) |
| Personal research and portfolios | https://mcp.bull-run.org/account/mcp (OAuth) |
| Research tools only, no sign-in | https://mcp.bull-run.org/research/mcp (the 39 research tools, no account tools or prompts) |
| Web app | bull-run.org |
| Registry | org.bull-run/bullrun |
| Glama | Server · Connector |
| mcprush | Bullrun MCP · Bullrun Research (research tools only, with quotas per installation) |
| Claude | Bullrun research connector · Setup guide |
| Privacy | Privacy policy |
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.
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.
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.
| Workflow | Tools |
|---|---|
| Find stocks and screen | search_stocks, screen_stocks, find_stock_peers |
| Prices and news | get_stock_price_history, get_company_news, get_stock_metrics |
| Fundamentals | compare_stocks, get_financial_history, get_quality_moat_metrics, get_revenue_breakdown |
| Coverage and optional datasets | get_company_data_coverage, get_forward_estimates, get_operating_kpis, get_earnings_call_transcript |
| Company risk and dependencies | get_company_risk, get_company_relationships, compare_company_exposures, get_company_risk_history, screen_risk_board, get_risk_movers |
| Corporate calendar | get_corporate_calendar |
| ETF discovery | search_etfs, screen_etfs, get_etf_filter_options, get_etf_index_group, get_etf_fund |
| ETF research | get_etf_snapshot, get_etf_holdings, get_etf_timeseries, get_etf_exposures, get_etf_risk, compare_etfs, simulate_etf_cost |
| Macro | get_global_markets_overview, get_country_macro, get_macro_indicators, get_macro_history |
| Bullrun valuation models | get_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.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 name | Modern call |
|---|---|
screen_stock_presets | screen_stocks with action: "list_presets" or a named preset |
analyze_etf_overlap | compare_etfs with include: ["overlap"] |
analyze_portfolio_fit | get_portfolio_analytics with candidateTicker and includeLookThrough: true |
query_etfs | search_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.
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.
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.