Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,541Letters: 14Defects: 1,323counted 1 min ago
teppi

Server definition

Hash
sha256:cefc2832158e207a2c037245e6812aeb1e852e4fc4dce63a30e0758b08c7b4ab
What it is
What a remote MCP server returned when asked what it offers: 14 tools

The blob, as servednamed by its sha256

{ "instructions": "Philidor is a read-only DeFi risk layer: it scores vaults, markets and lending venues. It holds no wallet, computes no health factor, and prepares no transactions.\n\nSuggested use when the user wants to loop, borrow or supply and a protocol MCP (for example Aave, https://mcp.aave.com) is also connected:\n1. check_loop_venue first (or list_markets then get_market when no market id is known).\n2. Report score, tier, utilization, borrow APR, deposit status and incidents from that result.\n3. Then the protocol MCP for wallet review, preview_action and prepare_action.\nHeadline APR alone is not a venue choice: base yield and rewards are reported separately, and closed or unknown deposits are not executable.\n\nAave V4 is protocol=aave plus version=v4 (markets) or protocolVersion=v4 (vaults); aave-v4 is accepted as an alias. Spoke ids look like aave-v4-1-main; hub ids like aave-v4-1-hub-core are composed from their spokes.\n\nPhilidor never provides a health factor or calldata; those come from the protocol, not from these tools.", "tools": [ { "description": "Underwrite a collateral/debt loop on ONE lending market: score, tier, utilization, borrow APR, deposit status, and recent incidents for both reserves. Does not compute health factor and does not prepare txs. Call this before a protocol MCP preview_action / prepare_action. If you do not have a market id, call list_markets first (Aave V4: protocol=aave, version=v4). Examples: aave-v4-1-main, aave-v4-10-etherfi-cash, aave-v4-1-hub-global-dollar.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "collateral": { "description": "Collateral asset symbol you will post (e.g. weETH, WETH, cbBTC).", "type": "string" }, "debt": { "description": "Debt asset symbol you will borrow (e.g. USDC, USDT, GHO).", "type": "string" }, "marketId": { "description": "Market id from list_markets. Spoke example: aave-v4-1-main. Hub example: aave-v4-1-hub-global-dollar.", "type": "string" } }, "required": [ "marketId", "collateral", "debt" ], "type": "object" }, "name": "check_loop_venue", "outputSchema": null }, { "description": "Compare 2-3 DeFi vaults side-by-side on TVL, APR, risk score, risk tier, audited status, and more.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "vaults": { "description": "Array of 2-3 vaults to compare", "items": { "additionalProperties": false, "properties": { "address": { "description": "Vault address in the chain's namespace: 0x-hex on EVM chains, base58 (case-sensitive) on Solana", "type": "string" }, "network": { "description": "Network slug from the chain registry (e.g. ethereum, base, arbitrum, solana). /v1/chains lists slugs for chains with active vaults.", "type": "string" } }, "required": [ "network", "address" ], "type": "object" }, "maxItems": 3, "minItems": 2, "type": "array" } }, "required": [ "vaults" ], "type": "object" }, "name": "compare_vaults", "outputSchema": null }, { "description": "Explain what a Philidor risk score means, including the tier (Prime/Core/Edge), how it is calculated, and what the thresholds are.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "score": { "description": "Risk score (0-10) to explain", "maximum": 10, "minimum": 0, "type": "number" } }, "required": [ "score" ], "type": "object" }, "name": "explain_risk_score", "outputSchema": null }, { "description": "Find the highest risk-scored DeFi vaults, optionally filtered by asset, chain, or minimum TVL. Returns the top 10 audited vaults sorted by Philidor risk score (higher = lower assessed risk; scores are not a safety guarantee).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "asset": { "description": "Filter by asset symbol (e.g. USDC, WETH)", "type": "string" }, "chain": { "description": "Filter by chain name or slug (e.g. Ethereum, Base, Arbitrum, Solana)", "type": "string" }, "minTvl": { "description": "Minimum TVL in USD", "type": "number" } }, "type": "object" }, "name": "find_safest_vaults", "outputSchema": null }, { "description": "Get detailed information about a vault curator including their managed vaults, TVL, chain distribution, and performance.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "curatorId": { "description": "Curator ID", "type": "string" } }, "required": [ "curatorId" ], "type": "object" }, "name": "get_curator_info", "outputSchema": null }, { "description": "Get one lending market with every reserve it contains: supplied, supply APR, borrowed, borrow APR, utilization and risk tier per reserve. Spoke ids look like aave-v4-10-etherfi-cash. Aave V4 hub parents (aave-v4-1-hub-global-dollar) are composed from the spokes that share that hub; /v1/markets does not serve those ids.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "marketId": { "description": "Market id from list_markets. Spoke example: aave-v4-10-etherfi-cash. Hub example: aave-v4-1-hub-global-dollar.", "type": "string" } }, "required": [ "marketId" ], "type": "object" }, "name": "get_market", "outputSchema": null }, { "description": "Published risk events for ONE lending market: incidents, bad debt, liquidation cascades (e.g. mass liquidations on a Morpho Blue market). Market ids look like morpho-v1-1-pt-reusd-10dec2026-usdc-91-5. Aave V4 hub ids (aave-v4-1-hub-global-dollar) union the spoke feeds. Not platform stats (get_market_overview) and not the market data itself (get_market).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "description": "Max events (default 20)", "maximum": 100, "minimum": 1, "type": "integer" }, "marketId": { "description": "Market id from list_markets. Spoke or composed hub parent (aave-v4-1-hub-global-dollar).", "type": "string" } }, "required": [ "marketId" ], "type": "object" }, "name": "get_market_events", "outputSchema": null }, { "description": "Get a high-level overview of the DeFi vault market: total TVL, vault count, risk distribution, and TVL by protocol.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_market_overview", "outputSchema": null }, { "description": "Get detailed information about a DeFi protocol including TVL, vault count, versions, auditors, and security incidents.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "protocolId": { "description": "Protocol ID: aave, morpho, spark, compound, yearn, beefy, uniswap, nest, maple, kamino. Aave V4 is listed under aave (aave-v4 is accepted as an alias).", "type": "string" } }, "required": [ "protocolId" ], "type": "object" }, "name": "get_protocol_info", "outputSchema": null }, { "description": "Get detailed information about a specific DeFi vault including risk breakdown, recent events, and historical snapshots. Lookup by ID or by network + address.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "address": { "description": "Vault address in the chain's namespace: 0x-hex on EVM chains, base58 (case-sensitive) on Solana", "type": "string" }, "id": { "description": "Vault ID (e.g. morpho-1-0x...)", "type": "string" }, "network": { "description": "Network slug from the chain registry (e.g. ethereum, base, arbitrum, solana). /v1/chains lists slugs for chains with active vaults.", "type": "string" } }, "type": "object" }, "name": "get_vault", "outputSchema": null }, { "description": "Get a detailed breakdown of a vault's risk vectors: Asset Composition, Platform and Strategy, Control and Governance, and History scores with sub-metrics.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "address": { "description": "Vault address in the chain's namespace: 0x-hex on EVM chains, base58 (case-sensitive) on Solana", "type": "string" }, "network": { "description": "Network slug from the chain registry (e.g. ethereum, base, arbitrum, solana). /v1/chains lists slugs for chains with active vaults.", "type": "string" } }, "required": [ "network", "address" ], "type": "object" }, "name": "get_vault_risk_breakdown", "outputSchema": null }, { "description": "List lending markets: the market a depositor actually picks (Aave/Spark pool, Aave V4 spoke, Compound Comet, Morpho Blue pair, or Kamino K-Lend market). Aave V4 spokes that share a liquidity hub are grouped under a composed parent (aave-v4-1-hub-global-dollar). The API still keys each market on the spoke. NOTE: this is not `get_market_overview`, which returns platform-wide totals across all vaults.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "chain": { "description": "Filter by chain: integer chain id (e.g. 1, 8453) or slug (e.g. ethereum, solana)", "type": [ "number", "string" ] }, "limit": { "description": "Results per page (1-100, default 20)", "type": "number" }, "protocol": { "description": "Filter by protocol id: aave, spark, compound, morpho, kamino. Aave V4 is protocol=aave plus version=v4 (aave-v4 is accepted as an alias).", "type": "string" }, "sortBy": { "description": "Sort field (default total_supplied_usd)", "enum": [ "total_supplied_usd", "total_borrowed_usd", "reserve_count", "name" ], "type": "string" }, "version": { "description": "Filter by protocol version: v3, v4, or klend. Use version=v4 with protocol=aave.", "type": "string" } }, "type": "object" }, "name": "list_markets", "outputSchema": null }, { "description": "List all vaults that had a recent critical incident (last 365 days). Critical = severity Critical or incident_severity major. Results are sorted by TVL descending, then by time since event ascending (most recent first).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_vaults_with_incidents", "outputSchema": null }, { "description": "Search and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more. Returns a paginated list with risk scores and APR.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "asset": { "description": "Filter by asset symbol (e.g. USDC, WETH)", "type": "string" }, "chain": { "description": "Filter by chain name or slug (e.g. Ethereum, Base, Arbitrum, Solana)", "type": "string" }, "depositable": { "description": "Filter by current ability to accept new deposits. When true, vaults whose depositability is not yet indexed are still included; when false, only vaults whose maxDeposit on-chain is zero (caps reached, paused, or supply queue saturated) are returned.", "type": "boolean" }, "limit": { "description": "Max results (default 10, max 50)", "type": "number" }, "minTvl": { "description": "Minimum TVL in USD", "type": "number" }, "protocol": { "description": "Filter by protocol ID: aave, morpho, spark, compound, yearn, beefy, uniswap, nest, maple, kamino. Aave V4 is protocol=aave plus protocolVersion=v4 (aave-v4 is accepted as an alias).", "type": "string" }, "protocolVersion": { "description": "Filter by protocol generation: v3, v4, v3-lido, v3-horizon, klend, kvault. Required to isolate Aave V4 (protocol=aave, protocolVersion=v4). Vaults list this as protocol_version.", "type": "string" }, "query": { "description": "Search by vault name, symbol, asset, protocol, or curator", "type": "string" }, "riskTier": { "description": "Filter by risk tier: Prime, Core, or Edge", "type": "string" }, "sortBy": { "description": "Sort field: tvl_usd, apr_net, name, last_synced_at", "type": "string" }, "sortOrder": { "description": "Sort order: asc or desc", "type": "string" } }, "type": "object" }, "name": "search_vaults", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:cefc2832158e207a2c037245e6812aeb1e852e4fc4dce63a30e0758b08c7b4ab | sha256sum