# TipRanks (remote · mcp.tipranks.com)

Live TipRanks market data: analyst ratings, Smart Score, technicals, options, portfolios.

- Trust score: 75/100 (medium)
- Change this week: +9
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.tipranks.com`: 75/100 (this document), [markdown](https://verifymcp.io/servers/com-tipranks-tipranks/mcp.md), [page](https://verifymcp.io/servers/com-tipranks-tipranks/mcp)

## Channel facts

- Endpoint: `https://mcp.tipranks.com/mcp/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 11076 tokens (~158/item across 70 items; 70 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 81/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 32% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-tipranks-tipranks https://mcp.tipranks.com/mcp/
```

### Codex

```toml
[mcp_servers.com-tipranks-tipranks]
url = "https://mcp.tipranks.com/mcp/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-tipranks-tipranks": {
      "type": "remote",
      "url": "https://mcp.tipranks.com/mcp/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-tipranks-tipranks --url https://mcp.tipranks.com/mcp/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-tipranks-tipranks:
    url: "https://mcp.tipranks.com/mcp/"
```

### Other

```json
{
  "mcpServers": {
    "com-tipranks-tipranks": {
      "type": "http",
      "url": "https://mcp.tipranks.com/mcp/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 73, +6)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 66, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 65)

First indexed and scored.

## MCP tools (70)

### `list_my_portfolios` (~64 tokens)

List the portfolios you authorized this connector to access.

    Returns the portfolios that were on your TipRanks account at the time
    you signed in, each with its id and name. If you've added or renamed
    portfolios since, re-authorize to refresh.

Output parameters:

- `result` (string)

### `get_portfolio_holdings` (~106 tokens)

Returns all holdings for one of your TipRanks portfolios.

    Per holding: ticker, shares, price, cost basis (AvgExecutionPrice),
    P/E ratio, dividend yield, market cap, sector, country, 52-week high/low,
    percentage of portfolio, beta, EPS. Plus total value, cash, stock count.

    Args:
        portfolio_id: One of the IDs returned by list_my_portfolios.

Input parameters:

- `portfolio_id` (integer, required)

Output parameters:

- `result` (string)

### `get_portfolio_overview` (~93 tokens)

Returns lifetime / 1mo / 6mo / 12mo / YTD returns, Sharpe ratio, and a
    monthly-return time series. The monthly history field is chart-ready —
    a list of {month, return} points suitable for direct plotting.

    Args:
        portfolio_id: One of the IDs returned by list_my_portfolios.

Input parameters:

- `portfolio_id` (integer, required)

Output parameters:

- `result` (string)

### `get_portfolio_analysis` (~64 tokens)

Returns asset allocation by type/country/top stocks and distribution by sector,
    market cap, dividend yield, beta, and P/E.

    Args:
        portfolio_id: One of the IDs returned by list_my_portfolios.

Input parameters:

- `portfolio_id` (integer, required)

Output parameters:

- `result` (string)

### `get_portfolio_performance` (~105 tokens)

Returns full performance: stats, gains, best trade, recent activity, a
    daily-yield time series benchmarked against S&P 500 (chart-ready —
    aligned dates with portfolio and benchmark yield columns, plot directly
    as overlaid lines), monthly returns, risk profile, beta, dividend
    yield/amount.

    Args:
        portfolio_id: One of the IDs returned by list_my_portfolios.

Input parameters:

- `portfolio_id` (integer, required)

Output parameters:

- `result` (string)

### `get_assets_data` (~435 tokens)

Returns key TipRanks stock data for one or more tickers.

    Args:
        tickers: Ticker symbols — a comma-separated string ("AAPL,MSFT,C") or a
            JSON array (["AAPL","MSFT","C"]). Both are accepted.

    Returns JSON {"assetsData": [...one compact entry per ticker...]}. This is a
    headline summary tuned to stay small enough for a whole portfolio to fit in a
    single response. Fields per entry:
      - ticker, companyName, sector, stockType, marketCap
      - url: canonical TipRanks page for the stock — use as the citation source.
      - price: latest close.
      - smartScore: TipRanks composite 1-10 (combines the 8 datasets — analyst,
          blogger, news, hedge-fund, insider, etc.).
      - analystConsensus / bestAnalystConsensus: rating label from ALL covering
          analysts vs. the top-performing ones ("Strong Buy".."Strong Sell"); a
          divergence between the two is itself a signal.
      - priceTarget: average 12-month target. priceTargetUpside: decimal vs.
          current price (0.05 = +5%).
      - peRatio, dividendYield (decimal).
      - newsSentiment, hedgeFundsScore, insiderScore: 0-1 sentiment signals.
      - ytdGainPct, yearlyGainPct: price performance as a percent (12.5 = +12.5%,
          3944 = +3944%).
      - nextEarningsDate, and daysUntilEarnings (whole days from today — quote this
          rather than computing the gap from the date yourself).
    Floats are rounded and dates are day-resolution. For deeper per-ticker detail
    (full price history, 13F / insider breakdowns, blogger counts, financials)
    use the dedicated tools (get_stock_prices, get_hedge_fund_holdings,
    get_insider_transactions, get_financials, ...).

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_assets_events` (~124 tokens)

Returns upcoming dividend and earnings events for tickers.

    Args:
        tickers: Comma-separated ticker symbols (e.g. "AAPL,MSFT")
        from_date: Optional start date (ISO format, e.g. "2026-03-01")
        to_date: Optional end date (ISO format, e.g. "2026-06-01")

    Returns: dividend dates, earnings dates, and coupon dates per ticker.

Input parameters:

- `from_date` (string)
- `tickers` (required)
- `to_date` (string)

Output parameters:

- `result` (string)

### `get_assets_news` (~273 tokens)

Returns recent news articles for tickers, aggregated from many news
    sites, each with a sentiment tag and source URL (headlines only — no
    article body). For general/market TipRanks news without a specific ticker,
    or for an article excerpt, use get_latest_news.

    Args:
        tickers: Comma-separated ticker symbols
        count: Number of articles to return (default 10)
        from_date: Optional 'YYYY-MM-DD' recency floor (filtered on `date`).

    Returns JSON: {"assetNewsArticles": [...]}. Each entry:
      - ticker, companyName
      - sentiment: bucketed signal — one of "VeryPositive", "Positive",
          "Neutral", "Negative", "VeryNegative". Derived from TipRanks
          news-sentiment classifier on the article text.
      - siteName, url, title
      - date, addedOn, publishTime, articleTimestamp: redundant date
          fields. addedOn is when TipRanks ingested it; publishTime is
          the source's stated publication time. Prefer publishTime.

Input parameters:

- `count` (integer)
- `from_date` (string): Optional recency floor 'YYYY-MM-DD'; only returns articles published on or after this date.
- `tickers` (required)

Output parameters:

- `result` (string)

### `get_latest_news` (~281 tokens)

Latest TipRanks news articles (newest first) from TipRanks's own
    editorial/wire feed — each with a text excerpt, unlike get_assets_news.

    Use for general market news (no ticker), news on a specific stock with a
    short summary of each story, or to browse a news category.

    Args:
        tickers: Optional comma-separated tickers to filter by (e.g. 'NVDA,AAPL').
                 Omit for general market news.
        category: Optional single category (see the field description).
        from_date: Optional 'YYYY-MM-DD' recency floor.
        limit: Max articles to return (default 20).

    Returns a JSON list of {id, title, excerpt, author, category, date, url,
    tickers}. To read a full article, pass its url or id to get_article.

Input parameters:

- `category` (string): Optional single category: 'news', 'the-fly', 'blurbs', 'catalyst', 'ratings', 'cryptocurrencies', 'insider-trading', 'newswire', 'private-companies', 'company-announcements'. Omitted = editorial/wire…
- `from_date` (string)
- `limit` (integer)
- `tickers` (string)

Output parameters:

- `result` (string)

### `get_article` (~185 tokens)

Fetch the full text of a single TipRanks article.

    Resolve a TipRanks article URL (e.g. from get_latest_news / get_assets_news),
    a slug, or a numeric post id to its title, excerpt, full body text
    (HTML-stripped, capped at 8000 chars), author, category, date, canonical
    URL, and any tagged tickers.

    Args:
        identifier: Numeric post id, slug, or a tipranks.com article URL.

    Returns a JSON object, or {"error": ...} when no matching TipRanks article
    exists (e.g. the URL points to an aggregated third-party site, which is not
    stored in TipRanks).

Input parameters:

- `identifier` (string, required): A TipRanks article identifier: the numeric post id, the slug, or a full tipranks.com article URL.

Output parameters:

- `result` (string)

### `get_assets_warnings` (~51 tokens)

Returns risk warnings for tickers.

    Args:
        tickers: Comma-separated ticker symbols

    Returns: warning type, date, and detail fields per ticker.

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_trending_stocks` (~284 tokens)

Returns currently trending stocks that recently received analyst ratings.

    Args:
        num: Number of results (default 20)
        filter: 'analysts', 'bloggers', or 'both'
        daysAgo: Days to look back (default 7). Pass 30 when filtering by sector or
                 country to ensure enough results — narrow windows often return fewer
                 than 5 stocks in a specific sector.
        trendingType: 'best-rated' or 'worst-rated' (empty for all)
        country: 'US','Canada','UK','Germany','Israel','Australia' etc.

    Returns: ticker, SmartScore, analyst/blogger sentiment, hedge fund trend,
             price target, buy/hold/sell counts per stock.

Input parameters:

- `country` (string): Country name, e.g. 'US','Canada','UK','Germany','Israel','Australia' (default: US)
- `daysAgo` (integer): Days to look back (default: 7). Use 30 when filtering by sector or country, as narrow windows often return very few stocks.
- `filter` (string): 'analysts', 'bloggers', or 'both' (default: analysts)
- `num` (integer)
- `trendingType` (string): 'best-rated' or 'worst-rated'; omit for all (default: all)

Output parameters:

- `result` (string)

### `get_company_kpis` (~240 tokens)

Returns company-specific operational KPIs: segment revenue, geographic
    breakdown, active users/devices, gross margins by type, opex breakdown.

    Full history runs back to 2014 and is large, so this returns the most
    recent `count` periods per metric by default — pass count=0 for the full
    history, or `group` to fetch a single group.

    Args:
        ticker: Stock ticker (e.g. 'AAPL', 'MSFT')
        count: Most-recent periods per metric (default 8, max 40; 0 = full history)
        group: Optional single group by slug or title

    Returns JSON: {"ticker", "lastUpdated", "groups": [...]}. Each group has
    slug, title, and metrics: [{title, slug, unit, series: [{periodEnd, value}]}].

Input parameters:

- `count` (integer)
- `group` (string): Optional single KPI group by slug or title (e.g. 'revenue_geography', 'Revenue by Segment'). Omit for all groups.
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_market_movers` (~184 tokens)

Returns today's market movers: biggest gainers, losers, most active.

    Args:
        category: 1=DollarVolume, 2=PercentGainers, 3=PercentLosers,
                  4=GainersRegular, 5=LosersRegular, 6=UnusualVolume
        country: 1=US, 2=Canada, 3=UK
        num: Number of results

Input parameters:

- `category` (integer, required): 1=DollarVolume, 2=PercentGainers (ext hours), 3=PercentLosers (ext hours), 4=GainersRegular, 5=LosersRegular, 6=UnusualVolume
- `country` (integer): 1=US, 2=Canada, 3=UK (default: 1)
- `num` (integer)

Output parameters:

- `result` (string)

### `get_top_rated_stocks` (~185 tokens)

Returns stocks most recommended by the best-performing analysts (by analyst track record).

    Args:
        num: Number of results
        sector: Sector filter (financial, healthcare, technology, etc.) or empty for all
        country: 'US', 'Canada', 'UK', 'Global'. NOTE: UK tickers use GB: prefix but country param is 'UK'.

Input parameters:

- `country` (string): 'US', 'Canada', 'UK', or 'Global' (default: US). UK tickers are returned with a 'GB:' prefix but the country value is still 'UK'.
- `num` (integer)
- `sector` (string): Lowercase sector filter: financial, healthcare, consumerdefensive, consumercyclical, utilities, materials, technology, industrials, energy, communicationservices, realestate (default: all sectors)

Output parameters:

- `result` (string)

### `get_top_smart_score_stocks` (~243 tokens)

Returns stocks with the highest TipRanks Smart Score (perfect 10 / Outperform).

    Args:
        num: Number of results
        sector: Sector filter (financial, healthcare, technology, etc.) or empty for all
        country: 'US', 'Canada', 'UK', 'Germany', 'Spain', 'France', 'India', 'Italy',
                 'Israel', 'Australia', 'Singapore', 'Japan', 'HongKong', 'Global'.
                 NOTE: UK tickers use GB: prefix but the country param is 'UK'.

Input parameters:

- `country` (string): 'US','Canada','UK','Germany','Spain','France','India','Italy','Israel','Australia','Singapore','Japan','HongKong', or 'Global' (default: US). UK tickers are returned with a 'GB:' prefix but the count…
- `num` (integer)
- `sector` (string): Lowercase sector filter: financial, healthcare, consumerdefensive, consumercyclical, utilities, materials, technology, industrials, energy, communicationservices, realestate (default: all sectors)

Output parameters:

- `result` (string)

### `get_economic_calendar` (~334 tokens)

Returns upcoming and recent economic events (Fed meetings, jobs reports, CPI, GDP).

    Defaults to US events at High/Medium impact only because the raw feed includes
    hundreds of low-impact items from every country.

    Args:
        daysBack: Days to look back (default 0)
        daysForward: Days to look forward (default 7)
        fromDate: Start date ISO format (alternative to daysBack)
        toDate: End date ISO format (alternative to daysForward)
        countries: Comma-separated country names to keep (default 'US').
                   Pass an empty string to disable the country filter.
                   Common values: 'US','UK','Germany','Japan','China','Canada','France'.
        impact: Comma-separated impact levels to keep (default 'High,Medium').
                Valid values: 'High','Medium','Low'. Pass empty to keep all levels.
        limit: Max events returned after filtering (default 50, max 200).

    Returns: { totalMatched, returned, filters, economicCalendar: [...] }.

Input parameters:

- `countries` (string): Comma-separated country names to keep (default 'US'); pass '' to keep all. Examples: 'US','UK','Germany','Japan','China'.
- `daysBack` (integer)
- `daysForward` (integer)
- `fromDate` (string)
- `impact` (string): Comma-separated impact levels to keep: High, Medium, Low (default 'High,Medium'); pass '' to keep all.
- `limit` (integer)
- `toDate` (string)

Output parameters:

- `result` (string)

### `get_peers` (~96 tokens)

Peer/competitor companies for a stock, with comparative metrics for
    side-by-side analysis. Read-only, no side effects.

    Use to find and compare a company against similar names (competitors,
    same-sector peers). For that company's own data use get_assets_data; for a
    sector-wide breakdown use get_sector_analysis.

Input parameters:

- `ticker` (string, required): Stock ticker symbol, e.g. 'AAPL'.

Output parameters:

- `result` (string)

### `get_politicians` (~37 tokens)

Returns the list of politicians tracked for trading activity.

    Returns: name, party, state, position, net worth, profile.

Output parameters:

- `result` (string)

### `get_politician_activity` (~102 tokens)

Returns a specific politician's stock trades or holdings.

    First call get_politicians to find the politicianId.

    Args:
        politicianId: Politician ID from get_politicians
        activity: 'trades' or 'holdings'

Input parameters:

- `activity` (string): 'trades' or 'holdings' (default: trades)
- `politicianId` (integer, required): Politician ID, as returned by get_politicians.

Output parameters:

- `result` (string)

### `get_earnings_calendar` (~100 tokens)

Returns upcoming earnings dates across all stocks for a date range.

    Args:
        fromDate: Start date YYYY-MM-DD (default: today)
        toDate: End date YYYY-MM-DD (default: 14 days from now)
        exchange: Optional exchange filter, e.g. 'US' for US-only results

Input parameters:

- `exchange` (string)
- `fromDate` (string)
- `toDate` (string)

Output parameters:

- `result` (string)

### `get_ticker_earnings` (~103 tokens)

Upcoming and recent earnings dates for a specific stock — scheduled
    report dates with EPS/revenue estimates where available. Read-only, no
    side effects.

    Use this to find when a company reports. For past actual-vs-estimate
    results use get_earnings_history; for a cross-market schedule use
    get_earnings_calendar.

Input parameters:

- `ticker` (string, required): Stock ticker symbol, e.g. 'NVDA'.

Output parameters:

- `result` (string)

### `get_ipo_calendar` (~67 tokens)

Returns upcoming and recent IPOs.

    Args:
        fromDate: Start date ISO format (default: today)
        toDate: End date ISO format (default: 30 days from now)

Input parameters:

- `fromDate` (string)
- `toDate` (string)

Output parameters:

- `result` (string)

### `get_clinical_trials` (~99 tokens)

Returns the FDA / clinical-trial calendar — upcoming drug approval target
    dates and the tickers behind each drug.

    Window is fixed at today − 14 days to today + 60 days, sorted by date ascending.
    Use for upcoming FDA decisions, PDUFA dates, biotech catalysts.

    Returns: { data: [{ targetDate, clinicalTrials: [{ drugName, ticker }] }],
               count, window }.

Output parameters:

- `result` (string)

### `get_stock_splits` (~201 tokens)

Returns the stock-split calendar with split ratios and direction
    (Forward / Reverse). Use for upcoming splits, reverse-split alerts,
    historical split lookup.

    Args:
        fromDate: Start date YYYY-MM-DD (default: 30 days ago)
        toDate: End date YYYY-MM-DD (default: 30 days from now)
        type: Optional filter — 'Forward' or 'Reverse' (case-insensitive).
              Empty string returns both.
        limit: Max rows (default: 25, max: 100)

    Returns: { totalCount, data: [{ ticker, companyName, effectiveDate, type,
                                    splitRatio, splitRatioText }] }.

Input parameters:

- `fromDate` (string)
- `limit` (integer)
- `toDate` (string)
- `type` (string): Optional filter: 'Forward' or 'Reverse' (case-insensitive); omit to return both.

Output parameters:

- `result` (string)

### `get_buybacks` (~347 tokens)

Returns share-buyback / stock-repurchase activity in one of two modes:

    - CROSS-MARKET (no ticker): latest reported buybacks across all companies,
      sorted by dollar amount spent (largest first). Use for 'biggest buybacks',
      'top repurchase companies'. A single company may appear multiple times for
      different fiscal quarters.
    - PER-TICKER (ticker provided): historical quarterly buyback series for one
      ticker. Use for 'AAPL buyback history', 'MSFT repurchase trend'.

    Args:
        ticker: Optional. If provided, returns the per-ticker historical series.
                If empty, returns the cross-market list.
        limit: Cross-market mode only — max rows (default: 25, max: 100).
        page: Cross-market mode only — page number, 1-based (default: 1).

    Returns:
        Cross-market mode: { totalCount, data: [{ ticker, companyName,
                             fiscalPeriodEndDate, stockEarningsDate, eps,
                             marketCapUSD, totalValueSpentToRepurchaseShares,
                             epsCurrencyTypeCode }] }.
        Per-ticker mode: quarterly time series, chart-ready as a bar or
            line plot of buyback spend over time —
            [{ date, marketCapEndFiscalPeriod,
               totalValueSpentToRepurchaseShares,
               ratio (decimal — buyback / market cap) }, ...].

Input parameters:

- `limit` (integer)
- `page` (integer)
- `ticker` (string): Optional. If provided, returns the per-ticker historical buyback series; if omitted, returns the cross-market list.

Output parameters:

- `result` (string)

### `get_bulls_bears_summary` (~138 tokens)

Returns the discrete bull and bear key points for stocks — the individual
    sentence bullets TipRanks shows on its stock pages, each tagged with a topic.

    Args:
        tickers: Comma-separated tickers (e.g. 'AAPL,TSLA')

    Returns JSON: {"data": [...one entry per ticker...]}. Each entry has:
      - ticker, updatedOn
      - bullish: list of bullish point sentences
      - bearish: list of bearish point sentences
      - key_points: list of {sentiment, topic, point} for the full set.

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_investor_sentiment` (~504 tokens)

Returns crowd / retail investor sentiment for a stock.

    Args:
        ticker: Stock ticker (e.g. 'NVDA')

    Returns JSON with these top-level keys:
      - investorStatsOverview: stats aggregated across ALL TipRanks
          portfolios that hold the ticker. Fields:
            * numberOfPortfolios: total active portfolios on the platform.
            * portfoliosHoldingStock: how many of them hold THIS ticker.
            * averageAllocation: average % allocation among holders (decimal).
            * percentOverLast30Days / percentOverLast7Days: change in the
              count of holders over the window (decimal; 0.013 = +1.3%).
            * investorScore: TipRanks' 0-1 score of how confident "the
              crowd" is on this stock; higher = more bullish positioning.
            * sectorAverageScore: investorScore averaged across the sector,
              for comparison.
            * sentiment: bucketed label — one of "VeryNegative",
              "Negative", "Neutral", "Positive", "VeryPositive".
            * sectorAverageSentiment: same bucket, sector-wide.
      - bestInvestorStatsOverview: same fields, but restricted to "Best
          Investors" — TipRanks users with top-decile portfolio returns
          over the trailing window. If investorStatsOverview and
          bestInvestorStatsOverview diverge (e.g. crowd is Positive but
          best investors are Negative), that's the headline signal.
      - ageDistribution: holders split by TipRanks account-tenure tier
          (NOT the investor's biological age):
            * eldest: oldest accounts on the platform
            * midRange: middle tier
            * youngest: newest accounts
          Each has percentHolders, last30DaysChange, last7DaysChange,
          and per-bucket averages (averageBeta, averageMonthlyReturn,
          dividendYield, averagePeRatio).
      - investorsAlsoBought: top other stocks held by people who hold
          this one (each: ticker, companyName, averageHold…

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_blogger_sentiment` (~170 tokens)

Returns the financial-blogger consensus for a stock plus the underlying
    blogger articles.

    Distinct from get_recent_analyst_ratings (Wall Street analysts) and
    get_investor_sentiment (TipRanks crowd positioning).

    Args:
        ticker: Stock ticker (e.g. 'AAPL')
        limit: Max blogger articles to return (default 20, max 50)

    Returns JSON: {ticker, company, consensus, articles}.
      - consensus: {bullish_pct, bearish_pct, neutral_pct, bullish_count,
          bearish_count, neutral_count, score, avg}.
      - articles: [{blogger, title, url, site, date}] (newest first).

Input parameters:

- `limit` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_top_hedge_fund_managers` (~52 tokens)

Returns top-performing hedge fund managers ranked by success rate and returns.

    Args:
        num: Number of managers to return (default 10)

Input parameters:

- `num` (integer)

Output parameters:

- `result` (string)

### `get_hedge_fund_activity` (~183 tokens)

Returns per-fund hedge-fund holdings and recent transactions for a ticker —
    which institutions hold it, how much each changed (bought/sold), the holding
    value, % of portfolio, and the fund's TipRanks rank/stars.

    Complements get_hedge_fund_holdings (the aggregate share-count timeseries).

    Args:
        ticker: Stock ticker (e.g. 'AAPL')
        limit: Max funds to return (default 25, max 100)

    Returns JSON: {ticker, company, sentiment, trend_action, trend_value, funds}.
      - funds: [{manager, institution, shares_change, direction, holding_value,
          pct_of_portfolio, as_of, rank, stars, is_active}].

Input parameters:

- `limit` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_best_performing_experts` (~102 tokens)

Returns the best-performing experts ranked by TipRanks success rate and average return.

    Args:
        expert_type: One of: analyst, insider, hedgeFund, blogger, firm (default: analyst)
        num: Number of results (default: 10, max: 25)

Input parameters:

- `expert_type` (string): One of: analyst, insider, hedgeFund, blogger, firm (default: analyst)
- `num` (integer)

Output parameters:

- `result` (string)

### `get_technical_analysis` (~312 tokens)

Returns RSI, MACD, Stochastics, ADX, moving averages, and pivot points
    for individual stocks.

    Stocks only — ETFs like SPY, QQQ, VTI are not supported here. For ETFs,
    use get_etf_analysis, get_etf_forecast, get_etf_top_stocks, or
    get_etf_exposures instead.

    Args:
        tickers: Comma-separated stock tickers (e.g. 'NVDA' or 'NVDA,AAPL').
                 ETF tickers will return no data.
        timeFrame: '1m','5m','15m','30m','1h','5h','day','3d','week','2w','month' (default: 'day')

    Returns: summary scores, oscillators (RSI, MACD, Stochastics, ADX, CCI,
             Williams %R, ATR, ROC), moving averages, and pivot points.
             indicator field: 1=Sell, 2=Neutral, 3=Buy.
             scoreScale: 1=StrongBuy, 2=Buy, 3=Neutral, 4=Sell, 5=StrongSell.

Input parameters:

- `tickers` (required)
- `timeFrame` (string): One of '1m','5m','15m','30m','1h','5h','day','3d','week','2w','month' (default: 'day')

Output parameters:

- `result` (string)

### `get_etf_analysis` (~57 tokens)

Returns analyst consensus for ETFs based on weighted average of holdings' ratings.

    Args:
        tickers: Comma-separated ETF tickers (e.g. 'QQQ,SPY,VTI')

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_etf_forecast` (~51 tokens)

Returns the analyst forecast for a specific ETF: consensus, price target, upside.

    Args:
        ticker: ETF ticker (e.g. 'QQQ')

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_etf_top_stocks` (~50 tokens)

Returns the top stock holdings within an ETF along with their analyst ratings.

    Args:
        ticker: ETF ticker (e.g. 'QQQ')

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_etf_exposures` (~186 tokens)

Returns the list of ETFs that hold a specific stock, sorted by holding market
    value (largest first).

    Args:
        ticker: Stock ticker (e.g. 'MSFT', 'AAPL')
        page: Page number (default 1)
        page_size: Results per page (default 20, max 100)

    Returns per ETF: etfTicker, etfCompanyName, etfCategory, aum, expenseRatio,
    holdingWeight (% of ETF in this stock), holdingMarketValue ($),
    holdingNumOfShares, weightInAsset (% of stock's outstanding shares held by this ETF),
    etfAnalystConsensusScore, etfSmartScore. Also returns totalCount (total ETFs holding the stock).

Input parameters:

- `page` (integer)
- `page_size` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_etf_screener` (~180 tokens)

Filters ETFs by asset class, category, and focus.

    Args:
        assetClass: Alternatives, AssetAllocation, Commodities, Currency, Equity, FixedIncome
        category: BroadMarket, Sector, HighDividendYield, SizeAndStyle, Corporate, etc.
        focus: LargeCap, SmallCap, MidCap, TotalMarket, Financials, HealthCare,
               InformationTechnology, Energy, RealEstate, HighDividendYield, HighYield, etc.

Input parameters:

- `assetClass` (string): Asset class filter, e.g. 'Equity', 'FixedIncome', 'Commodities'
- `category` (string): Category filter, e.g. 'Sector', 'BroadMarket', 'HighDividendYield'
- `focus` (string): Focus filter, e.g. 'LargeCap', 'InformationTechnology', 'HighYield'

Output parameters:

- `result` (string)

### `get_commodity_quote` (~109 tokens)

Returns the real-time price quote for a specific commodity.

    Common symbols: GCUSD (gold), SIUSD (silver), CLUSD (crude oil),
    NGUSD (natural gas), HGUSD (copper), PLUSD (platinum).

    Args:
        symbol: Commodity symbol (e.g. 'GCUSD' for gold)

Input parameters:

- `symbol` (string, required): Commodity symbol, e.g. 'GCUSD' (gold), 'CLUSD' (crude oil).

Output parameters:

- `result` (string)

### `get_all_commodities_quotes` (~24 tokens)

Returns real-time quotes for all commodities in a single request.

Output parameters:

- `result` (string)

### `get_commodity_historical` (~132 tokens)

Daily OHLCV time series for a commodity. Chart-ready: each row is
    {date, open, high, low, close, volume}, ordered for direct plotting
    as a price history.

    Args:
        symbol: Commodity symbol (e.g. 'GCUSD' for gold)
        from_date: Start date YYYY-MM-DD (optional)
        to_date: End date YYYY-MM-DD (optional)

Input parameters:

- `from_date` (string)
- `symbol` (string, required): Commodity symbol, e.g. 'GCUSD' (gold).
- `to_date` (string)

Output parameters:

- `result` (string)

### `get_forex_quote` (~92 tokens)

Returns the real-time exchange rate quote for a forex pair.

    Common pairs: EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD.

    Args:
        symbol: Forex pair symbol (e.g. 'EURUSD')

Input parameters:

- `symbol` (string, required): Forex pair, uppercase with no slash, e.g. 'EURUSD', 'GBPUSD', 'USDJPY'.

Output parameters:

- `result` (string)

### `get_all_forex_quotes` (~24 tokens)

Returns real-time quotes for all forex pairs in a single request.

Output parameters:

- `result` (string)

### `get_forex_historical` (~134 tokens)

Daily OHLCV time series for a forex pair. Chart-ready: each row is
    {date, open, high, low, close, volume}, ordered for direct plotting
    as an exchange-rate history.

    Args:
        symbol: Forex pair symbol (e.g. 'EURUSD')
        from_date: Start date YYYY-MM-DD (optional)
        to_date: End date YYYY-MM-DD (optional)

Input parameters:

- `from_date` (string)
- `symbol` (string, required): Forex pair, uppercase with no slash, e.g. 'EURUSD'.
- `to_date` (string)

Output parameters:

- `result` (string)

### `get_index_quote` (~161 tokens)

Returns the real-time quote for a major market index.

    Index symbols: ^GSPC (S&P 500), ^IXIC (Nasdaq), ^DJI (Dow Jones),
    ^GSPTSE (TSX), ^FTSE (FTSE 100), ^N225 (Nikkei), ^AORD (All Ords),
    ^HSI (Hang Seng), ^STI (STI), ^BSESN (Sensex), ^VIX (VIX).

    Args:
        symbol: Index symbol (e.g. '^GSPC' for S&P 500)

Input parameters:

- `symbol` (string, required): Index symbol, e.g. '^GSPC' for the S&P 500.

Output parameters:

- `result` (string)

### `get_index_historical` (~142 tokens)

Daily OHLCV time series for a major market index. Chart-ready: each
    row is {date, open, high, low, close, volume}, ordered for direct
    plotting as an index history.

    Args:
        symbol: Index symbol (e.g. '^GSPC' for S&P 500)
        from_date: Start date YYYY-MM-DD
        to_date: End date YYYY-MM-DD (defaults to today)

Input parameters:

- `from_date` (string, required)
- `symbol` (string, required): Index symbol, e.g. '^GSPC' for the S&P 500.
- `to_date` (string)

Output parameters:

- `result` (string)

### `get_crypto_quote` (~113 tokens)

Returns the real-time price quote for a specific cryptocurrency.

    Common symbols: BTCUSD (Bitcoin), ETHUSD (Ethereum), SOLUSD (Solana),
    BNBUSD (BNB), XRPUSD (XRP), ADAUSD (Cardano), DOGEUSD (Dogecoin).

    Args:
        symbol: Cryptocurrency symbol (e.g. 'BTCUSD' for Bitcoin)

Input parameters:

- `symbol` (string, required): Crypto symbol, e.g. 'BTCUSD' (Bitcoin), 'ETHUSD' (Ethereum).

Output parameters:

- `result` (string)

### `get_all_crypto_quotes` (~22 tokens)

Returns real-time quotes for all cryptocurrencies in a single request.

Output parameters:

- `result` (string)

### `get_crypto_historical` (~131 tokens)

Daily OHLCV time series for a cryptocurrency. Chart-ready: each row
    is {date, open, high, low, close, volume}, ordered for direct
    plotting as a price history.

    Args:
        symbol: Cryptocurrency symbol (e.g. 'BTCUSD' for Bitcoin)
        from_date: Start date YYYY-MM-DD (optional)
        to_date: End date YYYY-MM-DD (optional)

Input parameters:

- `from_date` (string)
- `symbol` (string, required): Crypto symbol, e.g. 'BTCUSD' (Bitcoin).
- `to_date` (string)

Output parameters:

- `result` (string)

### `get_crypto_news` (~119 tokens)

Latest cryptocurrency news — a market-wide feed across all coins (not
    filtered to a single asset), ordered newest-first: article headlines,
    snippets, and source URLs. Read-only, no side effects.

    Use for broad crypto/market headlines. For news about a specific holding
    use get_assets_news; for the general (non-crypto) editorial feed use
    get_latest_news.

Input parameters:

- `page` (integer): 0-indexed page of recent articles (0 = most recent); increase to page further back in time.

Output parameters:

- `result` (string)

### `get_sector_analysis` (~41 tokens)

Returns sector-level analysis for all 11 US sectors: average P/E, analyst
    upside, buy ratio, stock count. Sorted by average analyst upside.

Output parameters:

- `result` (string)

### `get_market_performance` (~74 tokens)

Returns market-wide performance for a specific country: average returns,
    sector breakdown, top/bottom performers.

    Args:
        country: Country code: 'us', 'ca', 'gb', 'de', 'il', 'au', 'hk', 'sg', etc.

Input parameters:

- `country` (string)

Output parameters:

- `result` (string)

### `get_earnings_history` (~233 tokens)

Quarterly earnings time series for a ticker. Chart-ready: each
    quarter row is {period, report_date, actual_eps, estimate_eps,
    eps_surprise_pct, prior_year_eps, eps_yoy_change_pct, actual_revenue,
    estimate_revenue, revenue_surprise_pct, net_income, ...}, ordered
    oldest-first so a bar chart of actual vs. estimate EPS, or a YoY
    trend line, plots directly.

    Also returns next_quarter — the upcoming scheduled report with the
    consensus estimate, low/high estimate band, and expected report date
    — for forward-looking charts.

    Use for: "AAPL earnings history", "earnings surprise trend", "did
    NVDA beat last quarter", "EPS beat/miss the past 4 quarters".

    Args:
        ticker: Stock ticker (e.g. 'AAPL', 'NVDA').
        quarters: Number of most-recent reported quarters to return
                   (default 8, max 40).

Input parameters:

- `quarters` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_financials` (~346 tokens)

Financial statements time series for a ticker, chart-ready. Each
    period is a flat ~25-field object spanning the income statement
    (revenue, gross / operating / EBITDA / net margins, EPS, R&D),
    the balance sheet (total assets, total debt, total equity, net
    debt, cash + short-term investments), the cash flow statement
    (operating cash flow, free cash flow, capex, dividends paid,
    buybacks), and two computed ratios (current ratio, debt-to-equity).

    Margins are emitted as percentages — gross_margin_pct of 49.27
    means 49.27%. Cash outflows (dividends_paid, buybacks) are
    returned as negative numbers, matching the source convention.

    Use for: "AAPL revenue and FCF over the last 10 years", "show
    margins trend", "is net debt rising", "EPS growth", "R&D as %
    of revenue".

    Args:
        ticker: Stock ticker (e.g. 'AAPL', 'NVDA').
        period: 'annual' (default), 'quarterly', or 'ttm' (trailing
                 twelve months). Annual periods extend ~9 years back;
                 quarterly extends ~37 quarters back.
        count: Number of most-recent periods to return (default 5,
                max 40), ordered oldest-first inside the returned
                `periods` array.

Input parameters:

- `count` (integer)
- `period` (string): 'annual' (default), 'quarterly', or 'ttm'
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_earnings_call_summary` (~234 tokens)

Returns the most recent earnings call summary for a ticker —
    management guidance text, overall call sentiment (positive / neutral
    / negative with a one-line rationale), and AI-extracted highlights
    and lowlights from the call as {title, content} bullets.

    This is a structured summary derived from the call, not the raw
    transcript text. Useful for "what did management say about X on the
    last call", "was the most recent call bullish or bearish", or
    "summarise the highlights from MSFT's latest earnings".

    Only the most recent quarter is stored per ticker; for historical
    EPS actual-vs-estimate series use get_earnings_history.

    Args:
        ticker: Stock ticker (e.g. 'AAPL', 'NVDA').

    Returns:
        { ticker, fiscal_year, fiscal_quarter, guidance,
          sentiment: { label, summary },
          highlights: [ { title, content }, ... ],
          lowlights:  [ { title, content }, ... ] }

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_dividend_history` (~242 tokens)

Dividend payment history for a ticker. Chart-ready: includes the
    current snapshot (yield %, payout ratio, frequency, annualised
    payout) plus two time series — a per-payment list
    [{ex_date, pay_date, amount, yield_pct, is_special, ...}] (newest
    first, capped at `count`) and an annual_totals list
    [{year, amount, yield_pct}] suitable for a yearly bar chart.

    All yields are emitted as percentages (4.5 = 4.5%), so plots don't
    need to know which underlying field used decimal vs. percentage
    encoding.

    Use for: "AAPL dividend history", "yield trend over 5 years",
    "dividend growth chart", "is the payout sustainable".

    Args:
        ticker: Stock ticker (e.g. 'AAPL', 'JNJ').
        count: Number of most-recent individual payments to return
                (default 16, max 100). The annual_totals series is
                always returned in full.

Input parameters:

- `count` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_stock_quotes` (~162 tokens)

Real-time price quote for one or more stocks or ETFs.

    Returns price, intraday OHLC, day change (amount + percent), volume,
    previous close, market cap, currency, exchange, and market-state
    flags (is_market_open / is_premarket / is_after_market). When
    extended-hours data is present, the entry includes a
    `pre_post_market` block — when the regular session is closed,
    that's the freshest price.

    For forex pairs use get_forex_quote; this endpoint is stocks/ETFs only.

    Args:
        tickers: Comma-separated tickers (e.g. 'AAPL' or 'AAPL,MSFT,NVDA').

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_stock_prices` (~183 tokens)

Historical daily closing prices for up to 5 stocks or ETFs.

    Per ticker: {ticker, period, series:[{date, price}], summary} with
    summary fields first_price, last_price, change_pct, high, low,
    trading_days. Series is downsampled to ~250 evenly-spaced points
    (latest point always retained) so the payload stays small for charting.

    `period` must be one of: 1m, 3m, 6m, ytd, 1y, 2y, 5y, all.

    Args:
        tickers: Comma-separated tickers, up to 5 (e.g. 'AAPL,MSFT').
        period: Lookback window (default 'ytd').

Input parameters:

- `period` (string)
- `tickers` (required)

Output parameters:

- `result` (string)

### `get_stock_catalyst` (~105 tokens)

TipRanks-generated catalyst summary explaining why a stock is moving.

    Each entry: {ticker, summary, sentiment, updated} where sentiment is
    'positive' | 'neutral' | 'negative'. Updated throughout the trading
    day. Use to explain today's move for a specific stock.

    Args:
        tickers: Comma-separated tickers (e.g. 'AMZN' or 'AMZN,NVDA').

Input parameters:

- `tickers` (required)

Output parameters:

- `result` (string)

### `get_market_commentary` (~111 tokens)

Cached equities market sentiment snapshot.

    Returns {overallSentiment, atmosphere, keyThemes, tailwinds, headwinds}.
    Generated by TipRanks' AI pipeline with web search, refreshed every
    ~4 hours; this endpoint reads the cache only and does not trigger
    regeneration. If no recent cache exists, returns
    {"status": "unavailable"}.

    The content is AI-generated commentary, not authoritative TipRanks
    market data — present it as such to end users.

Output parameters:

- `result` (string)

### `get_insider_transactions` (~191 tokens)

Individual corporate-insider (officers/directors, Form 4) transactions for
    a ticker, newest first.

    Each row: insider_name, role, is_officer, is_director, action (e.g.
    "Auto Sell", "Grant/Award/Other Acquisition"), side (buy/sell), shares,
    price (approximate — value / shares; the source has no exact price), value,
    date, filing_link (the SEC Form-4 URL), and insider_stars.

    This is corporate-insider activity (Form 4). For retail/individual
    investor sentiment, use get_assets_data and read investorActivity.

    Args:
        ticker: Stock ticker (e.g. 'AAPL').
        limit: Max rows to return (default 30, max 100).

Input parameters:

- `limit` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_hedge_fund_holdings` (~157 tokens)

Hedge-fund share-count history for a ticker.

    Returns the most recent `limit` snapshots (max 60) plus a summary
    block (snapshot_count, first/last date and shares). Each row:
    {date, shares}. Sourced from quarterly 13F filings; lags by up to
    45 days.

    For a snapshot of current sentiment without the timeseries, use
    get_assets_data and read hedgeFundSentimentData.

    Args:
        ticker: Stock ticker (e.g. 'AAPL').
        limit: Max snapshots to return (default 60, max 60).

Input parameters:

- `limit` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_etf_holdings` (~285 tokens)

List the constituents of an ETF.

    Base mode (default): returns every holding with its weight % in the
    index — {ticker, name, weight_pct}.

    Top-performers mode: pass `sort_by` (one of '5d', 'month', 'ytd',
    'year') and a `limit` > 0 to get the top N constituents by that
    period's return. Each row carries weight_pct, current_price,
    return_pct for the chosen period, and analyst_consensus.

    Use the top-performers mode for questions like 'which stocks in XLK
    rose most this week' without separately calling a screener.

    Args:
        ticker: ETF ticker (e.g. 'SPY', 'QQQ').
        sort_by: '' for full list, or one of '5d', 'month', 'ytd', 'year'.
        limit: 0 to return all constituents; >0 (max 50) to return top N.

Input parameters:

- `limit` (integer)
- `sort_by` (string): Optional prices field to sort by descending (e.g. 'prices.5d.gain', 'prices.twoWeeks.gain', 'prices.month.gain'); when set, returns top performers instead of the full list.
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_analysts_by_firm` (~184 tokens)

List analysts at a given firm (case-insensitive substring match).

    Each row: {name, firm, rank, avg_return_1y_pct, covered_tickers_sample,
    total_covered}. Results are deduped by analyst name (keeping the best
    rank) and sorted by rank ascending.

    When `sector` is provided, the per-analyst coverage list is filtered
    to tickers in that sector and the row shape becomes {name, firm,
    rank, avg_return_1y_pct, sector, covered_tickers}.

    Args:
        firm: Firm name or fragment (e.g. 'Goldman' matches 'Goldman Sachs').
        sector: Optional lowercase sector (e.g. 'technology', 'healthcare').

Input parameters:

- `firm` (string, required)
- `sector` (string)

Output parameters:

- `result` (string)

### `get_recent_analyst_ratings` (~202 tokens)

Recent Wall Street analyst rating actions on a single stock, covering the
    trailing 12 months (newest first).

    Each row carries the analyst's name and firm, the rating (Buy/Hold/Sell),
    the action (initiated/upgraded/downgraded/reiterated/maintained), the price
    target, and the analyst's TipRanks credibility (numOfStars 0-5, rank,
    success rate, average return) plus the source article title/quote.

    For the aggregate consensus and average/best price target, use
    get_assets_data instead.

    Args:
        ticker: Stock ticker (e.g. 'NVDA', 'AAPL').

    Returns: a list of rating actions. recommendationDate is a 'MM/DD/YYYY'
             string; numOfStars is the analyst's 0-5 TipRanks star rating.

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_options_expirations` (~64 tokens)

List future expiration dates for a ticker's listed options.

    Excludes past expirations. Use the result as input to get_options_chain.

    Args:
        ticker: Underlying ticker (e.g. 'AAPL').

Input parameters:

- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_options_chain` (~264 tokens)

Contracts at one expiration, enriched with price + OI + volume.

    Each row: ticker (OCC), contract_type, strike, name, price, volume,
    open_interest, open_interest_change, change_percent, day_open / high /
    low, last_trade_date.

    Quotes are typically delayed ~15 minutes. Greeks and implied
    volatility are NOT exposed by this data source — do not fabricate
    them.

    Args:
        ticker: Underlying (e.g. 'AAPL').
        expiration_date: One of the dates from get_options_expirations
            (YYYY-MM-DD).
        contract_type: '' for both, or 'call' or 'put'.
        strike_gte: Filter strikes >= this value (optional).
        strike_lte: Filter strikes <= this value (optional).
        limit: Max contracts to return (default 50).

Input parameters:

- `contract_type` (string): 'call' or 'put'; omit to return both sides.
- `expiration_date` (string, required): Exact expiration in YYYY-MM-DD. REQUIRED — call get_options_expirations first to discover valid dates.
- `limit` (integer)
- `strike_gte`
- `strike_lte`
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_options_contract` (~154 tokens)

Snapshot one OCC contract — price, OI, intraday OHLCV, last trade.

    The contract_ticker is an OCC-format symbol like 'O:AAPL260520C00205000'
    (O: + underlying + YYMMDD + C/P + strike-in-thousandths-8-digits).
    The 'O:' prefix is optional.

    Quotes are typically delayed ~15 minutes. Greeks and implied
    volatility are not available from this data source.

    Args:
        contract_ticker: OCC contract symbol.

Input parameters:

- `contract_ticker` (string, required): OCC-format option ticker, e.g. 'O:AAPL260520C00205000'. The 'O:' prefix is optional.

Output parameters:

- `result` (string)

### `get_options_unusual_trades` (~106 tokens)

Recent unusual option trades for an underlying (size/sweep alerts).

    Returns the most recent `limit` flagged trades with the side, strike,
    expiry, size, and notional value. Useful for spotting large bullish
    or bearish positioning.

    Args:
        ticker: Underlying ticker (e.g. 'AAPL').
        limit: Max trades to return (default 25).

Input parameters:

- `limit` (integer)
- `ticker` (string, required)

Output parameters:

- `result` (string)

### `get_my_usage` (~92 tokens)

Your current TipRanks MCP usage against the monthly tool-call quota.

    Reports calls used this calendar month, your limit, how many remain, your
    plan tier, and when the quota resets (UTC). Handy to check before running a
    large batch of calls. This call is free — it never counts against the quota.
    Only tool calls are metered; the initial connection handshake is not.

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-tipranks-tipranks/mcp#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 74
- 2026-08-01: 74
- 2026-07-31: 73
- 2026-07-30: 67
- 2026-07-29: 67
- 2026-07-28: 67
- 2026-07-27: 66
- 2026-07-26: 65

## Links

- Remote endpoint: https://mcp.tipranks.com/mcp/
- Website: https://mcp.tipranks.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-tipranks-tipranks/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-tipranks-tipranks/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-tipranks-tipranks/mcp
