# Bullrun: Global Stock & UCITS ETF Research (org.bull-run/bullrun): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/org.bull-run%2Fbullrun/versions/latest)
- Connected to: https://mcp.bull-run.org/mcp
- Homepage: https://bull-run.org/mcp
- Repository: https://github.com/ferinator/bullrun-mcp
- Scoring rules: v2
- Tools: 48
- Average: 72.3 / 100 (Clear)
- Near-identical pairs: 0

This page shows how Bullrun: Global Stock & UCITS ETF Research (org.bull-run/bullrun)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 48 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 4492 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `screen_stocks`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_earnings_call_transcript`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_etf_exposures`: 58 / 100
  - Major: Arguments without a description: types, limitPerType.
- `simulate_etf_cost`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: initialInvestment, contributionAmount, contributionFrequency, years, commissionPerTrade.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_quality_moat_metrics`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_financial_history`: 62 / 100
  - Minor: Says nothing about what it returns.
- `get_macro_indicators`: 63 / 100
  - Minor: Arguments without a description: limit.
  - Minor: Says nothing about what it returns.
- `find_stock_peers`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_stock_price_history`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_research_shortlist`: 65 / 100
  - Minor: Says nothing about what it returns.
- `get_global_markets_overview`: 66 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_risk_movers`: 66 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_capabilities`: 67 / 100
  - Minor: Says nothing about what it returns.
- `get_company_data_coverage`: 67 / 100
  - Minor: Says nothing about what it returns.
- `get_forward_estimates`: 67 / 100
  - Minor: Says nothing about what it returns.
- `get_etf_snapshot`: 68 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_operating_kpis`: 69 / 100
- `screen_valuation_model`: 69 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `get_corporate_calendar`: 70 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_etf_risk`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_macro_history`: 70 / 100
  - Minor: No `required` list, so every argument is optional.
- `save_research_shortlist`: 70 / 100
  - Minor: Says nothing about what it returns.
- `create_position_draft`: 72 / 100
  - Minor: Says nothing about what it returns.
- `get_company_risk`: 72 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_company_risk_history`: 72 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_etf_filter_options`: 72 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_etf_holdings`: 72 / 100
- `screen_risk_board`: 73 / 100
  - Minor: Arguments without a description: limit, offset.
  - Minor: No `required` list, so every argument is optional.
- `get_company_news`: 74 / 100
- `get_valuation_model`: 74 / 100
- `compare_etfs`: 75 / 100
- `compare_stocks`: 75 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_revenue_breakdown`: 75 / 100
  - Minor: Says nothing about what it returns.
- `create_portfolio_draft`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `create_portfolio_from_positions`: 79 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_country_macro`: 79 / 100
- `get_etf_timeseries`: 79 / 100
  - Minor: Arguments without a description: interval, startDate, endDate.
- `get_portfolio_analytics`: 81 / 100
- `screen_etfs`: 81 / 100
  - Minor: String arguments with no constraint or example: region.
  - Minor: No `required` list, so every argument is optional.
- `get_stock_metrics`: 82 / 100
- `search_stocks`: 82 / 100
- `get_company_relationships`: 84 / 100
- `get_etf_index_group`: 84 / 100
  - Minor: No `required` list, so every argument is optional.
- `list_portfolios`: 84 / 100
  - Minor: No `required` list, so every argument is optional.
- `compare_company_exposures`: 85 / 100
- `get_etf_fund`: 87 / 100
  - Minor: No `required` list, so every argument is optional.
- `search_etfs`: 87 / 100
  - Minor: Arguments without a description: sortDirection, includeSecondary, includeInactive.
  - Minor: String arguments with no constraint or example: currency.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument includeSecondary is unclear.
  - Minor: The meaning of the boolean argument includeInactive is unclear.
- `get_portfolio_context`: 92 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
