# Examples and workflows

> Protocol IDs, chain slugs, and agent prompts for looping, curator screens, Solana, and credit pools.

Philidor MCP is a **read-only risk layer**. Protocol MCPs (Aave, Morpho) can prepare transactions. Use this server before you size a loop, pick a spoke, or rotate a book: scores, rates, utilization, deposit caps, and incidents.

No API key. Connect once, then ask in plain language. The tables below are the IDs the tools actually accept.

## Protocol IDs

Use these values in `search_vaults.protocol` and `get_protocol_info.protocolId`.

| ID         | What it covers                                   | How to pick a generation                                 |
| ---------- | ------------------------------------------------ | -------------------------------------------------------- |
| `aave`     | Aave V2, V3 (Main, Lido, Horizon), and V4        | Vaults: `protocolVersion=v4`. Markets: `version=v4`      |
| `morpho`   | Morpho Blue vaults and isolated markets          | Markets are loan/collateral pairs, not pools             |
| `spark`    | SparkLend and Spark Savings                      | Markets are `version=v1` (SparkLend); Savings are vaults |
| `compound` | Compound III Comets                              | One reserve per Comet                                    |
| `yearn`    | Yearn V2 / V3 aggregators                        | Vault search only                                        |
| `beefy`    | Beefy vaults                                     | Vault search only                                        |
| `uniswap`  | Uniswap V2 / V3 / V4 pools                       | Filter with `protocolVersion` (`v3`, `v4`)               |
| `nest`     | Nest credit / savings                            | Vault search only                                        |
| `maple`    | Maple V2 pools and Syrup share tokens            | Credit evidence, not a generic money-market util         |
| `kamino`   | Kamino K-Lend markets and Earn kVaults on Solana | Markets: `version=klend`. Vaults: `klend` or `kvault`    |

Live versions, auditors, and incidents: `get_protocol_info` with `protocolId=aave` (V4 is one row in the versions list). Full module notes: [Supported Protocols](/docs/reference/supported-protocols).

## Chain slugs

`search_vaults.chain` accepts the display name (`Ethereum`) or the slug. `get_vault` / `get_vault_risk_breakdown` want the **slug**. Markets also accept the integer chain id.

| Slug        | Chain id     | Notes                                   |
| ----------- | ------------ | --------------------------------------- |
| `ethereum`  | `1`          | EVM `0x` addresses                      |
| `base`      | `8453`       |                                         |
| `arbitrum`  | `42161`      |                                         |
| `optimism`  | `10`         | Aave V4 EtherFi Cash lives here         |
| `polygon`   | `137`        |                                         |
| `avalanche` | `43114`      | Aave V4 Main / Forex / AVAX Correlated  |
| `linea`     | `59144`      |                                         |
| `monad`     | `143`        |                                         |
| `plume`     | `98866`      |                                         |
| `stable`    | `988`        |                                         |
| `plasma`    | `9745`       |                                         |
| `solana`    | `1399811149` | Addresses are base58 and case-sensitive |

[Supported Chains](/docs/reference/supported-chains) has explorers and finality. Ask the agent to load `philidor://supported-chains` if you want live vault counts.

## What each search returns

`search_vaults` prints a card per vault: name, protocol, chain, asset, TVL, APR, risk score / tier, and a `Deposits:` line (`open` with remaining cap, `uncapped`, `closed`, or `unknown`).

`list_markets` prints the **venue** a depositor picks (Aave pool or V4 spoke, Morpho pair, Kamino K-Lend market): id, supplied, borrowed, utilization, reserve count. Aave V4 spokes that share a hub are grouped under a composed parent (`aave-v4-1-hub-global-dollar`).

`get_market` expands one id into every reserve: supply APR, borrow APR, utilization, risk tier, and the liquidity `hub_address` on Aave V4. Hub parent ids are composed from those spokes. `/v1/markets/{hubId}` is not a real resource.

Do not treat a headline APR as executable. Check `Deposits:` and, for a loop, the borrow side on the market.

## Same questions as Aave MCP

Aave's official server (`https://mcp.aave.com`) is the execution layer: wallet positions, health factor, `preview_action`, then `prepare_action` (unsigned txs). Philidor does not hold a wallet, does not compute health factor, and does not build calldata.

Connect both. Ask Aave "can I do this on my account." Ask Philidor "should I do this on this venue."

Aave's own first questions, rewritten for Philidor:

| You would ask Aave                                                              | Ask Philidor instead                                                                                                                                                                       |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Where can I earn the most on stablecoins across Aave right now?                 | Highest-APY Prime or Core USDC vaults that still accept deposits, across Aave V3, Aave V4, Morpho, and Spark. Split base yield from rewards.                                               |
| Review what `0x…` holds on Aave V4, then simulate borrowing another 5,000 USDC. | Before I add USDC borrow on Aave V4 Ethereum Main: is the reserve open, what is utilization and borrow APR, and what is the 0-10 score of the collateral I will post (WETH, weETH, cbBTC)? |
| What is my health factor, and how far can BTC fall?                             | Break down the risk vectors on Aave V4 Main cbBTC and WBTC. Any critical incidents on that market in the last year?                                                                        |
| Prepare a supply of 1M USDC on Aave V4.                                         | Which Aave V4 USDC reserves are still `Deposits: open`, and what capacity is left? Compare Main vs Bluechip vs EtherFi Cash.                                                               |
| I have idle GHO. sGHO, or supply it to a market?                                | Compare Spark / Aave GHO-related vaults to Morpho USDC Prime on score, tier, and whether deposits are open. Philidor will not recommend a venue on APR alone.                              |
| Has USDC's supply rate on Ethereum been stable this year?                       | Open the largest Aave V3 and V4 USDC reserves on Ethereum and show current APR plus 7d / 30d averages from snapshots.                                                                      |

**One looping turn that uses both servers**

> I want to loop weETH against USDC on Aave V4. First, with Philidor: list V4 markets by supplied value, open Ethereum Main, show weETH and USDC reserves (score, tier, utilization, borrow APR, deposit status), and check incidents. If that still looks Core or better and USDC is open, then with Aave: review wallet `0x…`, preview borrowing 5,000 USDC, and prepare the txs.

Aave answers `get_user_summary` / `preview_action` / `prepare_action`. Philidor answers `check_loop_venue` (or `list_markets` + `get_market` if you still need the full reserve list). Skip Philidor and you can prepare a perfect tx into a closed reserve or a points-farm APY. Skip Aave and you cannot see your health factor.

---

## 1. Size a loop across Aave deployments

Someone running a large loop (supply collateral, borrow a stable, restake or re-supply) needs the venue first, then the reserve. Official protocol MCPs can draft the txs. Philidor answers whether the spoke still has borrow depth, whether the collateral scores as Prime or Core, and whether the reserve is closed.

**Ask:**

> Check looping weETH against USDC on Aave V4 Ethereum Main. Score, utilization, borrow APR, deposits, incidents. If that is still Core or better and USDC is open, I will preview the borrow on Aave MCP.

**Tools the agent should call**

1. `check_loop_venue` with `marketId=aave-v4-1-main`, `collateral=weETH`, `debt=USDC`
2. Optional: `list_markets` with `protocol=aave`, `version=v4` if the spoke id is unknown
3. Optional: `check_loop_venue` `aave-v4-10-etherfi-cash` if the loop sits on ether.fi Cash (Optimism, permissioned borrow)
4. `get_vault_risk_breakdown` on the collateral vault id from step 1 if you need the vector split
5. Prompt `review_loop_venue` if you want the same report as a structured analysis template

**Market ids you can paste**

| Market id                     | Spoke                        | Chain     |
| ----------------------------- | ---------------------------- | --------- |
| `aave-v4-1-main`              | Main                         | Ethereum  |
| `aave-v4-1-bluechip`          | Bluechip                     | Ethereum  |
| `aave-v4-1-etherfi`           | Etherfi                      | Ethereum  |
| `aave-v4-1-maple-syrupusdg`   | Maple SyrupUSDG              | Ethereum  |
| `aave-v4-1-hub-global-dollar` | Global Dollar hub (composed) | Ethereum  |
| `aave-v4-10-etherfi-cash`     | EtherFi Cash                 | Optimism  |
| `aave-v4-43114-main`          | Main                         | Avalanche |

V3 is a different generation. Same protocol id, different version:

> List Aave V3 markets on Ethereum, then read the USDC reserve's risk tier and utilization.

`list_markets` with `protocol=aave`, `version=v3`, `chain=ethereum` (or `1`) returns the Ethereum Main market (`aave-v3-1-ethereum`); `get_market` on it lists every reserve. Other V3 instances (Lido, Horizon) are vaults, not markets: `search_vaults` with `protocol=aave`, `protocolVersion=v3`.

On V4, several spokes share one hub. `get_market` on a spoke returns `hub_address` and the parent id (`aave-v4-1-hub-core` for Main, EtherFi, Gold and Forex; `aave-v4-1-hub-prime` for Bluechip). `get_market` on the hub id lists every spoke and unions their reserves. `check_loop_venue` on a hub id only accepts a pair whose two legs sit on the same spoke.

---

## 2. Screen a Morpho USDC book

Curated vaults look similar on APY and are not the same book. Compare two names, then read the isolated markets underneath.

**Ask:**

> Find Prime-tier Morpho USDC vaults on Ethereum that still accept deposits. Compare Gauntlet and Steakhouse. Break down risk vectors on the larger one.

**Tools**

1. `search_vaults`: `protocol=morpho`, `asset=USDC`, `chain=ethereum`, `riskTier=Prime`, `depositable=true`, `sortBy=tvl_usd`
2. `compare_vaults` with the two `network` + `address` pairs from step 1
3. `get_vault_risk_breakdown` on the winner
4. `get_curator_info` if you care about who allocates

`list_markets` with `protocol=morpho` lists Blue pairs (collateral / loan / LLTV), not the vault wrapper.

---

## 3. Solana: Kamino K-Lend and Earn

Solana addresses are base58 and case-sensitive. Do not lowercase them.

**Ask:**

> List Kamino K-Lend markets on Solana by supplied value. Then find the safest USDC kVaults that are still depositable.

**Tools**

1. `list_markets`: `protocol=kamino`, `version=klend`, `chain=solana`
2. `get_market` with a market id from that list
3. `search_vaults`: `protocol=kamino`, `protocolVersion=kvault`, `asset=USDC`, `chain=solana`, `depositable=true`
4. `find_safest_vaults`: `asset=USDC`, `chain=solana` (no protocol filter; read the protocol line on each card)

---

## 4. Maple credit vs a money market

Maple is underwritten credit, not a utilization curve. The vault card still has TVL, APR, and a score. It will not invent a generic borrow APR.

**Ask:**

> Show Maple pools on Ethereum, including syrupUSDC. Then compare syrupUSDC to the largest Aave V3 USDC reserve on Ethereum.

**Tools**

1. `search_vaults`: `protocol=maple`, `chain=ethereum`
2. `get_protocol_info`: `protocolId=maple`
3. `search_vaults`: `protocol=aave`, `protocolVersion=v3`, `asset=USDC`, `chain=ethereum`, `sortBy=tvl_usd`, `limit=3`
4. `compare_vaults` on one Maple address and one Aave address

---

## 5. Cross-protocol USDC that you can still enter

The usual agent foot-gun: sort by APR and try to deposit into a capped reserve.

**Ask:**

> Find USDC vaults across Ethereum and Base, Prime or Core, that are accepting deposits, sorted by net APR. Skip anything closed. Show base yield vs rewards on the top three.

**Tools**

1. `search_vaults`: `asset=USDC`, `chain=ethereum`, `depositable=true`, `riskTier=Prime`, `sortBy=apr_net`
2. Repeat for `chain=base` or ask for both in one prompt (the agent should run two calls; `chain` is a single filter)
3. `get_vault` on each shortlisted id (APR 7d / 30d averages when snapshots exist)
4. `explain_risk_score` if a Core 7.1 needs a plain-language read

---

## 6. After an incident, before you add size

**Ask:**

> Which vaults had a critical incident in the last year? Is Aave V4 Ethereum Main in that list? What happened on that market recently?

**Tools**

1. `list_vaults_with_incidents`
2. `get_market_events` with `marketId=aave-v4-1-main`
3. `get_protocol_info` with `protocolId=aave` for the published incident list

Absence of events is the normal state. Do not treat an empty list as a missing integration.

---

## Prompt cheat sheet

Copy these after the [quickstart](/docs/mcp/quickstart).

| Job               | Prompt                                                                         |
| ----------------- | ------------------------------------------------------------------------------ |
| Aave V4 venues    | List the largest Aave V4 markets by supplied value                             |
| Loop pair         | Check looping weETH against USDC on aave-v4-1-main                             |
| One spoke         | Show every reserve in Aave V4 Ethereum Main with borrow APR and risk tier      |
| V3 vs V4 USDC     | Compare Aave V3 Main USDC to Aave V4 Main USDC on Ethereum                     |
| Morpho curators   | Compare Gauntlet and Steakhouse USDC vaults on Morpho Ethereum                 |
| Solana            | List Kamino K-Lend markets on Solana, then the safest depositable USDC kVaults |
| Maple             | Show Maple Ethereum pools and whether syrupUSDC is still open                  |
| Depositable yield | Highest-APY Prime USDC vaults on Ethereum that accept deposits right now       |
| Incident check    | Which vaults had critical incidents recently, and any events on aave-v4-1-main |

Parameter names differ by tool: vaults use `protocolVersion`, markets use `version`. Both mean the generation (`v3`, `v4`, `klend`).