MCP Server
The Sharpe MCP Server exposes 43 tools (40 endpoint tools + 3 composite workflows), 4 resources, and 2 prompts for crypto derivatives and market data via the Model Context Protocol. It connects AI agents in Claude Desktop, Claude Code, Cursor, and any MCP-compatible client to data across 32 funding-rate exchanges and the rest of the Sharpe API surface: funding rates, futures, arbitrage, screeners, narratives, ecosystems, memecoins, new listings, project dashboards, and more.
Installation
Hosted endpoint (no install)
The same server is hosted at https://www.sharpe.ai/api/mcp over the
Streamable HTTP transport. Clients that take a URL connect with nothing to
install. Without a key the tools read the free public endpoints; send your key
as an Authorization: Bearer sk_live_... header to use the authenticated
/v1 routes and your plan's limits. Keyless calls to the hosted endpoint are
limited per client to 60 calls a minute, and a JSON-RPC batch carries at most
10 messages.
Claude Code
claude mcp add --transport http sharpe https://www.sharpe.ai/api/mcp \
--header "Authorization: Bearer sk_live_your_key_here"
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"sharpe": {
"url": "https://www.sharpe.ai/api/mcp",
"headers": { "Authorization": "Bearer sk_live_your_key_here" }
}
}
}
In Claude.ai or ChatGPT, add a custom connector with the URL
https://www.sharpe.ai/api/mcp. Those connectors send no key, so the three
key-only tools (get_token_scanner, get_stablecoins,
get_derivatives_overview) return an error there; every other tool works.
npm package (stdio)
The published server is the npm package
@sharpe-terminal/mcp-server. npx downloads the current npm release and
runs it over stdio without a global install.
No install needed (recommended)
npx -y @sharpe-terminal/mcp-server
Persistent npm install
npm install --global @sharpe-terminal/mcp-server
sharpe-mcp
The Python sharpe-terminal-mcp package and companion sharpe CLI have not
completed their first PyPI release, so uvx, pip, and pipx installs will
fail until that release is published. The Python package requires Python
3.10+. Use the npm package above in the meantime; the CLI docs
track the release.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
Recommended (npm)
{
"mcpServers": {
"sharpe": {
"command": "npx",
"args": ["-y", "@sharpe-terminal/mcp-server"],
"env": {
"SHARPE_API_KEY": "sk_live_your_key_here"
}
}
}
}
No API key? Leave out the env block entirely. The server falls back to free
public endpoints automatically.
Claude Code
Add to Claude Code
claude mcp add sharpe -- npx -y @sharpe-terminal/mcp-server
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"sharpe": {
"command": "npx",
"args": ["-y", "@sharpe-terminal/mcp-server"],
"env": {
"SHARPE_API_KEY": "sk_live_your_key_here"
}
}
}
}
Tools
The server exposes 43 tools organized into 8 categories. All tools accept optional parameters with sensible defaults and return structured data.
Tool behavior
All Sharpe MCP tools are read-only market-data calls. Tools advertise MCP annotations for readOnlyHint, destructiveHint=false, idempotentHint, and openWorldHint so compatible clients can classify them safely.
The 40 endpoint tools are generated from the API's contracts: each tool's name, description and parameters (types, enums, bounds, defaults) are the ones the API documents, and the npm server, the hosted endpoint and the Python server serve the same definitions. An argument a tool does not take, or one outside its schema, is refused with every issue named (Invalid arguments for get_funding_rates: "limit" must be >= 1) rather than dropped. The Python server spells multi-word parameters in snake_case (min_oi_usd for the API's minOiUsd); the TypeScript server and the hosted endpoint use the API's names.
An endpoint tool answers structuredContent of { "data": ..., "meta": ... }, with pagination beside data when the answer is one page, and the same JSON as text for clients that read only the content array:
datais the payload as the API served it: the/v1route'sdatawith an API key, the free route's body without one. Where a free route answers in its own shape,datais that shape. Tools do not declare an MCPoutputSchemayet.paginationis{ cursor, has_more, total }: passcursorback to read the next page.meta.routesays which route answered (v1orpublic);meta.as_of,stale_after,freshness_statusandruntime_statuscarry the freshness the API reported, andmeta.warningswhat it (or the client) could not do. Treatfreshness_statusstaleorunknownandruntime_statusdegradedas caveats to state.
Composite workflow tools return { "report": "..." } in structuredContent plus the same formatted markdown in text content. A failed call returns isError with the reason as text.
Large list responses are capped at 200 rows, and a payload still over about 25,000 characters has its largest arrays halved until it fits. A time series ordered oldest first keeps its newest rows; every other list keeps its head, where the API puts its ranking. The payload keeps its shape; the cut is reported in meta: truncated: true, a truncation_message, and truncated_fields, which maps each cut field (by its path in data, e.g. data.rows) to { total, showing }, plus kept: "latest" when the newest rows were the ones kept. Where a tool takes limit and cursor, page with them rather than relying on the notice.
Composite tools
High-level tools that combine multiple API calls into a single consolidated response. Best for broad questions. Each report is composed and rendered on the server by its own endpoint (/v1/coins/{coin}/analysis, /v1/briefing and /v1/opportunities, with keyless twins under /api; see Reports), and the tool prints the endpoint's report_md as served: the TypeScript server, the Python server and sharpe briefing print the same bytes. Every number a report prints is a field the API serves, the same value the web page and /api/v1 give: rankings, floors, averages and APRs are request parameters and response fields, never recomputed. Each report ends with a Data freshness line naming the freshness of every answer it read (dataset, as_of, status, and degraded with the API's warnings when a read was degraded); a read that failed is named on a Data gaps line, and the call fails only when every read did.
analyze_coin
Single-coin analysis in one view. Best tool for "what's happening with BTC?" questions. It combines:
- the price-prediction score and every signal, matched in the coverage list by the asset the funding read resolved (
bitcoinis BTC,1000PEPEis PEPE), else by exact ticker (a coin outside it says so rather than guessing a slug); the price is the prediction snapshot's, printed with its as-of (it refreshes on a 12-hour SLA); - current funding for the coin's ten largest markets by open interest (
get_funding_rateswithsort=-open_interest): each market'srate_8h,aprand open interest as served, lot contracts included, labelled with itsrate_kind: on most venues the rate is the estimate of the next payment, not yet charged; on Kraken, Crypto.com and Bitfinex it is the last settled rate; - the coin's average and median funding across venues on the 8-hour basis (
summary=1: the funding grid's Avg Rate, open-interest-weighted or its median, with the venues behind it), over those same rates, so estimates and last-settled rates mixed; - the asset's open-interest total in USD notional, venue count and the 1h/24h change of that USD total, from its row on the global board (
get_global_overview: every contract of the asset once, lots included, venues listed inopenInterestExcludedVenuesleft out and named, MEXC today), printed beside the asset's 24h price change because USD open interest moves with price; - the estimated dollar funding over the next 24 hours at current rates, for each row the settlement API returns for the coin, with its
rate_source. The settlement read matches the ticker as written, so when the funding read holds contract spellings it does not (PEPE and KPEPE for1000PEPE, BTC forbitcoin), the report names them as not in the figure.
- Name
coin- Type
- string
- Description
Coin ticker (e.g.,
BTC,ETH,SOL). Defaults toBTC.
market_briefing
Market briefing combining the market overview, top and worst narratives, funding rate highlights, and the estimated whole-market funding settlement. Best tool for "what's going on in crypto?" or morning briefings.
No parameters. Returns formatted text with market stats (BTC dominance from btc_dominance_pct), Fear and Greed, the API's narrative ranking by 24h change (sort, top, bottom: a narrative without a 24h change is never ranked), and the API's funding extremes (get_funding_rates with extremes=3 and min_oi_usd=1000000): the highest (at or above zero) and lowest (below zero, so possibly none) markets by 8-hour-equivalent rate among fresh markets with a usable interval and at least $1M of open interest, printed as APR with the 8h and raw rates and each venue's rate_kind (mostly the estimate of the next payment, not yet charged), plus the counts the API left out.
find_opportunities
Scans all exchanges for funding arbitrage, combining spot-perp basis trades and cross-exchange funding arb.
No parameters. Spot-perp rows come from the board with minOiUsd=1000000 (perp legs with at least $1M of open interest, unknown fails) in the API's order, net APR first, each with its perp open interest, executionStatus, and a flag when pairStatus is not eligible or fundingIsStale is true; the report says how many of the board's rows are executable, and marks open interest on a venue the API leaves out of its cross-venue totals (MEXC today) as unverified, since the floor still counts it. Cross-exchange rows need at least $1M of open interest and 24h volume on both legs and keep the board's order (executable rows first by net APR, then indicative rows by net APR where they have one, else gross APR; limit=10); each prints its funding spread (netFundingRate per intervalHours) and its entry gap (spreadRate, the price gap paid to open both legs, negative = favourable). The funding summary is the API's market stats (stats=1): mean and open-interest-weighted funding APR over the fresh primary contract of every venue and asset, and the positive/negative counts.
Derivatives tools
Granular derivatives data for funding rates and futures charts.
get_funding_rates
Perpetual funding rates across 32 funding-rate exchanges (Binance, Bybit, OKX, Gate.io,
Hyperliquid, Kraken, Aster, Lighter, dYdX, and more; read sharpe://exchanges for the
current list). Positive rate means longs pay shorts.
rate is a decimal fraction settled over that row's own interval_hours (1h, 2h, 4h, 8h
or 24h depending on venue and market). It is not a percent and never implicitly 8h: current
rows also carry rate_8h (rate * 8 / interval_hours) and apr (rate * 8760 / interval_hours), null without a usable interval, so compare venues on those.
With type='current' the API can answer with aggregates instead of rows: extremes
(the highest markets by rate_8h among those at or above zero and the lowest among
those below zero, so either list can be empty), stats (the whole book's funding APR) and
summary (a coin's average and median funding across venues).
coin names an asset: PEPE returns every PEPE contract, the 1000PEPE and KPEPE
lot contracts included. Current and accumulated rows carry asset_id, asset_symbol,
lot_multiplier, instrument_status and is_live (null = unknown).
Accumulated rows also carry coverage: per window (1d, 7d, 30d, 90d, 1y), the
share of the span the contract was expected to settle in that its settlements cover
(coverage_ratio, null when it was not expected in the window at all), complete (at
least 90%), and whether it was listed or halted inside the window. Compare acc_* across
contracts only on complete windows.
- Name
type- Type
- string
- Description
One of
current(live snapshot),accumulated(cumulative over 7d/30d/90d/1y), orhistory(per-coin time-series). Defaults tocurrent.
- Name
coin- Type
- string
- Description
Coin ticker, lot spelling or full name (
BTC,PEPE,1000PEPE,kPEPE,bitcoin). Returns every contract of that asset, whatever itsbase_coinspelling. Required whentype='history'; optional forcurrentandaccumulated, where the server filters rows to that asset before truncation.
- Name
exchange- Type
- string
- Description
Filter to a single venue. Accepts the slug (
gate-io), the display name as returned in theexchangefield (Gate.io), or the ccxt id.
- Name
margin- Type
- string
- Description
Collateral convention:
linearfor quote-margined contracts,inversefor coin-margined ones. Unfiltered by default.
- Name
asset_class- Type
- string
- Description
One of
crypto,equity,commodity,fx,index. Unfiltered by default. The funding book carries tokenized equity, commodity, index and FX perps alongside crypto, because they trade on the same venues.
- Name
days- Type
- integer
- Description
Lookback days for history mode. Range 1-1095. Defaults to
30.
- Name
limit- Type
- integer
- Description
Maximum rows per page, 1-5000. Page the full book with
limit+cursorrather than relying on the truncation notice.
- Name
cursor- Type
- string
- Description
Opaque cursor from the previous response's
pagination.cursor.
- Name
sort- Type
- string
- Description
type='current'only:open_interestor-open_interestorders the rows by their open interest (unknown last either way) beforelimit/cursor.
- Name
extremes- Type
- integer
- Description
type='current'only, 1-100: answer with the N highest and N lowest markets byrate_8h(extremes.highest,extremes.lowest) among fresh rows with a usable interval:highestholds only rates at or above zero andlowestonly rates below zero, so either list can be shorter than N or empty. Also answersextremes.omitted(stale,no_interval,below_floor). Returns an object instead of rows; do not passlimit,cursororsortwith it.
- Name
min_oi_usd- Type
- number
- Description
With
extremesonly: the open-interest floor in USD. Unknown open interest fails a floor above 0.
- Name
stats- Type
- string
- Description
type='current'only:1answers withmarket.funding_apr_mean,market.funding_apr_oi_weighted,market.positiveandmarket.negativefor the whole book. Cannot be combined withcoin,exchange,margin,asset_class,limit,cursororsort.
- Name
summary- Type
- string
- Description
type='current'withcoinonly:1answers with onesummaryentry perbase_coinspelling and asset class:funding_avg_8h,funding_median_8h,funding_method,funding_venues_used,funding_venues_stale,funding_all_stale.
get_funding_settlement
Dollar value of funding actually paid at each settlement -- not just the rate -- and which side, longs or shorts, paid it. Every response carries both the per-coin row breakdown and a totals block (net/long_paid/short_paid) for the requested window and class, so "who paid funding today" reads directly from totals rather than being summed from a page of rows; totals always reflects the full requested class regardless of any coin/exchange filter on the rows.
window=current (the default) is the next 24 hours of funding at current rates -- each contract's forward rate × 24 / its own interval hours, priced live off open interest -- always estimated, never realised. 1d/3d/7d are realised windows; one whose coverage is below 90% carries partial: true (complete: false) in its window value because its history is still accruing, not a completed total, and halted_within_window: true says a contract stopped settling inside the window (listed_within_window is always null: no listing time is known). Sign convention: net = long_paid - short_paid; positive means longs paid more than they received (a cost to longs), negative means shorts paid more. Both long_paid and short_paid are always non-negative. Missing is null, never 0.
- Name
window- Type
- string
- Description
One of
current,1d,3d,7d. Defaults tocurrent.
- Name
class- Type
- string
- Description
One of
all,crypto,rwa, whererwais every non-crypto asset class (equity, commodity, fx, index). Defaults toall.crypto+rwatotals always equal thealltotals.
- Name
coin- Type
- string
- Description
Comma-separated base coin tickers (e.g.
BTCorBTC,ETH,SOL). Unfiltered by default.
- Name
exchange- Type
- string
- Description
Filter rows to a single venue. Free-form and registry-driven; an unresolvable value is rejected rather than silently returning an empty book.
- Name
limit- Type
- integer
- Description
Maximum rows to return, 1-1000. Defaults to
100.
- Name
offset- Type
- integer
- Description
Zero-based row offset for pagination. Defaults to
0.
- Name
sort- Type
- string
- Description
Sort field for the selected
window:base_coin,net,long_paid,short_paidoropen_interest_usd, prefixed with-for descending. A row with no value for the field (an unpriced coin) sorts last either way.
- Name
expand- Type
- string
- Description
venuesadds each row's per-venue breakdown. Left out by default to keep the payload small.
get_global_overview
The whole-market derivatives board in one call: total open interest with its crypto-versus-RWA split, 24h liquidations, average Wilder RSI(14) across the top 100 crypto perps by market cap, the Altcoin Season Index, open interest by asset class, and a ranked per-asset row table. Liquidations are crypto-only because no RWA perp venue publishes a liquidation feed.
- Name
tab- Type
- string
- Description
Universe to return rows for:
crypto(default),equity,preipo,etf,index,commodityorfx. The metric block is identical on every tab.
- Name
limit- Type
- integer
- Description
Rows per page, 1-1000. A paged response is
{ data, pagination }holding only the ranked rows; the metric block comes back on unpaged calls.
- Name
cursor- Type
- string
- Description
Opaque cursor from the previous response's
pagination.cursor.
get_rwa_perp_funding
Funding and carry for real-world-asset perpetuals (RWA perps: stocks, pre-IPO, ETFs, indices, commodities, FX) across 19 venues. Those venues are CEXs (Binance, Bybit, OKX, Bitget, Gate, Kraken, Coinbase), perp DEXs (Aster, Lighter, Extended, GRVT, ApeX, Pacifica, Orderly), Hyperliquid HIP-3 builder markets, and the borrow-based venues Ostium and Avantis. Rates are interval-true and mechanism-true; Ostium's both-sides rollover is reported as borrow_apr_annual, a cost that is never mixed into funding spreads.
- Name
type- Type
- string
- Description
One of
current(latest per-market snapshot),history(session-tagged settlement time-series for one symbol; Hyperliquid + Kraken), orstats(best carry, top cross-venue spread, weekend premium, open interest). Defaults tocurrent.
- Name
symbol- Type
- string
- Description
Underlying equity ticker (e.g.
TSLA,NVDA,MSTR). Required whentype='history'.GOOGandGOOGLare distinct share classes.
- Name
venue- Type
- string
- Description
Filter to a single venue, e.g.
Binance,Bybit,OKX,Kraken,Coinbase,Aster,Lighter,Ostium, or a Hyperliquid HIP-3 builder market.
- Name
days- Type
- integer
- Description
Lookback days for history mode. Range 1-90. Defaults to
7.
- Name
limit- Type
- integer
- Description
Rows per page for
type='current'andtype='history', 1-5000.
- Name
cursor- Type
- string
- Description
Opaque cursor from the previous response's
pagination.cursor.
get_futures_data
Time-series or snapshot data for 24 MCP/API futures chart types: open interest, liquidations, volume, long/short ratios, funding, basis, term structure, and signal views.
- Name
chart- Type
- string
- Description
Chart type ID. See the
sharpe://charts/futuresresource for all 24 valid IDs.
- Name
coin- Type
- string
- Description
Base coin ticker. Defaults to
BTC.
- Name
timeframe- Type
- string
- Description
Lookback window:
1W,2W,1M,3M,6M,1Y, or3Y. Defaults to3M.
- Name
exchanges- Type
- string
- Description
Comma-separated exchange filter (e.g.,
Binance,Bybit,OKX). Omit for all defaults.
- Name
limit- Type
- integer
- Description
Rows per page, 1-10000, oldest first. Without
limit, long series keep their newest rows andoi-snapshotreturns each exchange's latest reading.
- Name
cursor- Type
- string
- Description
Opaque cursor from the previous response's
pagination.cursor.
get_futures_coins
Lists up to 1,000 coins with futures data, including per-coin capability flags (hasFunding, hasOI, hasLiquidations, hasLongShort, hasCVD, hasBasis), venue coverage, and market-cap rank.
No parameters.
get_derivatives_overview
Market-wide derivatives snapshot: total OI, average funding rate, OI-weighted funding, top 20 coins by OI (each top_coins_oi entry is an asset, its lot spellings included), and exchange/coin counts.
No parameters.
Market data tools
Broad market data covering heatmaps, correlations, price predictions, and token discovery.
get_heatmap
Market heatmap data with tokens sized by market cap and colored by price performance. Aggregate narrative and ecosystem responses include explicit complete/partial coverage.
- Name
mode- Type
- string
- Description
Grouping mode:
coins,narratives, orecosystems. Defaults tocoins.
- Name
category- Type
- string
- Description
Category slug (e.g.,
top-100,decentralized-finance-defi,layer-1,meme-token). Defaults to the legacytop-100slug, which returns the current Top 50 universe. There are 34 valid category slugs.
get_correlation_matrix
Pearson correlation matrix for crypto and TradFi assets over a given lookback period.
- Name
period- Type
- string
- Description
Lookback period:
30d,90d,1y, or3y. Defaults to30d.
- Name
ids- Type
- string
- Description
Comma-separated asset IDs. Crypto uses canonical IDs (
bitcoin,ethereum), TradFi uses short IDs (sp500,gold,nvda). Max 10.
get_market_overview
BTC and ETH price/change, total crypto market cap and 24h volume, BTC dominance, total market-cap change, and the Fear and Greed Index. Auxiliary source fields are nullable when unavailable.
No parameters. Use this as the first call for any general market question.
get_price_prediction
Deterministic directional scores with sub-signal breakdowns for bias assessment (bullish/bearish/neutral, 0-100 consensus score, RSI, EMA trends, derivatives signals). Optional 7D/30D values are heuristic scenarios, not calibrated targets or probabilities.
- Name
coin- Type
- string
- Description
Canonical coin slug (e.g.,
bitcoin,ethereum,solana). Omit for all coins.
search_market_cap
Search crypto and supported TradFi assets by name or ticker to find canonical asset IDs and nullable market stats.
- Name
q- Type
- string
- Description
Search query: coin name or ticker. 2-100 characters.
get_gem_finder
Market-ranked token rows for valuation and momentum screening. Returns market cap, nullable FDV and FDV/MCap ratio, volume, nullable price changes, ATH history, preferred chain scope, observed exchange availability, and enrichment coverage. Ambiguous same-ticker assets do not receive symbol-only exchange attribution. It does not return wallet labels or a proprietary score.
- Name
chain- Type
- string
- Description
Keep only assets deployed on this chain (e.g.,
solana,base,arbitrum). A multi-chain asset matches every chain in itschainSlugs. An unknown chain is a 400. Send the samechainwith eachcursor.
- Name
limit- Type
- integer
- Description
Number of tokens to return. Range 1-1000. Defaults to
100.
- Name
cursor- Type
- string
- Description
Snapshot-bound cursor returned by the previous page. Restart without it after the cache refreshes and the cursor expires.
get_stablecoins
Stablecoin overview, detail, and yield data including nominal supply at peg, marked value, nullable peg metrics, mechanism mix, chain supply, velocity coverage, freshness, and APY risk flags.
- Name
type- Type
- string
- Description
Payload type:
overview,detail, oryields. Defaults tooverview.
- Name
slug- Type
- string
- Description
Stablecoin slug for
detailmode.
get_mindshare
Narrative mindshare rankings, token-level attention rows, rolling windows, and historical snapshots.
- Name
tokens- Type
- string
- Description
Set to
truefor token rows.
- Name
narrative- Type
- string
- Description
Optional narrative slug.
- Name
historical- Type
- string
- Description
Set to
truefor historical snapshots.
- Name
timeframe- Type
- string
- Description
Historical timeframe:
1W,1M,3M,6M,1Y, or3Y.
- Name
window- Type
- string
- Description
Rolling snapshot window:
now,24h,7d, or30d.
get_web_traffic
Attention rankings, social snapshots, and market-level signals for coins and narratives, plus CoinGecko trust-score rankings for exchanges.
- Name
type- Type
- string
- Description
Entity type:
exchange,coin, ornarrative.
- Name
mode- Type
- string
- Description
Payload mode:
rankings,snapshots, ormarket.
- Name
tf- Type
- string
- Description
Lookback window:
7d,30d,90d,1y,3y, orall.
- Name
entities- Type
- string
- Description
Comma-separated entity IDs.
- Name
sub- Type
- string
- Description
Market sub-mode when
mode=market:trending,categories, orglobal.
Screener tools
Token-discovery workflows for token scanning and contract risk review.
get_token_scanner
Read-only scanner modes for hot tokens, new runners, alpha drops, AI tokens, and top-new pairs.
- Name
mode- Type
- string
- Description
Scanner mode:
hot,new-runners,alpha-drops,ai-top, ortop-new. Defaults tohot.
- Name
chains- Type
- string
- Description
Comma-separated Dexscreener chain IDs.
- Name
chain- Type
- string
- Description
Single chain for
top-newmode.
- Name
profile- Type
- string
- Description
Scanner profile:
discovery,balanced, orstrict.
- Name
days- Type
- number
- Description
Lookback in days for
top-new.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1-72. Defaults to
50.
- Name
minLiquidityUsd- Type
- number
- Description
Minimum liquidity in USD.
- Name
minVolumeH24- Type
- number
- Description
Minimum 24-hour volume in USD.
- Name
minTxnsH1- Type
- number
- Description
Minimum one-hour transaction count.
- Name
minTxnsH24- Type
- number
- Description
Minimum 24-hour transaction count.
- Name
maxAgeHours- Type
- number
- Description
Maximum pair age in hours.
- Name
includeUnknownAge- Type
- boolean
- Description
Whether pairs with unknown creation time may pass age filters.
- Name
sortBy- Type
- string
- Description
score,readiness,rs,volume, ormomentum.
- Name
minBreakoutReadiness- Type
- number
- Description
Minimum breakout-readiness score.
- Name
minRelativeStrength- Type
- number
- Description
Minimum relative-strength score.
- Name
maxVolLiqRatio- Type
- number
- Description
Maximum 24-hour volume-to-liquidity ratio.
- Name
minPriceChangeH1- Type
- number
- Description
Minimum one-hour price change percentage.
Responses include per-source coverage. Valuation and valuation-dependent risk
fields remain null when the provider does not supply enough data.
get_rug_check_security
Token contract and liquidity risk signals for rug-check review, plus the Rug Check score
the page shows, computed by the API (score.value 0-100, verdict, data_completeness,
engine_version) with the checks behind it.
- Name
address- Type
- string
- Description
Token contract address.
- Name
chainId- Type
- integer
- Description
Chain or network ID.
get_rug_check_trending
Trending tokens suitable for rug-check review.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1-100. Defaults to
50.
get_insider_selling
Insider selling pressure signals across crypto assets, including wallet concentration, holder-quality risk, sell-side flow, and derivatives confirmation.
- Name
limit- Type
- integer
- Description
Maximum scored coins returned. Range 1-500. Defaults to
100.
- Name
min_score- Type
- number
- Description
Minimum 0-10 pressure score to include. Defaults to
0.
- Name
coin- Type
- string
- Description
One coin's row by its CoinGecko id (e.g.,
bitcoin), exactly as the scorer wrote it:scoreisnullonce the coin stopped qualifying.limitandmin_scoredo not apply to it.
get_pump_dump
Pump-and-dump manipulation risk signals across crypto assets, including derivatives pressure, holder concentration, liquidity quality, DEX flow, and price behavior.
- Name
limit- Type
- integer
- Description
Maximum scored coins returned. Range 1-500. Defaults to
100.
- Name
min_score- Type
- number
- Description
Minimum 0-10 risk score to include. Defaults to
0.
- Name
phase- Type
- string
- Description
Filter to one manipulation lifecycle phase:
setup,markup,distribution,dump, ordumping.
- Name
coin- Type
- string
- Description
One coin's row by its CoinGecko id (e.g.,
bitcoin), exactly as the scorer wrote it:scoreisnullonce the coin stopped qualifying.limit,min_scoreandphasedo not apply to it.
Arbitrage tools
get_arbitrage_spot_perp
Spot-perp funding-capture rows with live funding, verified spot or margin
availability, diagnostic basis, gross APR, and net APR after the venue's taker
fees, the adverse entry basis and a known borrow cost, in the board's order
(executable rows first by net APR). Each row carries perpSymbol,
perpOpenInterestUsd, fundingIsStale, executionStatus with
indicativeReason, pairStatus, breakEvenDays, requiresBorrow /
borrowCostIncluded, apr7d / carrySignFlip7d, fundingAsOf and per-leg
price times. The whole board is about 2.4 MB, so the tool asks for a 100-row
page unless given limit or cursor.
- Name
exchange- Type
- string
- Description
Exchange name (e.g.,
Binance,Bybit) orall. Defaults toall.
- Name
direction- Type
- string
- Description
Perpetual-leg direction:
all,shortfor positive funding capture, orlongfor negative funding capture. Defaults toall.
- Name
minOiUsd- Type
- number
- Description
Minimum open interest in USD on the perp leg (
perpOpenInterestUsd). A row whose open interest is unknown fails a floor above 0. Default 0 (no floor).
- Name
limit- Type
- integer
- Description
Rows per page (1 to 1000), in board order. The tool sends
100unlesslimitorcursoris given.
- Name
cursor- Type
- string
- Description
Cursor for the next page (
pagination.cursor).
get_arbitrage_cross_exchange
Cross-exchange funding arbitrage across every funding venue, one row per asset
(its best executable pair, else its largest gross differential), ranked with
executable rows first by net APR, then indicative rows by net APR or gross
annualized funding differential. Executable means a book-priced spread, legs
within 5%, reported top-of-book depth of at least $10,000 and fresh quotes;
otherwise indicativeReason says why. Net APR charges both venues' taker fees
and the adverse entry spread, never crediting a favourable one; unknown market
data is null, never zero. Each row carries pairStatus, breakEvenDays,
roundTripFeeRate, the legs' symbols and intervals, fundingAsOf and per-leg
price times.
- Name
exchanges- Type
- string
- Description
Comma-separated venues to compare (e.g.,
Binance,Bybit,Hyperliquid). Omit for every funding venue (a venue the instrument master marks not live is skipped).
- Name
minOiUsd- Type
- number
- Description
Minimum open interest in USD on the smaller leg. Legs with unknown OI fail the floor. Default 0 (no floor).
- Name
minVolUsd- Type
- number
- Description
Minimum 24h volume in USD on the smaller leg. Legs with unknown volume fail the floor. Default 0 (no floor).
- Name
assetClass- Type
- string
- Description
Underlying filter:
all(default),crypto, orrwa(equity, commodity, FX and index perps). Pairs never cross asset classes.
- Name
sector- Type
- string
- Description
Narrative filter:
all(default),memes,ai-agents,layer-1ordefi. Keeps only crypto coins in that narrative's CoinGecko category; RWA perps are left out when a sector is set.
- Name
limit- Type
- integer
- Description
At most this many rows, the first ones in the board's order (executable first). Default: every row.
- Name
cursor- Type
- string
- Description
Cursor for the next page (
pagination.cursor; 100 rows a page whenlimitis omitted).
get_arbitrage_dated_futures_basis
Spot-futures cash-and-carry scanner rows for buying spot and selling dated
futures, ranked by net APR after 2 spot and 2 futures taker fills: rows at least
3 days from expiry first, executable rows first within them, then
snapshot_quote rows (executable on a live read). indicativeReason names why
a row is not executable.
- Name
coin- Type
- string
- Description
Optional base coin ticker, e.g.
BTC,ETH, orSOL.
- Name
exchanges- Type
- string
- Description
Comma-separated exchange filter, e.g.
Binance,Bybit,OKX.
- Name
minApr- Type
- number
- Description
Minimum of the board's ranking figure in percentage points:
netAprPct(basis),netRollApyPct(calendar),netCarryAprPct(carry: the annualized net carry, not the edge to expiry).
- Name
minOiUsd- Type
- number
- Description
Minimum open interest in USD.
- Name
minVolumeUsd- Type
- number
- Description
Minimum 24-hour volume in USD.
- Name
minDepthUsd- Type
- number
- Description
Minimum executable depth in USD when available.
- Name
marginType- Type
- string
- Description
Futures margin type:
linear,inverse, orboth.
- Name
notional- Type
- number
- Description
Position notional in USD. Defaults to
10000.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1 to 1000. Defaults to
100.
- Name
cursor- Type
- string
- Description
Cursor for the next page.
get_arbitrage_futures_calendar_spread
Near-versus-far dated futures curve scanner rows with forward yield and net
roll APY after 4 futures and 2 spot taker fills; direction and curve come from
mark (else mid) prices. Pairs with a near leg under 3 days or a gap under 7 days
(belowTenorFloor) rank last.
- Name
coin- Type
- string
- Description
Optional base coin ticker, e.g.
BTC,ETH, orSOL.
- Name
exchanges- Type
- string
- Description
Comma-separated exchange filter, e.g.
Binance,Bybit,OKX.
- Name
minApr- Type
- number
- Description
Minimum of the board's ranking figure in percentage points:
netAprPct(basis),netRollApyPct(calendar),netCarryAprPct(carry: the annualized net carry, not the edge to expiry).
- Name
minOiUsd- Type
- number
- Description
Minimum open interest in USD.
- Name
minVolumeUsd- Type
- number
- Description
Minimum 24-hour volume in USD.
- Name
minDepthUsd- Type
- number
- Description
Minimum executable depth in USD when available.
- Name
marginType- Type
- string
- Description
Futures margin type:
linear,inverse, orboth.
- Name
notional- Type
- number
- Description
Position notional in USD. Defaults to
10000.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1 to 1000. Defaults to
100.
- Name
cursor- Type
- string
- Description
Cursor for the next page.
get_arbitrage_perp_dated_carry
Perp funding versus dated futures carry rows: the dated contract's basis
against the perp (not spot) at the trade's executable sides, against the funding
expected to expiry from the 7-day realised average (fundingProjection).
Rows carry direction and crossVenue (the legs usually sit on two venues with
separate collateral); funding7dStabilityPct is a deprecated alias of
funding7dCumulativePct.
- Name
coin- Type
- string
- Description
Optional base coin ticker, e.g.
BTC,ETH, orSOL.
- Name
exchanges- Type
- string
- Description
Comma-separated exchange filter, e.g.
Binance,Bybit,OKX.
- Name
minApr- Type
- number
- Description
Minimum of the board's ranking figure in percentage points:
netAprPct(basis),netRollApyPct(calendar),netCarryAprPct(carry: the annualized net carry, not the edge to expiry).
- Name
minOiUsd- Type
- number
- Description
Minimum open interest in USD.
- Name
minVolumeUsd- Type
- number
- Description
Minimum 24-hour volume in USD.
- Name
minDepthUsd- Type
- number
- Description
Minimum executable depth in USD when available.
- Name
marginType- Type
- string
- Description
Futures margin type:
linear,inverse, orboth.
- Name
notional- Type
- number
- Description
Position notional in USD. Defaults to
10000.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1 to 1000. Defaults to
100.
- Name
cursor- Type
- string
- Description
Cursor for the next page.
get_arbitrage_cex_spot_transfer
CEX spot-transfer routes after exact network matching, token-contract identity,
withdrawal/deposit status and minimums, withdrawal fee, per-venue taker fees,
depth and slippage. Routes netting above zero come first; up to 50 near misses
follow as indicative below_fees. Books are judged on 60 seconds, networks on
10 minutes; meta.transferScan counts what the scan evaluated.
- Name
coin- Type
- string
- Description
Optional base coin ticker, e.g.
BTC,ETH, orSOL.
- Name
exchanges- Type
- string
- Description
Comma-separated exchange filter, e.g.
Binance,Bybit,OKX.
- Name
minApr- Type
- number
- Description
Minimum
netProfitPct(per trip, not annualized) in percentage points.
- Name
minDepthUsd- Type
- number
- Description
Minimum executable depth in USD when available.
- Name
notional- Type
- number
- Description
Position notional in USD. Defaults to
10000.
- Name
limit- Type
- integer
- Description
Maximum rows returned. Range 1 to 1000. Defaults to
100.
- Name
cursor- Type
- string
- Description
Cursor for the next page.
get_arbitrage_borrow_rates
Spot-margin borrow rates per coin across Binance, OKX, Bybit and Gate.io, the
venues that publish them without an account. One row per coin with every
venue's quote cheapest first: hourlyRate (fraction per hour) and annualRate
(hourlyRate × 8,760, simple). A venue that does not price a coin is absent,
never 0; venues reports each venue's status (ok, stale, failed,
unsupported).
- Name
coin- Type
- string
- Description
Optional borrowed asset, e.g.
BTC,USDT, orPEPE.
- Name
exchanges- Type
- string
- Description
Comma-separated venues:
Binance,OKX,Bybit,Gate.io. Default: all.
get_arbitrage_funding_spread_history
A pair's historical funding spread and carry backtest from stored settlements:
a spot-perp carry on one venue, or a long and a short perp across venues. Legs
are aligned by settlement time with each contract's real interval (never an
assumed 8h); series carries spreadApr, legAprs, cashflow and
cumulativeCarry, and backtests the 1, 7, 14, 30 and 60-day windows below
days plus days itself: fundingCollected, fees (entry and exit taker
fills at each venue's standard rate), netReturn, grossApr, netApr,
negativeCarryDays, maxDrawdown, breakEvenDays, coverageRatio. All
fractions.
- Name
mode- Type
- string
- Description
spot-perp(default) orcross-exchange.
- Name
coin- Type
- string
- Description
Base coin, e.g.
BTC. Required.
- Name
venue- Type
- string
- Description
Spot-perp venue: Binance, OKX, Bybit, Bitget, Gate.io, KuCoin, MEXC, BingX, HTX or CoinEx.
- Name
contract- Type
- string
- Description
Spot-perp perp contract symbol, e.g.
BTCUSDT. Optional: the venue's contract with the largest open interest otherwise.
- Name
direction- Type
- string
- Description
Spot-perp:
short(default, buy spot / short perp) orlong(sell spot / long perp; borrow interest not included).
- Name
longVenue- Type
- string
- Description
Cross-exchange long perp venue.
- Name
longContract- Type
- string
- Description
Cross-exchange long perp contract symbol. Optional.
- Name
shortVenue- Type
- string
- Description
Cross-exchange short perp venue.
- Name
shortContract- Type
- string
- Description
Cross-exchange short perp contract symbol. Optional.
- Name
days- Type
- integer
- Description
Backtest window, 1 to 90 days. Defaults to
30.
get_arbitrage_fixed_floating_funding
Pendle Boros fixed vs floating funding: every live Boros market (a venue's perp
to a maturity: Binance, OKX, Bybit, Gate, KuCoin, Hyperliquid incl. the xyz
dex, Lighter) with impliedApr (Boros's fixed rate), floatingApr (the
venue's current funding as Boros reports it), realised7dApr and
realised30dApr (Sharpe's stored funding for the same contract,
acc × 365 / days) and spread7dApr / spread30dApr = implied − realised:
positive means locking the fixed rate beats the floating leg. Fractions per
year, gross of fees. A missing realised figure is null with
realised7dNullReason / realised30dNullReason, never 0.
- Name
coin- Type
- string
- Description
Optional underlying, e.g.
BTC,ETH,HYPE,BRENTOIL.
- Name
venue- Type
- string
- Description
Optional venue: Boros's name (
Binance,OKX,Hyperliquid,Gate,Kucoin,Lighter,Bybit) or Sharpe's (Gate.io,KuCoin,tradeXYZ).
Category tools
Sector, chain, and memecoin narrative analytics.
get_narratives
Analytics for 30 MCP narrative slugs: L1, L2, DeFi, AI Agents, DePIN, RWA, Gaming, and more. Returns market cap, volume, performance, and social sentiment per narrative.
- Name
narrative- Type
- string
- Description
Narrative slug for detail view (e.g.,
defi,ai-agents,rwa,layer-1). Seesharpe://narrativesresource for all 30 MCP slugs. Omit for overview of all.
- Name
correlation- Type
- string
- Description
Set to
trueto include a correlation matrix for the narrative's tokens.
- Name
timeframe- Type
- string
- Description
Timeframe for correlation data (e.g.,
30d,90d).
- Name
sort- Type
- string
- Description
Order the list by 24h change:
-change24h(highest first) orchange24h. A narrative without a 24h change comes last either way.
- Name
top- Type
- integer
- Description
Adds
top: the N narratives with the highest 24h change (1-50). A narrative without a 24h change is never ranked.
- Name
bottom- Type
- integer
- Description
Adds
bottom: the N narratives with the lowest 24h change, lowest first (1-50).
get_ecosystems
Analytics for 25 blockchain ecosystems: Ethereum, Solana, BNB Chain, Arbitrum, Base, and more. Returns market cap, volume, TVL, and performance per ecosystem.
- Name
ecosystem- Type
- string
- Description
Ecosystem slug (e.g.,
ethereum,solana,arbitrum,base). Seesharpe://ecosystemsresource for all 25 slugs. Omit for overview.
- Name
excludeNative- Type
- string
- Description
Set to
trueto exclude the chain's native token from aggregate metrics.
- Name
correlation- Type
- string
- Description
Set to
truefor a token correlation matrix within the ecosystem.
- Name
timeframe- Type
- string
- Description
Timeframe for correlation data (e.g.,
30d,90d).
get_memecoins
Memecoin narrative data across grouped categories: Dog, Cat, Frog, AI, Solana, Base, Pump.fun, and more. Returns market cap, market share, volume, freshness, calculation method, short-term momentum score, and top coins per category.
- Name
narrative- Type
- string
- Description
Memecoin narrative slug (e.g.,
dog-coins,cat-coins,frog-coins,ai-memes,trump-coins). Omit for all.
- Name
historical- Type
- string
- Description
Include time-series snapshots:
24h,7d,30d, or1yfor trend analysis.
- Name
coinHistory- Type
- string
- Description
In narrative detail mode, include top-coin price history:
24h,7d,1m, or1y.
get_memecoin_launches
Recently launched memecoin pairs screened by age, liquidity, volume, and transaction count. This is a discovery feed, not a contract-security verdict.
- Name
chains- Type
- string
- Description
Comma-separated chain ids. Default
solana,bsc, the chains with a recognised meme launchpad; other chains return no rows yet.
- Name
days- Type
- number
- Description
Launch age window in days, from 1 to 30.
- Name
limit- Type
- number
- Description
Maximum launch rows, from 1 to 200.
- Name
profile- Type
- string
- Description
Screening profile:
discovery,balanced, orstrict.
get_news
Aggregated crypto news feed from multiple sources, ranked by reliability tier.
- Name
limit- Type
- integer
- Description
Number of articles. Range 1-500. Defaults to
200.
- Name
offset- Type
- integer
- Description
Number of articles to skip before returning results, for pagination. Defaults to
0.
- Name
category- Type
- string
- Description
Filter by category:
all,crypto,tradfi,macro,geopolitics,research, orai.
- Name
coin- Type
- string
- Description
Filter by canonical coin slug (e.g.,
bitcoin,ethereum).
- Name
since- Type
- string
- Description
ISO 8601 timestamp. Only articles published after this time are returned.
- Name
q- Type
- string
- Description
Search article titles across the stored news corpus. Range 1-200 characters.
New listings tools
Listing lifecycle events across CEXs and Perp DEXs, tagged by narrative and source confidence. Use these as a forward signal for where exchange liquidity is being deployed.
get_exchange_listings
Aggregated hub payload: weekly + monthly listing counts by narrative and exchange, last 90 days of recent listings, and summary stats (WoW/MoM deltas, top narratives of the month, top exchanges of the month). Best tool for "which narratives are CEXs deploying listing slots toward?".
- Name
narrative- Type
- string
- Description
Filter to a single narrative slug (e.g.,
ai-agents,memes,layer-1,rwa,defi). All returned counts are scoped to that narrative. Omit for all narratives.
- Name
exchange- Type
- string
- Description
Filter to a single exchange. Legacy aggregate rows are currently populated for enabled compatibility venues.
get_recent_listings
Flat feed of recent listings, one row per token-exchange pair. Event-filtered responses include last_updated_at, partial, and provider_coverage; agents should inspect these before treating a quiet feed as a market signal.
- Name
narrative- Type
- string
- Description
Filter to a single narrative slug.
- Name
exchange- Type
- string
- Description
Filter to a single exchange. Event filters can include registry venues such as
bitget,hyperliquid, oraster.
- Name
venue_type- Type
- string
- Description
Optional event-feed venue filter:
cex,perp_dex, ordex.
- Name
market_type- Type
- string
- Description
Optional event-feed market filter:
spot,perp,futures,options, ormargin.
- Name
event_type- Type
- string
- Description
Optional event type filter:
listing,delisting,suspension,resumption, orprelaunch.
- Name
asset_class- Type
- string
- Description
Optional listed instrument class:
token,spot_pair,perp_contract,futures_contract, oroptions_contract.
- Name
status- Type
- string
- Description
Optional event status:
announced,scheduled,live,completed,cancelled, orneeds_review.
- Name
confidence- Type
- string
- Description
Optional source confidence:
authoritative,high,medium,low,proxy, ormanual.
- Name
from- Type
- string
- Description
ISO date or datetime lower bound.
- Name
to- Type
- string
- Description
ISO date or datetime upper bound.
- Name
days- Type
- integer
- Description
Lookback window in days. Range 1-365. Defaults to
90.
- Name
limit- Type
- integer
- Description
Max rows returned. Range 1-1000. Defaults to
200.
- Name
cursor- Type
- string
- Description
Opaque cursor returned by event feed pages. Pass it through unchanged.
get_listing_events
Canonical listing event feed across spot, perp, futures, and options markets. Returns event type, instrument id, status, source URL, source confidence, real source-observation freshness, and per-provider health. generated_at is response assembly time; use last_updated_at for freshness.
- Name
exchange- Type
- string
- Description
Optional exchange or perp DEX id.
- Name
venue_type- Type
- string
- Description
cex,perp_dex, ordex.
- Name
market_type- Type
- string
- Description
spot,perp,futures,options, ormargin.
- Name
event_type- Type
- string
- Description
listing,delisting,suspension,resumption, orprelaunch.
- Name
asset_class- Type
- string
- Description
token,spot_pair,perp_contract,futures_contract, oroptions_contract.
- Name
status- Type
- string
- Description
announced,scheduled,live,completed,cancelled, orneeds_review.
- Name
narrative- Type
- string
- Description
Sharpe narrative slug.
- Name
confidence- Type
- string
- Description
authoritative,high,medium,low,proxy, ormanual.
- Name
from- Type
- string
- Description
ISO date or datetime lower bound.
- Name
to- Type
- string
- Description
ISO date or datetime upper bound.
- Name
days- Type
- integer
- Description
Lookback window in days. Range 1-365. Defaults to
90.
- Name
limit- Type
- integer
- Description
Max rows returned. Range 1-1000. Defaults to
200.
- Name
cursor- Type
- string
- Description
Opaque two-stream cursor for the next page. Pass it through unchanged.
get_listing_exchanges
Typed connector registry for supported listing venues, including market coverage, source docs, enabled status, polling group, and parser confidence.
- Name
venue_type- Type
- string
- Description
Optional venue type filter.
- Name
market_type- Type
- string
- Description
Optional supported-market filter.
- Name
enabled- Type
- string
- Description
trueorfalse.
System tools
get_api_coverage
Metadata about all available data products: supported exchanges, coins, chart types, timeframes, and update frequencies. Call this first to discover what data is available before making specific queries.
No parameters.
Resources
The server exposes 4 MCP resources that provide reference data for valid parameter values.
- Name
sharpe://charts/futures- Type
- JSON array
- Description
All 24 valid futures chart IDs with descriptions. Use these IDs with
get_futures_data.
- Name
sharpe://exchanges- Type
- JSON object
- Description
Supported exchanges per product: 32 for funding rates, and 5 default + 5 extra for futures.
- Name
sharpe://narratives- Type
- JSON array
- Description
All 30 MCP narrative slugs and names for use with
get_narratives.
- Name
sharpe://ecosystems- Type
- JSON array
- Description
All 25 ecosystem slugs, names, and native tokens for use with
get_ecosystems.
Prompts
The server includes 2 guided prompt templates that walk AI agents through multi-step analysis workflows.
market_analysis
Guides the agent through a 6-step market analysis: market overview, derivatives health, sector rotation, ecosystem flows, arbitrage opportunities, and synthesis into a bullish/bearish/neutral verdict.
No parameters.
coin_deep_dive
Guides the agent through an in-depth single-coin analysis: quick analysis, futures deep dive (OI, long/short, liquidations, basis), funding history, correlations, price prediction, and a final synthesis with key levels and risk factors.
- Name
coin- Type
- string
- Description
Coin ticker. Defaults to
BTC.
Environment variables
- Name
SHARPE_API_KEY- Type
- string
- Description
API key for authenticated
/api/v1/endpoints. Not required: the server falls back to free endpoints without one.
- Name
SHARPE_API_URL- Type
- string
- Description
Site root for authenticated API calls. Defaults to
https://www.sharpe.ai; legacy/apior/api/v1base values are normalized.
- Name
SHARPE_FREE_URL- Type
- string
- Description
Base URL for free public endpoints. Defaults to
https://www.sharpe.ai.
Custom base URLs must use https://, except local development hosts such as http://localhost, http://127.0.0.1, and http://[::1]. The server refuses HTTP redirects from API calls so credentials are not forwarded to unexpected hosts.
Works without an API key
The MCP server works without setting SHARPE_API_KEY for tools that have free
public endpoint fallbacks. Authenticated-only /api/v1 tools require an API
key. Add a key for complete coverage and higher rate limits.
Without a key a tool reads the free route, and meta.route is public. Most
free routes answer the same data as /v1; a few answer in their own shape
(the scanners, settlement and the signal tools among them). Four free routes ignore limit
and cursor (get_global_overview, get_rwa_perp_funding, get_futures_data
and get_gem_finder); the server pages their rows itself with the same cursor
/v1 uses, so a keyless caller still reaches every row. A parameter a free route
does not read is named in meta.warnings.
When a page is larger than the context-window cap, the tool keeps the rows that
fit and points pagination.cursor at the first row it left out, so following
the cursor skips nothing. get_funding_rates, get_gem_finder and
get_arbitrage_spot_perp ask for a 25-row page when the call names none.
Get an API key
Create a key from the API key dashboard, then set it as SHARPE_API_KEY in your MCP client configuration. The full key is shown once at creation time.
Example prompts
These natural language prompts show how AI agents route to the correct tools.
| Prompt | Tools triggered |
|---|---|
| "What are the current funding rates for BTC across exchanges?" | get_funding_rates with type='current' |
| "Give me a full market briefing" | market_briefing (composite: market overview + narratives + funding) |
| "Show me the open interest chart for ETH over the last month" | get_futures_data with chart='oi-stacked', coin='ETH', timeframe='1M' |
| "What arbitrage opportunities exist right now?" | find_opportunities (composite: spot-perp + cross-exchange + funding summary) |
| "How are AI and DeFi narratives performing this week?" | get_narratives with narrative='ai-agents', then get_narratives with narrative='defi' |
| "Deep dive on SOL: derivatives, funding, everything" | coin_deep_dive prompt, or analyze_coin with coin='SOL' |
| "Find me some hidden gem tokens" | get_gem_finder |
| "Which narratives are getting the most CEX listings this month?" | get_exchange_listings (returns top narratives by month + WoW/MoM deltas) |
| "What new AI-agent tokens listed on MEXC in the last 30 days?" | get_recent_listings with narrative='ai-agents', exchange='mexc', days=30 |