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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:cefc2832158e207a2c037245e6812aeb1e852e4fc4dce63a30e0758b08c7b4ab | sha256sum