Rayana AI
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only impersonal market research: portfolio rankings, ticker scores, signals, daily briefs.
| Author | ai.rayana |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 135 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Rayana AI": {
"url": "https://mcp.rayana.ai/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (20)
rayana_ai_rankingsread-onlyLatest ranked candidate batch for a lane: daily (the main research lane), turtle (breakout system), or mr (mean-reversion). Rows come back in rank order, best first, so the default page is the top of the batch. `total` in the response is the batch size; when it exceeds `count`, later rows are reached with `offset`. `include_assessment` adds each row's technical detail (pattern and cluster validation, volume profile) and roughly triples the response; `rayana_ai_ticker` returns the same detail for a single name.
Parameters:
lane— stringlimit— integeroffset— integerinclude_assessment— boolean
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_lanesread-onlyWhich lanes (daily/turtle/mr) currently have a batch available.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_signalsread-onlyLatest aggregator-consensus batch for one asset lane: which tickers cleared the signal pipeline, blended agg_score, confirming source count.
Parameters:
lane— stringlimit— integer
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_consensusread-onlyPer-source consensus snapshots (insider trades, congressional trades, earnings beats, dated catalysts, on-chain flows, 13F filings, AI news-beneficiary reads). Omit `source` for every source at once, or pass one of the slugs returned in a rankings/signals row's source list. `limit` caps rows per source. The sources are very unevenly sized — institutional holdings runs to ~1700 rows where on-chain flows may have two — so a source that comes back with exactly `limit` rows probably has more, and narrowing with `source` and raising `limit` reads that one layer deeply for far less context than raising `limit` across all seven.
Parameters:
limit— integersource
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_tickerread-onlyFull per-ticker research view: score, lane membership, per-source signals, virality, consensus, cluster-rotation position, forward returns.
Parameters:
symbol(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_ticker_priceread-onlyDaily close-price history for one ticker over the given period. Long periods are evenly sampled down to `max_points` bars rather than cut short, so the series still spans the whole period — `5Y` and `MAX` return the shape of the history, not its last year. `last_close`, `change_pct` and the `range_low`/`range_high` extremes are computed over every bar regardless of sampling.
Parameters:
symbol(required) — stringperiod— stringmax_points— integer
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_ticker_analystread-onlyToday's cached AI ticker-analyst read (lean, conviction, thesis, evidence for/against, invalidation condition). Never triggers a new model call; 404s if nothing was generated today for this ticker.
Parameters:
symbol(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_ticker_articlesread-onlyOne ticker's published article history, newest first.
Parameters:
symbol(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_rotationread-onlyCluster-rotation layer. `summary`: latest per-cluster RRG quadrant/rank rows with deltas, plus the most recent quadrant-crossing events (`days` controls the window both are computed over). `laggards`: members trailing a firing cluster's leader. `discovered`: unsupervised cluster-discovery cohorts the structural taxonomy misses. `members`: structural cluster membership. On `summary`, two blocks are trimmed because together they are 80% of the response while answering a narrower question than the rows do. `include_trajectory` adds each cluster's full rank series — a chart payload, off by default. `events` returns the newest 25 crossings; if exactly 25 come back there are probably older ones, and a wider `days` is not what returns them.
Parameters:
days— integerview— stringinclude_trajectory— boolean
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_trendsread-onlyThe attention leaderboard: latest virality snapshot ranked by VScore, with the full intensity/breadth/slope/vramp decomposition.
Parameters:
limit— integer
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_trends_detailread-onlyThe attention layer's raw texture. `sources`: per-source reach today. `heat`: per-(ticker, source) attention contributions. `search`: rising/breakout consumer search queries. `video`: rising video-view velocity. `limit` applies to search/video only; omit it to use that view's own default.
Parameters:
view(required) — stringlimit
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_market_briefread-onlyThe daily market brief: a generic engine-wide read with no recommendations, descriptive only. Latest by default; pass `date` (YYYY-MM-DD) for a specific day.
Parameters:
date
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_analyst_briefread-onlyThe portfolio-analyst brief with its per-ticker views — the broadcast opinion layer, identical for every caller.
Parameters:
date
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_portfoliosread-onlyThe full shelf of Rayana AI's broadcast model portfolios as merchandising cards, with each card's tier/openable/delayed flags.
Parameters:
include_retired— boolean
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_portfolioread-onlyOne model portfolio's full detail: holdings, overlay legs, event feed, NAV series, and windowed returns. Returns an error if the book's tier (e.g. an Elite-only book) is above the caller's own subscription tier.
Parameters:
slug(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_searchread-onlyResolve free text (ticker or company name) to known Rayana AI symbols, best match first. Pure resolution — never accrues signal.
Parameters:
q(required) — stringlimit— integer
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_articlesread-onlyThe public articles feed, newest first, when `slug` is omitted; one published article's full body when `slug` is given.
Parameters:
sluglimit— integeroffset— integer
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
rayana_ai_plansread-onlyRayana AI's subscription tiers: price, rate limits, and what each tier includes. Works without signing in or an API key. The research tools on this server require the Pro tier or higher. Prices are USD; annual billing is ten months' price for twelve. `rayana_ai_start_checkout` returns a subscription link for a tier listed here.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
rayana_ai_start_checkoutread-onlyReturns a subscription link for a tier, which the user opens in a browser. Works without signing in or an API key. The tool itself takes no payment: the user signs in, accepts the Terms of Service and pays on Stripe's hosted checkout page. Standard does not include access to this server's research tools; Pro and Elite do. After payment, a connection that signs in with OAuth (as Claude's connectors do) reaches the research tools once the user signs in with the same account. A client that connects with an API key instead gets one through a pairing code on the account page (see `rayana_ai_complete_setup`).
Parameters:
tier— stringinterval— string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
rayana_ai_complete_setupdestructiveFor clients that connect with an API key rather than OAuth: exchanges a pairing code from the user's account page for an API key. Destructive: it issues a new key and immediately revokes the account's previous one, so any other client still using the old key stops working. OAuth connections are not affected. The key is returned once and cannot be retrieved later; only a hash of it is stored. It is sent as the `X-API-Key` header on MCP and REST requests. Codes are single-use, expire after 15 minutes, and are invalidated after a few wrong attempts.
Parameters:
code(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.