关于 Bullrun: Global Stock & UCITS ETF Research
Bullrun 是面向全球股票与 UCITS ETF 研究的 MCP 服务,供投资研究者查询市场、公司风险和基金数据。数据标注日期与币种,并区分未知数据;登录后还可查看组合及创建待审核的模拟组合草稿。
主要功能
- 01筛选全球股票与 ETF
- 02比较 UCITS ETF 成本和持仓重叠
- 03查询公司基本面、风险与宏观数据
- 04数据提供日期、报告期和原生币种
- 05登录后管理研究清单与组合草稿
适用场景
- 01筛选非美国市场股票候选
- 02比较 UCITS 基金费用与持仓重叠
- 03查看公司风险及业务依赖关系
- 04分析个人投资组合并创建待审核草稿
MCP 相关
它提供远程 MCP 服务,向客户端开放股票、ETF、公司风险、宏观数据及组合研究工具。公共研究端点无需登录;个人组合功能通过 OAuth 账户端点提供。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.bull-run.org/mcpclaude mcp add --transport http org-bull-run-bullrun https://mcp.bull-run.org/mcp{"mcpServers":{"org-bull-run-bullrun":{"type":"http","url":"https://mcp.bull-run.org/mcp"}}}在 Cursor 中打开{"servers":{"org-bull-run-bullrun":{"type":"http","url":"https://mcp.bull-run.org/mcp"}}}在 VS Code 中打开{"mcpServers":{"org-bull-run-bullrun":{"type":"http","url":"https://mcp.bull-run.org/mcp"}}}{"mcpServers":{"org-bull-run-bullrun":{"serverUrl":"https://mcp.bull-run.org/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
40| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | enum | 否 | 已弃用的 lookbackMode 别名;为保持兼容性而保留。annual | quarterly |
| limit | integer | 否 | 返回的股票数量上限(1-100)。 |
| order | enum | 否 | 排序方向。无论排序方向如何,空值始终排在最后。desc | asc |
| rules | array | 否 | 基本面规则。相同的 groupId 表示 AND;不同的 groupIds 表示 OR。 |
| sector | string | 否 | 用于筛选的精确板块名称,例如 "Technology"、"Healthcare"。省略则包含所有板块。 |
| sortBy | enum | 否 | 用于排序的指标。revenueGrowth 可作为 revenueGrowthPct 的别名。revenueGrowthPct | netIncomeGrowthPct | grossProfitGrowthPct | operatingIncomeGrowthPct | ebitdaGrowthPct | freeCashflowGrowthPct | epsGrowthPct | operatingCashflowGrowthPct | dividendGrowthPct | latestRevenue | latestNetIncome | latestGrossProfit | latestOperatingIncome | latestEbitda | latestDilutedEps | latestDividendsPerShare | latestFreeCashflow | latestOperatingCashflow | latestCash | latestTotalAssets | latestTotalDebt | latestStockholdersEquity | marketCap | peRatio | dividendYield | revenueGrowth |
| country | string | 否 | 用于筛选的确切国家名称,例如 "United States"、"Germany"。省略则包含所有国家。 |
| periods | integer | 否 | 已弃用的 lookback 别名;为保持兼容性而保留。 |
| industry | string | 否 | 用于筛选的确切行业名称,例如 "Software - Infrastructure"。省略则包含所有行业。 |
| lookback | integer | 否 | 要评估的报告期数。增长规则至少需要 2 个可比较期间。 |
| countries | array | 否 | 要包含的确切国家名称。用于跨多个国家筛选;提供时会覆盖 country。 |
| lookbackMode | enum | 否 | 规则评估使用年度还是季度报告期。annual | quarterly |
| minMarketCap | number | 否 | 兼容性快捷选项:将 marketCap >= 此绝对值添加到每个规则组。 |
| includeInactive | boolean | 否 | 包含近期没有价格柱的已退市/非活跃代码。默认值为 false。 |
| includeSecondary | boolean | 否 | 包含同一证券的次要交叉上市。默认值为 false(仅限主要上市)。 |
详细介绍
Bullrun:全球股票与 UCITS ETF 研究
一个用于研究美国以外股票和 ETF 的 MCP 服务。通过 MCP 客户端寻找全球股票候选标的、比较 UCITS ETF 的成本和重叠情况,并检查公司风险。每项数据都会标明日期、报告期和原始货币,缺失数据会标记为未知。**公开研究无需 API 密钥或 Bullrun 账户。**需要保存研究、查看投资组合或创建可供审核的模拟投资组合草案时,请连接免费的 Bullrun 账户。
免费版:每 30 天滚动周期内可成功调用 700 次 MCP 工具。Pro 和有效试用期:每 5 小时滚动周期内可成功调用 1,000 次工具。 Bullrun Pro 费用为每月 CHF 5 或每年 CHF 50。请查看套餐和订阅详情,然后通过 OAuth 连接账户端点,以使用 Pro 配额。网站筛选和手动研究的配额另行计算。
| 公开研究 | https://mcp.bull-run.org/mcp(Streamable HTTP) |
| 个人研究和投资组合 | https://mcp.bull-run.org/account/mcp(OAuth) |
| 仅研究工具,无需登录 | https://mcp.bull-run.org/research/mcp(39 个研究工具,不含账户工具或提示词) |
| Web 应用 | bull-run.org |
| 注册表 | org.bull-run/bullrun |
| Glama | 服务 · 连接器 |
| mcprush | Bullrun MCP · Bullrun Research(仅研究工具,每次安装均有配额) |
| 隐私 | 隐私政策 |
连接
在客户端中将托管端点添加为远程 MCP 服务。公开市场研究可匿名使用。要保存研究候选清单或使用投资组合,请添加上方的账户端点,并授权所请求的 OAuth 权限范围。这些功能(包括 AI 生成的草案)对已登录的免费账户开放。免费使用额度为每 30 天滚动周期内可成功调用 700 次 MCP 工具,每个免费账户或匿名网络各自计算,并由官方公开、研究和 OAuth 端点共享。已连接的 Pro 和有效试用期账户可每 5 小时滚动周期内成功调用 1,000 次工具。每次成功调用计为 1 次,无论加载的数据量多少;失败的调用不消耗配额。随着较早的调用移出滚动周期,配额会自动补充。临时容量限制和工具调用节奏控制可能会要求你稍作等待;请遵循回复中的重试指引。网站和市场平台配额不变。你的候选清单会保存在研究候选清单中,模拟投资组合草案则会保持待处理状态,直到你审核并接受。保存内容不会启用监控或电子邮件功能。
{
"mcpServers": {
"bullrun": { "url": "https://mcp.bull-run.org/mcp" }
}
}
不同客户端的配置格式各不相同。请参阅连接指南。
从研究问题开始
- “查找雀巢的股票上市信息,并显示可用的公司数据。”
- “列出预设的股票筛选方案,然后查找盈利和自由现金流为正的欧洲公司。”
- “显示苹果公司过去六个月的每日价格、RSI 和移动平均线。”
- “查找微软的同行公司,并比较它们的基本面。”
- “显示 NVIDIA 的近期公司新闻,并附上发布日期和时效性。”
- “哪些 UCITS 基金以最低的持续成本跟踪 S&P 500?”
- “比较这两只 ETF 的底层持仓重合度。”
- “哪些公司与苹果公司有共同的供应商或客户?”
使用提示词菜单中的 find_ml_candidates(比较候选模型的业务基本面)、compare_ucits_costs(比较基金层面的成本)和 research_shortlist_briefing(查看已保存的队列)。这些工作流会检索研究资料;保存则需要你提出指示。
工具
0.8.1 版本在托管版和本地版中均提供 48 个专用工具(市场连接中提供 39 个研究工具)。确切的工具和参数可通过 MCP tools/list 查看。
| 工作流 | 工具 |
|---|---|
| 查找股票并筛选 | search_stocks、screen_stocks、find_stock_peers |
| 价格和新闻 | get_stock_price_history、get_company_news、get_stock_metrics |
| 基本面 | compare_stocks、get_financial_history、get_quality_moat_metrics、get_revenue_breakdown |
| 数据覆盖和可选数据集 | get_company_data_coverage、get_forward_estimates、get_operating_kpis、get_earnings_call_transcript |
| 公司风险和依赖关系 | get_company_risk、get_company_relationships、compare_company_exposures、get_company_risk_history、screen_risk_board、get_risk_movers |
| 公司日历 | get_corporate_calendar |
| 发现 ETF | search_etfs、screen_etfs、get_etf_filter_options、get_etf_index_group、get_etf_fund |
| ETF 研究 | get_etf_snapshot、get_etf_holdings、get_etf_timeseries、get_etf_exposures、get_etf_risk、compare_etfs、simulate_etf_cost |
| 宏观 | get_global_markets_overview、get_country_macro、get_macro_indicators、get_macro_history |
| Bullrun 估值模型 | get_valuation_model、screen_valuation_model |
| Research Shortlist(登录后使用) | save_research_shortlist、list_research_shortlist |
| 个人投资组合(登录后使用) | list_portfolios、get_portfolio_context、get_portfolio_analytics、get_capabilities |
| 可供审核的模拟投资组合草稿(登录后使用) | create_portfolio_from_positions、create_portfolio_draft、create_position_draft |
整合后的工具保留现有默认设置,并且仅在请求时获取额外分析:
screen_stocks({action: "list_presets"})会列出透明的筛选规则,但不会运行筛选。传入profitable_value等preset可运行相应预设,或提供自定义rules;请勿同时使用预设和自定义规则输入。compare_etfs({tickers: [...], include: ["overlap"]})会返回成对的共同持仓、加权重合度、快照日期和覆盖不完整警告。还可同时请求其他比较模块。get_portfolio_analytics({portfolioId, candidateTicker, includeLookThrough: true})会补充 ETF 与直接持仓的重复敞口分析。此功能需要投资组合访问权限,并会保留所选的privacyMode;普通分析不会获取穿透持仓数据。
迁移旧版客户端
这四个已停用的名称仍可通过可选兼容目录 https://mcp.bull-run.org/legacy/mcp 使用。需要登录质询的 OAuth 客户端可以使用 https://mcp.bull-run.org/account/legacy/mcp。这两个端点均保留现有身份验证规则。现代端点不包含这些别名:
| 旧版名称 | 现代调用 |
|---|---|
screen_stock_presets | 调用 screen_stocks,并指定 action: "list_presets" 或命名的 preset |
analyze_etf_overlap | 调用 compare_etfs,并指定 include: ["overlap"] |
analyze_portfolio_fit | 调用 get_portfolio_analytics,并指定 candidateTicker 和 includeLookThrough: true |
query_etfs | 根据所请求的操作,调用 search_etfs、get_etf_snapshot、get_etf_holdings 和 get_etf_timeseries |
更改端点后,请重新连接;现代会话与兼容会话无法共用。本地兼容模式请运行 node dist/stdio.js --legacy-tools。旧版响应保留现有字段和单位,包括 query_etfs 中的原始小数比率;现代 ETF 比率使用百分点。
请查看返回的覆盖范围和日期。存储的价格是每日观测值,并非实时股票报价。技术指标和价格回报使用存储的收盘价;这并不意味着数据包含调整后的总回报序列。周线/月线由日线汇总而成。新闻读取会返回缓存文章,除研究端点外,还可以请求范围受限的后台刷新;结果为空并不能证明没有相关新闻。
共识预估使用可用的 Yahoo 营收/EPS 目标和 EPS 修订数据;此数据源不提供 EBITDA、管理层指引和营收修订数据。预估读取可以排队执行免费的共识刷新;美国业绩电话会记录读取可以排队导入现有免费 DefeatBeta 数据源中最新的两次电话会记录;刷新或导入期间,首次缓存响应可能为空。研究端点(/research/mcp)不会排队执行任务:其新闻、预估和电话会记录读取仅返回已存储的行,因此该端点上的所有工具均为只读。尚未配置美国以外的电话会记录覆盖范围。运营 KPI 观测仍仅限于已存储的行,尚无广泛的 KPI 数据摄取流程。依赖可选数据集前,请先使用 get_company_data_coverage。缺失数据表示未知。风险区间描述的是已测量的压力;模型估值差描述的是相对定价;两者都不是目标价或买入/卖出建议。
同一只 UCITS 基金可能在多个交易场所以不同代码交易。请使用 get_etf_fund 解析 ISIN,并在评估重叠时将这些上市标的视为同一持仓。
访问短名单需要 read:shortlist 和 write:shortlist 权限。如果连接的是旧版,请重新连接账户端点以授予这些权限。save_research_shortlist 接受 1-20 个完全匹配的股票或 ETF 上市代码;已确认的保存结果和各项失败会分别返回。
成功的回答会提供可选的上下文链接,指向 Bullrun 的图表、筛选器、公司关系网络或已保存草稿。链接说明会标明应用无法还原的设置。打开草稿链接不会接受草稿,也不会更改持仓。
本地 stdio 构建
远程端点是最简单的连接方式。若要为本地客户端构建连接器或检查目录:
npm ci
npm run build
node dist/stdio.js
stdio 构建默认从 https://bull-run.org 读取公开数据。设置 BULLRUN_API_BASE 可使用其他 Bullrun API 部署。匿名 stdio 客户端无法读取个人投资组合或创建草稿。
发布验证
npm test
npm run test:catalog
公共仓库包含 MCP 连接器,不包含应用数据库或数据服务。连接器源代码、版本和目录通过应用仓库的发布流程保持同步。MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。