Philidor DeFi Vault Risk Analytics

io.philidorPublished by philidor.ioOfficial publisherv1.0.0Updated Oct 24, 2026

Search 700+ DeFi vaults, compare risk scores, analyze protocols. No API key needed.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Read-only DeFi vault and lending-market risk analytics: search 700+ vaults, compare risk scores, and check protocols, curators and incidents.

What you can do
  • Search, filter and compare DeFi vaults by chain, protocol, asset, risk tier and TVL, with risk scores and APR
  • Inspect a single vault's risk breakdown, recent events and history, and explain what a score or tier means
  • List and inspect lending markets and their reserves, plus published risk events per market
  • Underwrite a collateral/debt loop venue on one market before borrowing
  • Look up protocol and curator profiles, market-wide TVL and risk overviews, and vaults with recent critical incidents
When to use it
Useful when an assistant is asked to research DeFi yield, run vault due diligence, compare risk-adjusted returns, or check a lending market or loop venue before a deposit or borrow. It supplies analytics only, so pair it with a protocol MCP for health factors and transactions.
Requirements
Remote Streamable HTTP endpoint, no installation or API key for public analytics. A local stdio or Docker variant exists and needs Node.js; its policy-attestation tool requires a Philidor API credential in the PHILIDOR_API_KEY environment variable and an eligible plan. Network access to the Philidor API.
Before you install
Read-only: it does not build, sign or broadcast transactions and does not compute health factors. It refuses inputs carrying key material, but a 32-byte pool identifier can look like a private key, so never paste keys into identifier fields. Policy attestations need an eligible plan and may quote an x402 price; it does not pay automatically. Risk scores are not a safety guarantee.

Installation

In SourceWeft

  1. Open Philidor DeFi Vault Risk Analytics in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.philidor%2Fdefi-vaults/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "philidor-defi-vault-risk-analytics": {
      "type": "http",
      "url": "https://mcp.philidor.io/api/mcp"
    }
  }
}

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

Philidor never accepts keys. Never send private keys, session keys, seeds, or mnemonics to any Philidor API or MCP input. Inputs carrying key material receive a structured refusal before tool, prompt, or resource handlers run. The API and MCP return data only; they do not build, sign, or broadcast transactions. Keys and execution stay in the client-side SDK.

A 32-byte pool identifier and a private key can have the same shape. Documented identifier fields still accept exact identifiers; never paste a key into them.

Why Philidor?

Most DeFi data tools give you raw numbers. Philidor gives your AI agent institutional-grade risk intelligence.

FeaturePhilidorDefiLlama MCPGeneric DeFi APIs
Vault risk scores (0–10):white_check_mark::x::x:
Risk vector decomposition:white_check_mark::x::x:
Vault comparison:white_check_mark::x::x:
Curator intelligence:white_check_mark::x::x:
Protocol security history:white_check_mark::x:Partial
Due diligence prompts:white_check_mark::x::x:
Portfolio risk assessment:white_check_mark::x::x:
No API key needed:white_check_mark::white_check_mark:Varies
Hosted (zero install):white_check_mark::x::x:

Quick Start

Remote Server (Recommended)

Connect directly to the hosted server — zero installation, always up to date:

https://mcp.philidor.io/api/mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "philidor": {      "url": "https://mcp.philidor.io/api/mcp"    }  }}

Claude Code

bash
claude mcp add philidor --transport http https://mcp.philidor.io/api/mcp

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "philidor": {      "url": "https://mcp.philidor.io/api/mcp"    }  }}

Windsurf

Add to your MCP settings:

json
{  "mcpServers": {    "philidor": {      "serverUrl": "https://mcp.philidor.io/api/mcp"    }  }}

Docker (stdio)

bash
docker run -i --rm ghcr.io/philidor-labs/philidor-mcp

Local (stdio)

bash
git clone https://github.com/Philidor-Labs/philidor-mcp.gitcd philidor-mcpnpm installnpm start

Tools

15 standalone tools for vault discovery, risk analysis, lending markets, loop venue checks, policy attestations, and protocol research.

check_policy

Check positions against your own limits and constraints. Returns the API's compliance attestation: compliance, violations, policy_hash, findings, and snapshotId. With issue: true, an issued attestation also includes attestation_id, signerAddress, and verification_url (GET /v1/graph/attestation/{id}/verify). No risk figures are recalculated. Missing, malformed, or partial responses produce an error. The legacy verdict appears only as deprecated_verdict; use compliance.

