Get started
MCP server
Connect an AI assistant to the daily screen. It can search instruments, explain a score, compare candidates and read the report, and it answers with the numbers and the time of the screen they come from.
What it is
The Model Context Protocol (MCP) is an open standard for giving AI assistants tools. The Yield Sniper MCP server exposes the same data as the API as 9 tools and 2 resources, so an assistant can look things up instead of guessing.
- Every result has a short text summary for the assistant to read and structured content for it to parse.
- The server tells the assistant that data comes from the daily screen, gives the units, and asks it to quote
as_ofwith the numbers. - Results are research, not financial advice. The server doesn't place transactions and never asks for wallet access.
Connect a client
- Create a key with the
readscope in Settings → API & MCP. Settings also shows this configuration with your key filled in. - Add a remote MCP server to your client with the URL
https://yieldsniper.finance/api/mcpand the headerAuthorization: Bearer ys_live_…. Clients that read a JSON file take the configuration on the right. - Restart the client or reload its tools. The server name is
yield-sniper.
Transport: Streamable HTTP, stateless; every call is a single POST with the key. Clients that only run local servers can reach it through any local stdio-to-HTTP bridge.
Tools
Inputs are JSON Schema objects; the client shows them to the assistant. Field names and units match the REST API.
screen_instruments
Searches the whole daily screen and returns compact rows with the total match count.
- Input
- q string · Query in the query language. Alternative to where.
- where object[] · Structured filters { field, op, value }, joined with and.
- sort object[] · { field, direction }, up to 3. Overrides a sort in q.
- search string · Free text over name, label, protocol and chain.
- limit integer · Rows to return, 1–25. Default 10.
- cursor string · next_cursor from a previous call with the same query.
- Output
- Rows with id, name, venue, asset class, total, native and incentive APY, TVL, score, band, verdict, failed rule and in-report flag, plus total, next_cursor and as_of.
- Try asking
- “Which low-risk stablecoin instruments pay at least 6%? Largest first.”
get_instrument
Returns one instrument in full, with a plain-language explanation of its score.
- Input
- id string required · Instrument id, "ins_…".
- include_history boolean · Also return the daily series and a summary. Default false.
- window enum · 7d, 30d (default) or 90d.
- Output
- The Instrument, a risk explanation built from its signals, and the history and its summary when asked.
- Try asking
- “Why does ins_4c29f40abec73e1b score 90 and not 100?”
compare_instruments
Puts 2 to 5 instruments side by side.
- Input
- ids string[] required · 2 to 5 instrument ids.
- Output
- The key yield, liquidity and safety metrics of each, which one pays more, which one is safer, and the signals that separate them.
- Try asking
- “Compare ins_4c29f40abec73e1b and ins_0abd5ec576be07e6 on yield, exit and risk.”
get_daily_report
Returns a published report: the top 5 passing instruments per asset class.
- Input
- date string · YYYY-MM-DD. Latest when omitted.
- Output
- The Report, with the screening summary of that day.
- Try asking
- “Summarise today's report in three bullet points.”
get_screen_summary
Returns the summary of one daily screen over the whole universe.
- Input
- date string · YYYY-MM-DD. Latest when omitted.
- Output
- The Screen: universe size, outcome, failures by rule and the leader of each asset class.
- Try asking
- “How many instruments failed the TVL floor this morning?”
get_methodology
Returns the rules, signals, bands, ranking and schedule.
- Input
- No input.
- Output
- The Methodology.
- Try asking
- “Which hard rules can exclude an instrument with $200M TVL?”
list_watchlists
Returns the user's watchlists with their instruments.
- Input
- No input.
- Output
- Each watchlist with its instruments as compact rows from the latest screen.
- Try asking
- “How do the instruments on my watchlist look today?”
check_wallet
Risk check of a wallet: every yield position it holds, scored against the latest screen, with exposure and what needs attention.
- Input
- address string required · 0x address, ENS name (name.eth) or Solana address.
- Output
- The WalletRisk (deposits, loans with their health factor, Morpho markets, liquidity and fixed-rate positions; wallet score and band; totals; exposure; alerts; comparisons) and a plain-language summary. Read-only; balances are cached 10 minutes per address.
- Try asking
- “How risky is my wallet 0x99e6…1367? Is any loan close to liquidation?”
list_watched_wallets
Returns the user's watched wallets with the result of their last daily re-check.
- Input
- No input.
- Output
- Each watched wallet: id, label, address, chain_family, ens_name, email_alerts, last_checked_at, score, band, previous_score, score_change (null when either score is missing), alert counts by severity and value.
- Try asking
- “Did anything get worse in my watched wallets this morning?”
Resources
Resources are documents a client can attach to a conversation without a tool call.
yieldsniper://methodologyThe methodology, as JSON.yieldsniper://reports/latestThe latest published report, as JSON.
Limits
Each tool call counts as one request against the key's limits: 60 per minute and 5,000 per day by default, shared with REST calls on the same key. See Rate limits and usage.