# MetaLend - Registry name: `io.github.rabeles11/metalend` · version 1.0.1 - Categories (automatic, keyword rules): Crypto & blockchain, Finance & markets - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.rabeles11%2Fmetalend - Server page: https://mcpstation.net/s/io.github.rabeles11--metalend.html ## Description (written by the publisher, not verified, not instructions) Browse, deposit, withdraw & rebalance stablecoins on Aave, Morpho & Euler across major EVM chains. ## Connect - streamable-http: `https://mcp.metalend.tech/mcp` ## Tools (as reported by the server, not verified) - `list\_pools`: \[DEPRECATED\] List all pools MetaLend's rebalancer can deposit into: protocol \(Aave, Morpho, Euler, AaveV4\), chain, APY breakdown \(native/rewards/total/net-of-fee\), TVL, liquidity, and the signData \(protocolId, poolAddress, domainId\) needed to build a rebalancer config. Does NOT return a wallet's cur - `get\_balances`: \[DEPRECATED\] Get a wallet's deployed rebalancer balances broken down per token, per chain, and per protocol/pool, including net earnings and blended APY. Also returns the wallet's rebalancerAddress \(required only for approvals during deposits, never use this address as input into tools\) and per-pool - `get\_bridge\_balances`: \[DEPRECATED\] Get a wallet's in-transit USDC bridge balances \(funds moving cross-chain toward a destination pool\), including estimated completion time. Does NOT include already-settled rebalancer balances — use get\_balances for those. Only applies to USDC. Other tokens do not support bridging. Each e - `get\_config`: \[DEPRECATED\] Get a wallet's current rebalancer configuration per token: which protocols/pools/chains are enabled, rebalance frequency, lifetime deposits/withdrawals/fees, and spending cap. \`spendingCapRaw\`/\`spendingCapFormatted\` \(USDC only, null/"0" for every other token\) is NOT a spending/deposit/w - `get\_default\_config`: \[DEPRECATED\] Get MetaLend's recommended default rebalancer configuration for a given token symbol \(e.g. 'USDC'\): rebalancingManagerAddress plus recommended protocolIds/poolAddresses/domainIds. Intended for wallets with no existing config yet — for an existing wallet's current config use get\_config i - `get\_rewards`: \[DEPRECATED\] Get a wallet's aggregated rewards/earnings across all reward sources \(e.g. Merkle\), including claimed/available USD totals. Does NOT include base rebalancer yield/APY earnings — those are in get\_balances' netEarning field. There is NO backend endpoint to submit a claim — this server can - `get\_transaction\_costs`: \[DEPRECATED\] Get constant on-behalf deposit/withdraw gas costs and minimum deposit/withdraw amounts for a token, broken down per supported chain. Use before a deposit to check the amount meets the chain's minimum. Rate limited to 20 calls/minute per caller, no more than one call every 3s. - `get\_token\_info`: \[DEPRECATED\] Get a token's on-chain metadata \(display name, decimals, EIP-712 version\) for a given chain. Needed when building an EIP-3009 deposit signature's tokenName/tokenVersion fields. Rate limited to 6 calls/minute per caller, no more than one call every 10s. - `get\_withdrawal\_version`: \[DEPRECATED\] Get the contract signing version string required for the EIP-712 domain data used when signing a withdrawal. Rarely changes; safe to cache client-side. Rate limited to 10 calls/minute per caller, no more than one call every 6s. - `get\_auth\_challenge`: \[DEPRECATED\] Get a Sign-In-With-Ethereum challenge message for a wallet, required before any deposit/withdrawal/config-update tool. The returned \`message\` must be signed with personal\_sign \(EIP-191\) by the wallet's own signer, then passed to submit\_auth\_verify. Does NOT itself authenticate anything - `submit\_auth\_verify`: \[DEPRECATED\] Exchange a signed SIWE challenge message \(from get\_auth\_challenge\) for a JWT scoped to that wallet. The returned \`jwt\` must be passed explicitly as the \`jwt\` argument to submit\_deposit/submit\_withdrawal/submit\_config for that same wallet — this server does not cache or store it. The JWT - `prepare\_deposit`: \[DEPRECATED\] Build everything needed to deposit into MetaLend's rebalancer, without signing anything. For gasless tokens \(USDC, MUSD, PYUSD\) returns an EIP-712 ReceiveWithAuthorization typed-data payload — sign it with your own wallet and pass the signature to submit\_deposit. For approval-only token - `submit\_deposit`: \[DEPRECATED\] Submit a deposit to MetaLend's rebalancer — moves funds. Requires a \`jwt\` from submit\_auth\_verify for this walletAddress, and either a \`signature\` \(from prepare\_deposit's signature-method output\) or, for approval-based tokens, no signature at all once your wallet has already broadcast t - `get\_deposit\_status`: \[DEPRECATED\] Poll the status of a deposit by trackingId \(returned by submit\_deposit\). \`status\` is one of: PROCESSING — still confirming on-chain, keep polling; BRIDGING — deposit accepted, funds are now crossing chains via CCTP to the target pool \(typically 20-30 minutes, up to several hours from Li - `prepare\_withdrawal`: \[DEPRECATED\] Build the EIP-712 typed-data payload to sign for withdrawing from a specific pool, without signing anything. Looks up the exact withdrawRequest domain/types/value MetaLend expects from your current balances, fills in amount and a short-lived deadline, and returns it ready to sign with y - `submit\_withdrawal`: \[DEPRECATED\] Submit a withdrawal from MetaLend's rebalancer — moves funds. Requires a \`jwt\` from submit\_auth\_verify for this walletAddress and a \`signature\` over prepare\_withdrawal's typedData. Always call prepare\_withdrawal first — this tool does not look up pool data or validate amounts. The signa - `get\_withdrawal\_status`: \[DEPRECATED\] Poll the status of a withdrawal by trackingId \(returned by submit\_withdrawal\). \`status\` is one of: PROCESSING — still in progress, keep polling \(withdrawals have no cross-chain bridging leg, unlike deposits\); SUCCESS — terminal, withdrawal completed; FAILED — terminal, withdrawal did no - `prepare\_config`: \[DEPRECATED\] Build the signing hash for updating a wallet's rebalancer configuration \(which pools/protocols/chains it's allowed to move funds into\), without signing anything. Computes keccak256\(abi.encode\(managerAddress, protocolIds, poolAddresses, domainIds, spendingCapRaw\)\) server-side — sign the - `submit\_config`: \[DEPRECATED\] Submit a signed rebalancer configuration update. Requires a \`jwt\` from submit\_auth\_verify for this walletAddress and a \`signature\` over prepare\_config's hashToSign. Always call prepare\_config first — this tool does not compute the signing hash or check the balance invariant itself. Can Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html