ParameterTypeDescription
positionsarray1–100 { vaultKey, amountUsd } rows; key is {chainId}:{lowercase 0x address}, amount is finite and positive. EVM graph coverage only.
limitsobjectCaller-defined fractions in (0, 1]: maxSharePerCurator, maxSharePerProtocol, maxSharePerChain, maxSharePerAsset, maxSharePerOracle, maxSharePerOracleVendor, maxSharePerCluster, maxSharePerBridge, maxSharePerSignerSet. Required; {} sets no caps.
constraintsobjectOptional minTier (Prime, Core, Edge), allowlist/blacklist (up to 1000 vault keys each), requireDepositStatus/requireWithdrawStatus (open), maxFreshnessSeconds (integer 0–31622400). Blacklist wins.
issuebooleanOptional, defaults to false. Ask the API to issue a compliance attestation.
agentIdstringOptional caller reference, 1–200 characters.

For local stdio/Docker, set PHILIDOR_API_KEY in the server process environment to your Philidor API credential. Keep it out of tool arguments, chat, and source control. This is not a wallet key. Without an eligible key the tool returns a structured refusal with the API's required plan, x402 price (when available), and upgrade link. It does not pay automatically. The hosted plugin uses its own documented client authentication.

No Philidor policy is preselected. This reports conformity with your policy; it does not recommend a vault. Philidor does not prepare transactions and never accepts wallet keys. Execution stays in the client-side SDK.

search_vaults

Search and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more.

ParameterTypeDescription
querystringSearch by vault name, symbol, asset, protocol, or curator
chainstringFilter by chain name or slug (Ethereum, Base, Solana, ...)
protocolstringProtocol ID: aave, morpho, spark, compound, yearn, beefy, uniswap, nest, maple, kamino
protocolVersionstringGeneration filter (v3, v4, ...); use with protocol=aave for Aave V4
assetstringFilter by asset symbol (USDC, WETH, ...)
riskTierstringFilter by risk tier: Prime, Core, or Edge
minTvlnumberMinimum TVL in USD
depositablebooleanFilter by current deposit capacity
sortBystringSort field: tvl_usd, apr_net, name, last_synced_at
sortOrderstringSort order: asc or desc
limitnumberMax results (default 10, max 50)

get_vault

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

ParameterTypeDescription
idstringVault ID (e.g. morpho-1-0x...)
networkstringNetwork slug (ethereum, base, arbitrum, solana)
addressstringVault address (0x hex or Solana base58)

get_vault_risk_breakdown

Detailed breakdown of a vault's four risk vectors: Asset Composition, Platform and Strategy, Control and Governance, and History.

ParameterTypeDescription
networkstringNetwork slug
addressstringVault address

list_markets

List lending markets (Aave/Spark pools, Aave V4 spokes, Compound Comet, Morpho Blue pairs, Kamino K-Lend). Aave V4 spokes that share a liquidity hub are grouped under composed hub parents (e.g. aave-v4-1-hub-core).

ParameterTypeDescription
protocolstringaave, spark, compound, morpho, kamino
versionstringv3, v4, or klend
chainnumber/stringChain id or slug
limitnumber1–100 (default 20)
sortBystringtotal_supplied_usd, total_borrowed_usd, reserve_count, name

get_market

One market with every reserve (supplied, supply APR, borrowed, borrow APR, utilization, tier). Accepts spoke ids and composed hub ids.

ParameterTypeDescription
marketIdstringMarket id from list_markets

get_market_events

Published risk events for one lending market. Hub ids union spoke feeds.

ParameterTypeDescription
marketIdstringMarket id from list_markets
limitnumber1–100 (default 20)

check_loop_venue

Underwrite a collateral/debt loop on one market: score, tier, utilization, borrow APR, deposit status, and recent incidents for both legs. Does not compute health factor and does not prepare transactions.

ParameterTypeDescription
marketIdstringMarket id from list_markets
collateralstringCollateral asset symbol
debtstringDebt asset symbol

compare_vaults

Side-by-side comparison of 2–3 vaults on TVL, APR, risk score, risk tier, and audit status.

ParameterTypeDescription
vaultsarrayArray of 2–3 objects with network and address

find_safest_vaults

Find the top 10 audited vaults sorted by Philidor risk score (higher = lower assessed risk; not a safety guarantee).

ParameterTypeDescription
assetstringFilter by asset symbol
chainstringFilter by chain name
minTvlnumberMinimum TVL in USD

get_protocol_info

Protocol details including TVL, vault count, versions, auditors, bug bounties, and security incidents.

ParameterTypeDescription
protocolIdstringProtocol ID (aave, morpho, spark, compound, yearn, beefy, uniswap, nest, maple, kamino)

get_curator_info

Curator details including managed vaults, TVL, chain distribution, and performance metrics.

ParameterTypeDescription
curatorIdstringCurator ID

get_market_overview

