philidor-labs avatar

Philidor DeFi Vault Risk Analytics

philidor-labs/philidor-mcp

Connects Claude to Philidor's hosted DeFi risk analytics API covering 700+ vaults across Morpho, Aave, Yearn, Beefy, and Spark. Exposes 10 tools including vault search with filters for chain, protocol, asset, and risk tier, detailed risk breakdowns using their Vector Risk Framework (asset composition, platform code maturity, governance controls), side-by-side vault comparisons, and protocol security history with incident tracking. No API key required since it runs as a hosted service at mcp.philidor.io. Reach for this when you need to analyze yield opportunities with institutional-grade risk scoring, run due diligence on specific vaults, or assess portfolio risk across DeFi positions. The risk scores decompose into measurable sub-metrics rather than just surfacing raw APRs and TVL numbers.

GitHub stars
4
tools
24
transport
HTTP
last updated
Feb 27, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.philidor.io/api/mcp --name defi-vaults

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http defi-vaults https://mcp.philidor.io/api/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 24 tools

Verified live against the running server on Nov 6, 2026.

search_vaultsSearch and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more. Returns a paginated list with risk scores and APR.11 params

Search and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more. Returns a paginated list with risk scores and APR.

Parameters* required
assetstring
Filter by asset symbol (e.g. USDC, WETH)
chainstring
Filter by chain name or slug (e.g. Ethereum, Base, Arbitrum, Solana)
depositableboolean
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 reach...
limitnumber
Max results (default 10, max 50)
minTvlnumber
Minimum TVL in USD
protocolstring
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).
protocolVersionstring
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.
querystring
Search by vault name, symbol, asset, protocol, or curator
riskTierstring
Filter by risk tier: Prime, Core, or Edge
sortBystring
Sort field: tvl_usd, apr_net, name, last_synced_at
sortOrderstring
Sort order: asc or desc
get_vaultGet detailed information about a specific DeFi vault including risk breakdown, recent events, and historical snapshots. Lookup by ID or by network + address.3 params

Get detailed information about a specific DeFi vault including risk breakdown, recent events, and historical snapshots. Lookup by ID or by network + address.

Parameters* required
addressstring
Vault address in the chain's namespace: 0x-hex on EVM chains, base58 (case-sensitive) on Solana
idstring
Vault ID (e.g. morpho-1-0x...)
networkstring
Network slug from the chain registry (e.g. ethereum, base, arbitrum, solana). /v1/chains lists slugs for chains with active vaults.
get_vault_risk_breakdownGet a detailed breakdown of a vault's risk vectors: Asset Composition, Platform and Strategy, Control and Governance, and History scores with sub-metrics.2 params

Get a detailed breakdown of a vault's risk vectors: Asset Composition, Platform and Strategy, Control and Governance, and History scores with sub-metrics.

Parameters* required
address*string
Vault address in the chain's namespace: 0x-hex on EVM chains, base58 (case-sensitive) on Solana
network*string
Network slug from the chain registry (e.g. ethereum, base, arbitrum, solana). /v1/chains lists slugs for chains with active vaults.
list_marketsList 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 k...5 params

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 k...

Parameters* required
chainnumber | string
Filter by chain: integer chain id (e.g. 1, 8453) or slug (e.g. ethereum, solana)
limitnumber
Results per page (1-100, default 20)
protocolstring
Filter by protocol id: aave, spark, compound, morpho, kamino. Aave V4 is protocol=aave plus version=v4 (aave-v4 is accepted as an alias).
sortBystring
Sort field (default total_supplied_usd)one of total_supplied_usd · total_borrowed_usd · reserve_count · name
versionstring
Filter by protocol version: v3, v4, or klend. Use version=v4 with protocol=aave.
get_marketGet 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...1 params

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...

Parameters* required
marketId*string
Market id from list_markets. Spoke example: aave-v4-10-etherfi-cash. Hub example: aave-v4-1-hub-global-dollar.
get_market_eventsPublished 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 pla...2 params

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 pla...

Parameters* required
limitinteger
Max events (default 20)
marketId*string
Market id from list_markets. Spoke or composed hub parent (aave-v4-1-hub-global-dollar).
check_loop_venueUnderwrite 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 y...3 params

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 y...

Parameters* required
collateral*string
Collateral asset symbol you will post (e.g. weETH, WETH, cbBTC).
debt*string
Debt asset symbol you will borrow (e.g. USDC, USDT, GHO).
marketId*string
Market id from list_markets. Spoke example: aave-v4-1-main. Hub example: aave-v4-1-hub-global-dollar.
list_ondo_assetsSearch the paginated Ondo Global Markets catalog: tokenized securities, portfolios and exact issuer-reported deployments. Includes API-only and CSV-only entries, freshness and identity conflicts. This is not a list of verified risk scores.3 params

