Evidence-based market data for AI agents deploying capital in DeFi. Empirical, not advertised.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Assess the best DeFi opportunity for a given capital amount and strategy. This is the "cold start" tool — call it first to understand where your capital is viable before making any moves. One call gives you chain viability, ranked opportunities, gas impact, and an actionable recommendation. Args: api_key: Your PreFlyte API key (required). asset: Token symbol, e.g. "USDC", "WETH". action: "supply" or "borrow". position_size_usd: Capital amount in USD. strategy: One of "yield_farming", "active_trading", "idle_capital". chain: "ethereum", "arbitrum", or "any" (default: "any"). trades_per_day: For active_trading strategy only. Default 10. Returns: JSON with chain viability, ranked opportunities, gas analysis, break-even calculations, and an actionable recommendation.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Assess the best DeFi opportunity for a given capital amount and strategy. This is the "cold start" tool — call it first to understand where your capital is viable before making any moves. One call gives you chain viability, ranked opportunities, gas impact, and an actionable recommendation. Args: api_key: Your PreFlyte API key (required). asset: Token symbol, e.g. "USDC", "WETH". action: "supply" or "borrow". position_size_usd: Capital amount in USD. strategy: One of "yield_farming", "active_trading", "idle_capital". chain: "ethereum", "arbitrum", or "any" (default: "any"). trades_per_day: For active_trading strategy only. Default 10. Returns: JSON with chain viability, ranked opportunities, gas analysis, break-even calculations, and an actionable recommendation.
| Argument | Type | Description |
|---|---|---|
| asset* | string | |
| chain | string | |
| action* | string | |
| api_key* | string | |
| strategy* | string | |
| trades_per_day | integer | |
| position_size_usd* | number |
{
"type": "object",
"title": "assess_opportunityArguments",
"required": [
"api_key",
"asset",
"action",
"position_size_usd",
"strategy"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset"
},
"chain": {
"type": "string",
"title": "Chain",
"default": "any"
},
"action": {
"type": "string",
"title": "Action"
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"strategy": {
"type": "string",
"title": "Strategy"
},
"trades_per_day": {
"type": "integer",
"title": "Trades Per Day",
"default": 10
},
"position_size_usd": {
"type": "number",
"title": "Position Size Usd"
}
}
}Before entering a lending position, verify that the market is actually open and has capacity. Checks market status (active, frozen, borrowing enabled), supply/borrow caps, and available liquidity. Returns a clear viable/not-viable verdict. Args: api_key: Your PreFlyte API key (required). protocol: Protocol name — "aave-v3" or "compound-v3". chain: Chain name — "ethereum" or "arbitrum". asset: Asset symbol — "USDC", "WETH", etc. action: "supply" or "borrow". amount_usd: Intended position size in USD (optional, for context). Returns: Dictionary with viable (true/false), market_status, capacity details, current rate, and confidence level.
| Argument | Type | Description |
|---|---|---|
| asset* | string | |
| chain* | string | |
| action* | string | |
| api_key* | string | |
| protocol* | string | |
| amount_usd | number |
{
"type": "object",
"title": "check_entry_viabilityArguments",
"required": [
"api_key",
"protocol",
"chain",
"asset",
"action"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset"
},
"chain": {
"type": "string",
"title": "Chain"
},
"action": {
"type": "string",
"title": "Action"
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"protocol": {
"type": "string",
"title": "Protocol"
},
"amount_usd": {
"type": "number",
"title": "Amount Usd",
"default": 0
}
}
}Before swapping on Uniswap V3, check if pools have sufficient liquidity for the intended trade size. Finds all matching pools for a token pair, assesses trade impact relative to pool TVL, and recommends the best pool. Args: api_key: Your PreFlyte API key (required). chain: Chain name — "ethereum" or "arbitrum". token_pair: Token pair separated by "/" — e.g. "WETH/USDC", "WBTC/WETH". trade_size_usd: Intended swap size in USD. Returns: Dictionary with per-pool viability (TVL, trade impact, fee cost), a recommendation, and data freshness.
| Argument | Type | Description |
|---|---|---|
| chain* | string | |
| api_key* | string | |
| token_pair* | string | |
| trade_size_usd* | number |
{
"type": "object",
"title": "check_pool_viabilityArguments",
"required": [
"api_key",
"chain",
"token_pair",
"trade_size_usd"
],
"properties": {
"chain": {
"type": "string",
"title": "Chain"
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"token_pair": {
"type": "string",
"title": "Token Pair"
},
"trade_size_usd": {
"type": "number",
"title": "Trade Size Usd"
}
}
}Detailed financial estimate for a specific lending position — what will I actually earn (or pay) after gas costs? Combines current live rates, gas costs, and historical computed returns to project net yield over a holding period. Args: api_key: Your PreFlyte API key (required). protocol: Protocol name — "aave-v3" or "compound-v3". chain: Chain name — "ethereum" or "arbitrum". asset: Asset symbol — "USDC", "WETH", etc. action: "supply" or "borrow". position_size_usd: Amount in USD. duration_days: Intended holding period in days. Default 30. Returns: Dictionary with position details, current snapshot, cost breakdown, projected return, historical context, and confidence level.
| Argument | Type | Description |
|---|---|---|
| asset* | string | |
| chain* | string | |
| action* | string | |
| api_key* | string | |
| protocol* | string | |
| duration_days | integer | |
| position_size_usd* | number |
Tell agents whether now is a good or bad time to transact, based on historical gas patterns. Compares current gas to 24-hour and 7-day averages, identifies the cheapest hours of the day, and estimates reference transaction costs. Args: api_key: Your PreFlyte API key (required). chain: Chain name — "ethereum" or "arbitrum". Returns: Dictionary with current gas, 24h/7d context, timing assessment with cheapest hours, and reference transaction costs in USD.
| Argument | Type | Description |
|---|---|---|
| chain* | string | |
| api_key* | string |
{
"type": "object",
"title": "gas_timingArguments",
"required": [
"api_key",
"chain"
],
"properties": {
"chain": {
"type": "string",
"title": "Chain"
},
"api_key": {
"type": "string",
"title": "Api Key"
}
}
}Get current market snapshot for a specific lending market. Returns the latest rates, risk parameters, token price, and gas price. This is the foundation of RealityCheck — giving agents ground truth about current market conditions before they act. Args: api_key: Your PreFlyte API key (required). protocol: Protocol name — "aave-v3" or "compound-v3". chain: Chain name — "ethereum" or "arbitrum". asset: Asset symbol — "USDC", "USDT", "DAI", "WETH", "WBTC", "wstETH". Returns: Dictionary with latest lending rates, risk parameters (if available), current token price, current gas price, data freshness timestamps, and rate_context (7-day averages, standard deviations, anomaly flags).
| Argument | Type | Description |
|---|---|---|
| asset* | string | |
| chain* | string | |
| api_key* | string | |
| protocol* | string |
{
"type": "object",
"title": "get_market_snapshotArguments",
"required": [
"api_key",
"protocol",
"chain",
"asset"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset"
},
"chain": {
"type": "string",
"title": "Chain"
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"protocol": {
"type": "string",
"title": "Protocol"
}
}
}Get ranked list of best DeFi lending returns, sorted by net APY. Args: api_key: Your PreFlyte API key (required). window_days: Return window — 7, 14, 30, or 90 days. Default 7. strategy: "supply" or "borrow". Default "supply". top_n: Number of top results. Default 10, max 30. Returns: Ranked list with position number, net_apy_pct, gross_apy_pct, gas details, and data completeness scores.
| Argument | Type | Description |
|---|---|---|
| top_n | integer | |
| api_key* | string | |
| strategy | string | |
| window_days | integer |
{
"type": "object",
"title": "get_rankingArguments",
"required": [
"api_key"
],
"properties": {
"top_n": {
"type": "integer",
"title": "Top N",
"default": 10
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"strategy": {
"type": "string",
"title": "Strategy",
"default": "supply"
},
"window_days": {
"type": "integer",
"title": "Window Days",
"default": 7
}
}
}Query historical DeFi lending returns from the ProfitLens engine. Returns real, empirically measured after-fee returns — not theoretical APY projections. Data is computed from on-chain index ratios every 30 min. Args: api_key: Your PreFlyte API key (required). chain: Filter by chain — "ethereum" or "arbitrum". Empty = all chains. protocol: Filter by protocol — "aave-v3" or "compound-v3". Empty = all. asset: Filter by asset symbol — "USDC", "WETH", etc. Empty = all. strategy: Filter by strategy — "supply" or "borrow". Empty = both. window_days: Return window — 7, 14, 30, or 90 days. Default 7. limit: Max results to return. Default 20, max 50. Returns: Dictionary with 'results' array and metadata. Each result includes: gross_apy_pct, net_apy_pct, gas_cost_pct, data_completeness_pct, chain, protocol, asset, strategy, and more.
| Argument | Type | Description |
|---|---|---|
| asset | string | |
| chain | string | |
| limit | integer | |
| api_key* | string | |
| protocol | string | |
| strategy | string | |
| window_days | integer |
Verify factual claims about current DeFi market conditions. Supports two modes: - Single claim: provide claim_type, value, operator (and protocol/chain/asset as needed). Returns one verification result. - Batch mode: provide a JSON-encoded array in 'claims'. Each element has the same fields (claim_type, value, operator, protocol, chain, asset). Returns all results in one response. If 'claims' is provided, single-claim parameters are ignored. Args: api_key: Your PreFlyte API key (required). claim_type: What you're checking. One of: "supply_rate" — current supply APY (%) "borrow_rate" — current borrow APY (%) "price" — current token price (USD) "gas" — current base fee (gwei) "utilization" — current pool utilization (%) value: The numeric value you believe to be true. operator: Comparison operator. One of: "above" — actual must be >= value "below" — actual must be <= value "around" — actual must be within 10% of value protocol: Required for supply_rate, borrow_rate, utilization. Use "aave-v3" or "compound-v3". chain: Chain name — "ethereum" or "arbitrum". Default "ethereum". asset: Required for supply_rate, borrow_rate, price, utilization. Use token symbol like "USDC", "WETH", etc. claims: JSON-encoded array of claim objects for batch verification. Each object contains: claim_type, value, operator, and optionally protocol, chain, asset. When provided, single-claim params are ignored. Returns: Single mode: Dictionary with status (TRUE/FALSE), actual_value, claimed_value, delta, delta_pct, data_timestamp, and summary. Batch mode: Dictionary with 'mode', 'results' array, 'summary' counts, and 'verified_at' timestamp. Examples: Single: verify_claim(api_key="...", claim_type="supply_rate", value=5.0, operator="above", protocol="aave-v3", asset="USDC") Batch: verify_claim(api_key="...", claims='[{"claim_type": "supply_rate", ...}, ...]')
| Argument | Type | Description |
|---|---|---|
| asset | string |
{
"type": "object",
"title": "estimate_net_positionArguments",
"required": [
"api_key",
"protocol",
"chain",
"asset",
"action",
"position_size_usd"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset"
},
"chain": {
"type": "string",
"title": "Chain"
},
"action": {
"type": "string",
"title": "Action"
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"protocol": {
"type": "string",
"title": "Protocol"
},
"duration_days": {
"type": "integer",
"title": "Duration Days",
"default": 30
},
"position_size_usd": {
"type": "number",
"title": "Position Size Usd"
}
}
}{
"type": "object",
"title": "get_returnsArguments",
"required": [
"api_key"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset",
"default": ""
},
"chain": {
"type": "string",
"title": "Chain",
"default": ""
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"protocol": {
"type": "string",
"title": "Protocol",
"default": ""
},
"strategy": {
"type": "string",
"title": "Strategy",
"default": ""
},
"window_days": {
"type": "integer",
"title": "Window Days",
"default": 7
}
}
}| chain | string |
| value | number |
| claims | string |
| api_key* | string |
| operator | string |
| protocol | string |
| claim_type | string |
{
"type": "object",
"title": "verify_claimArguments",
"required": [
"api_key"
],
"properties": {
"asset": {
"type": "string",
"title": "Asset",
"default": ""
},
"chain": {
"type": "string",
"title": "Chain",
"default": "ethereum"
},
"value": {
"type": "number",
"title": "Value",
"default": 0
},
"claims": {
"type": "string",
"title": "Claims",
"default": ""
},
"api_key": {
"type": "string",
"title": "Api Key"
},
"operator": {
"type": "string",
"title": "Operator",
"default": "above"
},
"protocol": {
"type": "string",
"title": "Protocol",
"default": ""
},
"claim_type": {
"type": "string",
"title": "Claim Type",
"default": ""
}
}
}