High-level DeFi vault market statistics: total TVL, vault count, risk distribution, and TVL by protocol. No parameters required.

explain_risk_score

Explain what a specific risk score means, including the tier, calculation method, and thresholds.

ParameterTypeDescription
scorenumberRisk score (0–10)

list_vaults_with_incidents

List all vaults that had a recent critical incident (last 365 days). Sorted by TVL descending, then by recency. No parameters required.


Resources

URIDescription
philidor://methodologyThe Vector Risk Framework v4.1 documentation
philidor://supported-chainsSupported blockchain networks with vault counts
philidor://supported-protocolsSupported DeFi protocols with TVL data

Prompts

PromptDescription
vault_due_diligenceComprehensive due diligence report for a vault
portfolio_risk_assessmentPortfolio-level risk analysis across positions
defi_yield_comparisonYield comparison with risk-adjusted analysis
review_loop_venueLoop venue review, then hand off to a protocol MCP

Example Prompts

Once connected, try asking your AI assistant:

Discovery

"Find the safest USDC vaults with at least $10M TVL"

"What Morpho vaults are available on Base?"

"Show me the DeFi market overview"

Analysis

"Run due diligence on the Steakhouse USDC vault on Ethereum"

"Compare the top 3 USDC vaults by risk score"

"What's the risk breakdown for this vault: ethereum/0x..."

Portfolio

"Assess my portfolio: 50% in Morpho Steakhouse USDC, 30% in Aave USDC, 20% in Yearn USDC"

"Which protocols have had security incidents?"

"What does a risk score of 8.5 mean?"


Risk Scoring

Philidor uses the Vector Risk Framework v4.1 to decompose vault risk into three measurable vectors:

Final Score = 40% Asset + 40% Platform + 20% Governance

Asset Composition (40%)

Quality of underlying collateral. Blue-chip assets (ETH, USDC) score highest. Factors include oracle reliability, liquidity depth, and peg stability.

Platform Code (40%)

Code maturity measured by:

  • Lindy Score — time-based safety (>2 years ≈ 9/10)
  • Audit Density — number and quality of audits
  • Dependency Risk — multiplicative penalties for risky dependencies
  • Incident Penalty — caps score after security incidents

Governance (20%)

Exit window for users:

ControlScore
Immutable contract10/10
7+ day timelock9/10
No timelock1/10

Risk Tiers

TierScoreMeaning
Prime8.0–10.0Institutional-grade — mature code, multiple audits, safe governance
Core5.0–7.9Moderate safety — audited but newer or flexible governance
Edge0.0–4.9Higher risk — requires careful due diligence

Architecture

┌──────────────────┐     ┌─────────────────┐     ┌──────────────┐│  Claude / Cursor  │────▶│  Philidor MCP   │────▶│ Philidor API ││  Windsurf / etc.  │◀────│  Server         │◀────│              │└──────────────────┘     └─────────────────┘     └──────┬───────┘                          15 tools, 3 resources,         │                          4 prompts                      │                                                   ┌────▼────┐                                                   │ On-chain │                                                   │  data    │                                                   └─────────┘
  • Transport: Streamable HTTP (remote) or stdio (local/Docker)
  • API: Calls the Philidor Public API — public analytics need no API key; policy attestations require an eligible API plan
  • Stateless: Fresh server instance per request, no session state
  • Data: 700+ vaults across Ethereum, Base, Arbitrum, Polygon, Optimism, and Avalanche

Cursor Marketplace Plugin

This repository packages a Cursor plugin that connects the agent to the hosted Philidor MCP server and loads five workflow skills. The plugin does not embed an API key. Philidor stays read-only: it scores vaults and lending venues, and it does not compute a health factor or prepare a transaction.

The plugin points at the hosted server, which is ahead of the stdio server in this repo:

https://mcp.philidor.io/api/mcp