Search the paginated Ondo Global Markets catalog: tokenized securities, portfolios and exact issuer-reported deployments. Includes API-only and CSV-only entries, freshness and identity conflicts. This is not a list of verified risk scores.

Parameters* required
limitinteger
default: 20
pageinteger
default: 1
searchstring
get_ondo_assetGet an exact Ondo token: issuer market observations, portfolio constituents, source freshness and chain/address assessment links. Prices are display-only; constituents have no inferred weights or inherited ratings.1 params

Get an exact Ondo token: issuer market observations, portfolio constituents, source freshness and chain/address assessment links. Prices are display-only; constituents have no inferred weights or inherited ratings.

Parameters* required
symbol*string
Exact case-sensitive Ondo token symbol, for example SPYon; obtain it from list_ondo_assets.
get_ondo_asset_streamGet latest retained Ondo display prices and minute OHLC. Preserve source/receipt ages, evaluatedAt, conflicts and collector gaps; fresh is a 120-second policy at evaluatedAt, not an execution guarantee. Missing values are not zero. This does not open an issuer subscription or...1 params

Get latest retained Ondo display prices and minute OHLC. Preserve source/receipt ages, evaluatedAt, conflicts and collector gaps; fresh is a 120-second policy at evaluatedAt, not an execution guarantee. Missing values are not zero. This does not open an issuer subscription or...

Parameters* required
symbol*string
Exact case-sensitive Ondo token symbol, for example SPYon; obtain it from list_ondo_assets.
get_ondo_asset_dataGet Ondo OHLC, dividends, shares-multiplier history and per-chain token supply. Family availability and source clocks are explicit. Valid windows: 1min/1day, 5min/1day, 15min/1day, 1hour/1month, 4hour/1month, 12hour/3month, or 1day with 3month, 6month, 1year, all. Defaults to...3 params

Get Ondo OHLC, dividends, shares-multiplier history and per-chain token supply. Family availability and source clocks are explicit. Valid windows: 1min/1day, 5min/1day, 15min/1day, 1hour/1month, 4hour/1month, 12hour/3month, or 1day with 3month, 6month, 1year, all. Defaults to...

Parameters* required
intervalstring
one of 1min · 5min · 15min · 1hour · 4hour · 12hourdefault: 1hour
rangestring
one of 1day · 1month · 3month · 6month · 1year · alldefault: 1month
symbol*string
Exact case-sensitive Ondo token symbol, for example SPYon; obtain it from list_ondo_assets.
get_native_asset_assessmentGet the current effective score and signed reviewed base score for an exact Aptos, Sui, Noble, Stellar or XRP Ledger token. Preserve identifier case. A missing assessment is not a zero score. Evidence and signatures require the caller’s own entitled Philidor API key. verified...2 params

Get the current effective score and signed reviewed base score for an exact Aptos, Sui, Noble, Stellar or XRP Ledger token. Preserve identifier case. A missing assessment is not a zero score. Evidence and signatures require the caller’s own entitled Philidor API key. verified...

Parameters* required
identifier*string
Complete native token identifier, preserving case
network*string
one of aptos:1 · sui:mainnet · cosmos:noble-1 · stellar:pubnet · xrpl:0
get_native_asset_financialsGet public issuer financials for an exact Aptos, Sui, Noble, Stellar or XRP Ledger token. Preserve identifier case. Each metric states its unit, fund/global/deployment scope, source and freshness; null means unavailable, not zero. Fund AUM and NAV do not establish token supply...2 params

Get public issuer financials for an exact Aptos, Sui, Noble, Stellar or XRP Ledger token. Preserve identifier case. Each metric states its unit, fund/global/deployment scope, source and freshness; null means unavailable, not zero. Fund AUM and NAV do not establish token supply...

Parameters* required
identifier*string
Complete native token identifier, preserving case
network*string
one of aptos:1 · sui:mainnet · cosmos:noble-1 · stellar:pubnet · xrpl:0
compare_vaultsCompare 2-3 DeFi vaults side-by-side on TVL, APR, risk score, risk tier, audited status, and more.1 params

Compare 2-3 DeFi vaults side-by-side on TVL, APR, risk score, risk tier, audited status, and more.

Parameters* required
vaults*array
Array of 2-3 vaults to compare
find_safest_vaultsFind 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).3 params

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).

Parameters* required
assetstring
Filter by asset symbol (e.g. USDC, WETH)
chainstring
Filter by chain name or slug (e.g. Ethereum, Base, Arbitrum, Solana)
minTvlnumber
Minimum TVL in USD
get_protocol_infoGet detailed information about a DeFi protocol including TVL, vault count, versions, auditors, and security incidents.1 params

Get detailed information about a DeFi protocol including TVL, vault count, versions, auditors, and security incidents.

Parameters* required
protocolId*string
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).
get_curator_infoGet detailed information about a vault curator including their managed vaults, TVL, chain distribution, and performance.1 params

Get detailed information about a vault curator including their managed vaults, TVL, chain distribution, and performance.

Parameters* required
curatorId*string
Curator ID
get_market_overviewGet a high-level overview of the DeFi vault market: total TVL, vault count, risk distribution, and TVL by protocol.

Get a high-level overview of the DeFi vault market: total TVL, vault count, risk distribution, and TVL by protocol.

No parameters. Call it with no arguments.

explain_risk_scoreExplain what a Philidor risk score means, including the tier (Prime/Core/Edge), how it is calculated, and what the thresholds are.1 params

Explain what a Philidor risk score means, including the tier (Prime/Core/Edge), how it is calculated, and what the thresholds are.

Parameters* required
score*number
Risk score (0-10) to explain
list_vaults_with_incidentsList 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).

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).

No parameters. Call it with no arguments.

check_policyState whether the positions you supply conform to the limits and constraints you supply. Calls POST /v1/graph/check and returns the API compliance attestation (attestation de conformité): compliance (compliant or non_compliant), violations, policy_hash, findings, and snapshotI...5 params

State whether the positions you supply conform to the limits and constraints you supply. Calls POST /v1/graph/check and returns the API compliance attestation (attestation de conformité): compliance (compliant or non_compliant), violations, policy_hash, findings, and snapshotI...

Parameters* required
agentIdstring
Optional caller reference forwarded to the API. Not a wallet and not a key.
constraintsobject
Optional rules you set: minTier (Prime, Core, or Edge), allowlist and blacklist (max 1000 vault keys each; a key on both lists is not conforming because the blacklist wins), requireDepositStatus an...
issueboolean
When true, ask the API to issue a compliance attestation. Does not prepare a transaction.
limits*object
Exposure caps as fractions in (0, 1]. Pass {} to set none. Omit a field to leave that dimension unconstrained. No Philidor cap is preselected.
positions*array
Positions to check. 1 to 100. This is not a wallet.
list_basketsReturns the structured access refusal for the baskets family. Does not return constituents or weights.

Returns the structured access refusal for the baskets family. Does not return constituents or weights.

No parameters. Call it with no arguments.

list_rwaReturns the structured access refusal for the rwa family. Does not return coverage.

Returns the structured access refusal for the rwa family. Does not return coverage.

No parameters. Call it with no arguments.

get_oraclesReturns the structured access refusal for the oracles family. Does not return freshness.

Returns the structured access refusal for the oracles family. Does not return freshness.

No parameters. Call it with no arguments.

Sponsors

Readme

Philidor MCP Server

DeFi vault risk analytics for AI agents

MIT License MCP TypeScript Hosted smithery badge LobeHub

Search 700+ DeFi vaults across Morpho, Aave, Yearn, Beefy, and Spark. Compare risk scores, analyze protocols, run due diligence — all through natural language.

No API key required. No installation needed.

Quick Start • Cursor Plugin • Tools • Example Prompts • Risk Framework • Agent Skill


Key material


View the full README on GitHub

Details

Repository
github.com/philidor-labs/philidor-mcp
Categories
Search & Web Crawling, Finance & Commerce
Transport
HTTP
Registry
MCP registry, active
Resources
3
Prompts
4
Tools verified
Nov 6, 2026

Related Search & Web Crawling MCP servers

View all
1jmagar avatarCortex RMCPjmagar/cortexRust MCP server for homelab logs, syslog, Docker logs, FTS search, and AI transcript correlation.4stars
2kovoor avatarVueuse Mcpkovoor/vueuse-mcpSearch, browse, and get suggestions for VueUse composables4stars
3penfieldlabs avatarPenfield Memorypenfieldlabs/penfield-mcpPersistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.4stars
4wopee-io avatarWopee Mcpwopee-io/wopee-mcpWopee.io AI testing agents: dispatch analyses and test runs, fetch artifacts and results.4stars
5banana-prompts avatarBanana Prompts Mcpbanana-prompts/banana-prompts-mcpMCP server to search Nano Banana prompts from bananaprompts.fun3stars
6carlisia avatarMcp Factcheckcarlisia/mcp-factcheckAn MCP server that validates content against MCP specification using semantic search and AI3stars