{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":false}},"agentGuidance":{"description":"General guidance for external AI agents using this MCP server. Read before selecting a project endpoint, requesting tool schemas, or calling protocol tools.","skillUrl":"https://erc8004.heyanon.ai/mcp/skill.md"},"serverInfo":{"name":"heyanon-erc8004-beefy","version":"1.0.0"},"tools":[{"name":"getVaultsWithTokens","description":"Show the top 10 vaults with the given tokens.","inputSchema":{"type":"object","properties":{"tokensOnChains":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"tokenSymbols":{"type":"array","items":{"type":"string"},"description":"Array of token symbols to search for. If the user asks for the native token or the wrapped version of the native token, do not duplicate the token because it will be handled automatically for both versions."}},"required":["chainName","tokenSymbols"],"additionalProperties":false},"description":"Array of chains and tokens to check the vaults for."}},"required":["tokensOnChains"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"token":{"type":"string","description":"Token symbol"},"vaults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Vault ID"},"name":{"type":"string","description":"Vault display name"},"chain":{"type":"string","description":"Chain identifier"},"tokenProviderId":{"type":"string","description":"Token provider protocol ID"},"platform":{"type":"string","description":"Platform ID"},"token":{"type":"string","description":"Underlying token symbol"},"tokenAddress":{"type":"string","description":"Underlying token contract address"},"tvl":{"type":"number","description":"Total value locked in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"}},"required":["id","name","chain","tokenProviderId","platform","token","tokenAddress","tvl","poolTvl","apy"],"additionalProperties":false},"description":"Matching vaults sorted by APY"}},"required":["chain","token","vaults"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"token":{"type":"string","description":"Token symbol"},"error":{"type":"string","description":"Error message"}},"required":["chain","token","error"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getVaultsWithProtocols","description":"Show the top 10 vaults with the given protocols.","inputSchema":{"type":"object","properties":{"protocolsOnChains":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"protocolNames":{"type":"array","items":{"type":"string","enum":["velodrome","ra","mummy","pancakeswap","convex","silo","beethovenx","nuri","aura","aerodrome","mendi","magpie","stargate","hop","nile","sonne","sushi","uniswap","curve","baseswap","openocean","lendle","pharaoh","thena","aave","alienbase","ferro","gmx","vvs","ichi","conic","mim","compound","traderjoe","venus","netswap","equalizer","tokemak","ramses","equilibria","moe","lynex","curve-lend","dotdot","oku","yei","fx","shadow","balancer","gains","sky","beefy","stellaswap","vesync","ape","pendle"]},"description":"Array of protocol names to search for"}},"required":["chainName","protocolNames"],"additionalProperties":false},"description":"Array of chains and protocols to check the vaults for."}},"required":["protocolsOnChains"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"protocol":{"type":"string","description":"Protocol name"},"vaults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Vault ID"},"name":{"type":"string","description":"Vault display name"},"chain":{"type":"string","description":"Chain identifier"},"tokenProviderId":{"type":"string","description":"Token provider protocol ID"},"platform":{"type":"string","description":"Platform ID"},"token":{"type":"string","description":"Underlying token symbol"},"tokenAddress":{"type":"string","description":"Underlying token contract address"},"tvl":{"type":"number","description":"Total value locked in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"}},"required":["id","name","chain","tokenProviderId","platform","token","tokenAddress","tvl","poolTvl","apy"],"additionalProperties":false},"description":"Matching vaults sorted by APY"}},"required":["chain","protocol","vaults"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"protocol":{"type":"string","description":"Protocol name"},"error":{"type":"string","description":"Error message"}},"required":["chain","protocol","error"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getVaultsWithChains","description":"Show the top 10 vaults on the given chains.","inputSchema":{"type":"object","properties":{"chainNames":{"type":"array","items":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"description":"Array of chain names to check the vaults for."}},"required":["chainNames"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"vaults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Vault ID"},"name":{"type":"string","description":"Vault display name"},"chain":{"type":"string","description":"Chain identifier"},"tokenProviderId":{"type":"string","description":"Token provider protocol ID"},"platform":{"type":"string","description":"Platform ID"},"token":{"type":"string","description":"Underlying token symbol"},"tokenAddress":{"type":"string","description":"Underlying token contract address"},"tvl":{"type":"number","description":"Total value locked in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"}},"required":["id","name","chain","tokenProviderId","platform","token","tokenAddress","tvl","poolTvl","apy"],"additionalProperties":false},"description":"Vaults sorted by APY"}},"required":["chain","vaults"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getVaultWithIds","description":"Get vaults with the given IDs.","inputSchema":{"type":"object","properties":{"vaultsOnChains":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"vaultIds":{"type":"array","items":{"type":"string"},"description":"Array of vault IDs. For example: \"aerodrome-weth-mseth\", \"euler-avax-re7labs-usdc\", \"curve-arb-eusd-usdc\"."}},"required":["chainName","vaultIds"],"additionalProperties":false},"description":"Array of chains and vault IDs to get information about."}},"required":["vaultsOnChains"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"vault":{"type":"object","properties":{"id":{"type":"string","description":"Vault ID"},"name":{"type":"string","description":"Vault display name"},"chain":{"type":"string","description":"Chain identifier"},"tokenProviderId":{"type":"string","description":"Token provider protocol ID"},"platform":{"type":"string","description":"Platform ID"},"token":{"type":"string","description":"Underlying token symbol"},"tokenAddress":{"type":"string","description":"Underlying token contract address"},"tvl":{"type":"number","description":"Total value locked in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"}},"required":["id","name","chain","tokenProviderId","platform","token","tokenAddress","tvl","poolTvl","apy"],"additionalProperties":false,"description":"Vault details"}},"required":["chain","vault"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"vaultId":{"type":"string","description":"Vault ID"},"error":{"type":"string","description":"Error message"}},"required":["chain","vaultId","error"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getVaultWithNamesOrSymbols","description":"Get vaults with the given names or symbols.","inputSchema":{"type":"object","properties":{"vaultsOnChains":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"vaultNamesOrSymbols":{"type":"array","items":{"type":"string"},"description":"Array of vault names or symbols. Names for example: \"WBTC-USDC\", \"ETH+/WETH\", \"cbETH-WETH LP\", \"Seamless USDC\", \"MIM/DAI/USDC/USDT\", \"Boosted Stable Rings\", \"OS-​wS (OS deposit)\". Symbols start with \"moo\" - for example: \"mooConvexETH+\", \"mooAlienBasecbETH-ETH\", \"mooBeetsSonicmooSiloUSDCe/scUSD\"."}},"required":["chainName","vaultNamesOrSymbols"],"additionalProperties":false},"description":"Array of chains and vault names or symbols to get information about."}},"required":["vaultsOnChains"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"vault":{"type":"object","properties":{"id":{"type":"string","description":"Vault ID"},"name":{"type":"string","description":"Vault display name"},"chain":{"type":"string","description":"Chain identifier"},"tokenProviderId":{"type":"string","description":"Token provider protocol ID"},"platform":{"type":"string","description":"Platform ID"},"token":{"type":"string","description":"Underlying token symbol"},"tokenAddress":{"type":"string","description":"Underlying token contract address"},"tvl":{"type":"number","description":"Total value locked in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"}},"required":["id","name","chain","tokenProviderId","platform","token","tokenAddress","tvl","poolTvl","apy"],"additionalProperties":false,"description":"Vault details"}},"required":["chain","vault"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"nameOrSymbol":{"type":"string","description":"Vault name or symbol"},"error":{"type":"string","description":"Error message"}},"required":["chain","nameOrSymbol","error"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getPortfolio","description":"Get all positions for the user.","inputSchema":{"type":"object","properties":{"chainNames":{"type":"array","items":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"description":"Array of chain names to check the portfolio for."},"userAddress":{"type":"string","description":"The EVM wallet address of the user."}},"required":["chainNames","userAddress"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"positions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Vault name"},"id":{"type":"string","description":"Position identifier"},"platform":{"type":"string","description":"Platform ID"},"symbol":{"type":"string","description":"Token symbol"},"shareBalance":{"type":"number","description":"Share balance"},"usdBalance":{"type":"number","description":"USD balance"},"underlyingBalance":{"type":"number","description":"Underlying token balance"},"earned":{"type":"number","description":"Total earned in underlying token"},"earnedUsd":{"type":"number","description":"Total earned in USD"},"tvl":{"type":"number","description":"Vault TVL in USD"},"poolTvl":{"type":"number","description":"Pool TVL in USD"},"apy":{"type":"number","description":"Annual percentage yield"},"lastModified":{"type":"string","description":"Last position modification date"}},"required":["name","id","platform","symbol","shareBalance","usdBalance","underlyingBalance","earned","earnedUsd","tvl","poolTvl","apy","lastModified"],"additionalProperties":false},"description":"User vault positions"}},"required":["chain","positions"],"additionalProperties":false},{"type":"object","properties":{"chain":{"type":"string","description":"Chain name"},"error":{"type":"string","description":"Error message"}},"required":["chain","error"],"additionalProperties":false}]}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"deposit","description":"Deposit funds into a vault. The user can specify any token to deposit and it will be automatically swapped.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"vaultIdOrName":{"type":"string","description":"ID or name of the vault"},"tokenAddress":{"description":"The address of any token the user wants to deposit into the vault. If not specified, deposits the underlying token into the vault.","type":"string"},"amount":{"type":"string","description":"Amount to deposit in human-readable decimal format (e.g. '1.5')"},"userAddress":{"type":"string","description":"The EVM wallet address of the user."}},"required":["chainName","vaultIdOrName","amount","userAddress"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"withdraw","description":"Withdraw funds from a vault. The user can specify any token he wants to receive after withdrawal and it will be automatically swapped.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["ethereum","bsc","base","avalanche","arbitrum","sonic","plasma","monad"],"description":"Chain name"},"vaultIdOrName":{"type":"string","description":"ID or name of the vault"},"tokenOutAddress":{"description":"The address of any token the user wants to receive after withdrawing from the vault. If not specified, withdraws to the underlying token in the vault.","type":"string"},"amountInPercentage":{"type":"string","description":"Amount of shares in the vault to withdraw in percentage between 0 and 100. Pass -1 to withdraw all."},"userAddress":{"type":"string","description":"The EVM wallet address of the user."}},"required":["chainName","vaultIdOrName","amountInPercentage","userAddress"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getDescriptionBeefy","description":"Get detailed information about Beefy features and how to use them.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"type":"string","description":"Human-readable summary of the action"},"data":{"type":"object","properties":{"description":{"type":"string","description":"Beefy protocol documentation and usage guidance"}},"required":["description"],"additionalProperties":false}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}}]}