Transport is Streamable HTTP. The hosted server has additional tools beyond this standalone client; use tools/list to discover the current surface. src/server.ts registers 15 standalone tools, 3 resources (philidor://methodology, philidor://supported-chains, philidor://supported-protocols), and 4 prompts (vault_due_diligence, portfolio_risk_assessment, defi_yield_comparison, review_loop_venue).

PiecePath
Manifest.cursor-plugin/plugin.json
Marketplace index.cursor-plugin/marketplace.json (one plugin, source .)
MCP connectormcp.json
Logoassets/logo.svg (primary pawn mark from philidor.io/brand-assets)
Skillsskills/vault-due-diligence, skills/pre-deposit-safety-check, skills/risk-adjusted-yield, skills/market-incident-monitoring, skills/philidor-api-handoff

Product page: philidor.io/mcp. Docs: MCP server, quickstart, tools, resources, prompts.

Install

After the plugin is listed, open Customize in Cursor, find Philidor, and choose Install (project or user scope). That loads the skills and the hosted MCP server together.

Until then, connect the same server without the plugin by adding this to .cursor/mcp.json:

json
{  "mcpServers": {    "philidor": {      "url": "https://mcp.philidor.io/api/mcp"    }  }}

To try the plugin from a local checkout, copy this repo to ~/.cursor/plugins/local/philidor (the folder must contain .cursor-plugin/plugin.json), then run Developer: Reload Window and confirm the skills and MCP server under Customize. Local plugin imports have to be allowed. A marketplace plugin with the same name takes precedence over the local copy.

Example prompts

  • "Run due diligence on the Gauntlet USDC vault on Ethereum."
  • "Which Prime USDC vaults on Ethereum still accept deposits, and how do their scores compare to APR?"
  • "Check looping weETH against USDC on Aave V4 Ethereum Main before I borrow."
  • "List the largest Aave V4 markets by supplied value and any recent events on the one I pick."
  • "Which vaults had a critical incident in the last year?"
  • "I need basket constituents and the oracle freshness feed. Is that on the free MCP or the API?"

Skills tell the agent to copy vault ids, network slugs, addresses, and market ids from tool results, and not to invent risk numbers. Loop checks call check_loop_venue, then stop. Health factor and unsigned transactions belong to the protocol MCP (Aave is https://mcp.aave.com). Baskets, oracle vectors, enriched assets, the event stream, and Risk Graph look-through are outside the free MCP. The philidor-api-handoff skill sends those questions to API Access and Plans and pricing without quoting a price.

Submission checklist

Do not submit from this fork until a reviewer accepts the pull request. Listing is a manual review at cursor.com/marketplace/publish. The repository must be public. Cursor reviews the open-source tree and each later update.

  • .cursor-plugin/plugin.json parses and matches the plugin schema (name philidor, lowercase kebab-case)
  • description states that the plugin is read-only vault and market risk analytics
  • mcp.json is the only MCP connector and has no auth header
  • Each skill directory has a SKILL.md whose name matches the folder and whose description says when to use it
  • assets/logo.svg is committed and logo is the relative path assets/logo.svg
  • Manifest paths are relative and exist (skills/..., ./mcp.json). No .., no absolute paths
  • No ${VAR} placeholders, so variables stays unset
  • README (this section) documents install and example prompts
  • Live check: initialize and tools/list against https://mcp.philidor.io/api/mcp still succeed
  • Tried locally from ~/.cursor/plugins/local/philidor (Customize shows 5 skills and the Philidor MCP server)
  • Submit the public GitHub URL at cursor.com/marketplace/publish. This repo is a single plugin indexed by .cursor-plugin/marketplace.json with source "."

Agent Skill

Install the Philidor MCP skill into your coding agent via skills.sh:

bash
npx skills add philidor-labs/philidor-mcp

This gives your agent full knowledge of all tools, resources, prompts, recommended workflows, and best practices for DeFi vault analysis.

Also Available

InterfaceDescriptionLink
CLITerminal-based vault intelligence — scriptable, pipeable, agent-sandboxedphilidor-cli
OpenClaw SkillSkill definition for the OpenClaw agent platformnpm

Supported Protocols

Morpho, Aave (v3/v4), Spark, Compound, Yearn, Beefy, Uniswap, Nest, Maple, Kamino — with more being added regularly.

See the full list at app.philidor.io.


Development

bash
git clone https://github.com/Philidor-Labs/philidor-mcp.gitcd philidor-mcpnpm installnpm start

The server connects to the public Philidor API by default. To use a custom endpoint:

bash
PHILIDOR_API_URL=http://localhost:3003 npm start

Links

License

MIT

Source: README.md at commit f28c590

Tools

14

search_vaults

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

ParametersassetchainlimitqueryminTvlsortByprotocolriskTiersortOrderdepositableprotocolVersion

get_vault

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

Parametersidaddressnetwork

get_vault_risk_breakdown

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

Parametersaddressrequirednetworkrequired

list_markets

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.

ParameterschainlimitsortByversionprotocol

get_market

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.

ParametersmarketIdrequired

get_market_events

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

ParameterslimitmarketIdrequired

check_loop_venue

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.

ParametersdebtrequiredmarketIdrequiredcollateralrequired

compare_vaults

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

Parametersvaultsrequired

find_safest_vaults

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

ParametersassetchainminTvl

get_protocol_info

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

ParametersprotocolIdrequired

get_curator_info

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

ParameterscuratorIdrequired

get_market_overview

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

Takes no parameters.

explain_risk_score

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

Parametersscorerequired

list_vaults_with_incidents

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

Takes no parameters.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts