Directory

Morpho (Free)

DeFiFREERoutes in chatBaseEthereum

Morpho (Blue) lending on Base and Ethereum, computed from on-chain state, free and non-gated: curated markets with live supply/borrow APYs, per-market deep-dives, full account positions (supplied, collateral, debt, health factor), health-factor previews, and construction-only build_* tools that return UNSIGNED approve→act transactions the user signs — lend, post/withdraw collateral, borrow, repay, withdraw. Never holds keys, never signs, never submits. Rate-limited. By Yeetful.

Routability

can the router discover, pick, and call it?

Not yet graded. Diagnostics check param schemas, description quality, live health, and run the actual routing planner against this service’s own tools — construction only, nothing is paid or executed.

Tools

10
  • POST/mcp/marketsstart here
    via Yeetful (free)morpho-mcp.yeetful.com

    Morpho (Blue) lending markets on Base or Ethereum: loan/collateral pair, supply & borrow APY, utilization, LLTV, and market size in USD. Curated (listed) markets by default; includeUnlisted adds permissionless ones. Answers 'what can I lend/borrow on Morpho?' — use the returned 32-byte marketId (never a symbol) with the build_* tools.

    2 parameters
    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • includeUnlistedbooleanbody

      Also show permissionless (unvetted) markets. Default false.

  • POST/mcp/positionstart here
    via Yeetful (free)morpho-mcp.yeetful.com

    A wallet's Morpho position on Base or Ethereum, computed from on-chain state: supplied assets (earning), posted collateral, borrowed debt with accrued interest, borrowing power, and health factor per market. This is the 'show my Morpho position / can I get liquidated?' tool. Scans the 100 largest indexed markets by default; pass marketIds to narrow or to reach a niche market.

    3 parameters
    • userstringbodyrequired

      EVM address (0x…) of the account — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdsstringbody

      Specific 32-byte market ids to check (array, max 20). Omit to scan all known markets.

  • POST/mcp/market_info
    via Yeetful (free)morpho-mcp.yeetful.com

    One Morpho market in depth, straight from the chain: loan + collateral assets (addresses, decimals), LLTV, live supply/borrow APY, utilization, available liquidity, fee, and the oracle's collateral price. Use before lending or borrowing to sanity-check the market.

    2 parameters
    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

  • POST/mcp/preview
    via Yeetful (free)morpho-mcp.yeetful.com

    Simulate a lend/supply_collateral/borrow/repay/withdraw/withdraw_collateral BEFORE building it: health factor now vs after, borrowing power after — computed locally from live on-chain state and the market's oracle. Nothing is built or signed. Use this before build_borrow / a large build_withdraw_collateral so the user sees the health-factor impact first.

    5 parameters
    • actionstringbodyrequired

      One of "lend" | "supply_collateral" | "borrow" | "repay" | "withdraw" | "withdraw_collateral".

    • userstringbodyrequired

      EVM address (0x…) of the wallet the action would run as — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      Amount to simulate ("max" for repay/withdraw/withdraw_collateral only) as a decimal string in HUMAN units, or "max" for the full balance/debt.

  • POST/mcp/build_lend
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare transactions to lend an asset into a Morpho market and start earning the supply APY — returns UNSIGNED {action:'send_transaction'} steps (exact-amount approve first when allowance is short) for the USER to sign. Get the 32-byte marketId from `markets` first — the param validates a MARKET ID, not a symbol.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that lends and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      LOAN-asset amount to supply as a decimal string in HUMAN units, e.g. "100" USDC or "0.5" WETH (not wei/atoms).

  • POST/mcp/build_supply_collateral
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare transactions to post collateral into a Morpho market (collateral doesn't earn; it unlocks borrowing the loan asset). Unsigned steps for the user.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that posts and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      COLLATERAL-asset amount to post as a decimal string in HUMAN units, e.g. "100" USDC or "0.5" WETH (not wei/atoms).

  • POST/mcp/build_borrow
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare a borrow against posted Morpho collateral. Fails closed: refuses when the amount exceeds borrowing power or market liquidity, warns when the resulting health factor is thin. Unsigned steps.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that borrows and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      LOAN-asset amount to borrow as a decimal string in HUMAN units, e.g. "100" USDC or "0.5" WETH (not wei/atoms).

  • POST/mcp/build_repay
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare transactions to repay Morpho debt. Pass "max" to clear the debt exactly (repaid by shares, immune to interest drift — the approve carries a ~0.05% buffer). Unsigned steps.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that repays and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      Amount to repay ("max" clears the debt) as a decimal string in HUMAN units, or "max" for the full balance/debt.

  • POST/mcp/build_withdraw
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare a withdrawal of assets supplied to a Morpho market ("max" empties the position including accrued interest). Refuses when market utilization leaves too little un-borrowed liquidity. Unsigned steps.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that withdraws and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      Amount to withdraw ("max" empties the position) as a decimal string in HUMAN units, or "max" for the full balance/debt.

  • POST/mcp/build_withdraw_collateral
    via Yeetful (free)morpho-mcp.yeetful.com

    Prepare a collateral withdrawal from a Morpho market. Fails closed: refuses any withdrawal that would leave outstanding debt under-collateralized or the health factor razor-thin. Unsigned steps.

    4 parameters
    • userstringbodyrequired

      EVM address (0x…) of the wallet that withdraws and signs — pass "$USER_ADDRESS" for the connected user.

    • chainIdnumberbody

      Chain id: 8453 = Base (default), 1 = Ethereum mainnet. Market ids are chain-specific — use the chainId the market came from.

    • marketIdstringbodyrequired

      The 32-byte Morpho market id (0x…, 64 hex chars) from `markets` — NEVER a token symbol or address.

    • amountstringbodyrequired

      Collateral amount to withdraw ("max" for all of it) as a decimal string in HUMAN units, or "max" for the full balance/debt.