{"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-kamino","version":"1.0.0"},"tools":[{"name":"borrow","description":"Borrow tokens against your deposited collateral from Kamino.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"token":{"type":"string","description":"Solana token mint address, or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native SOL"},"amount":{"type":"string","description":"Amount of tokens to borrow in human-readable decimal format (e.g. '1.5'). Set '-1' to borrow maximum available balance."},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","amount","market","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":{"transaction":{"type":"string","description":"Base64-encoded serialized VersionedTransaction"}},"required":["transaction"],"additionalProperties":false},"description":"Solana 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":"deposit","description":"Supply tokens as collateral to enable borrowing on Kamino.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"token":{"type":"string","description":"Solana token mint address, or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native SOL"},"amount":{"type":"string","description":"Amount of tokens to deposit in human-readable decimal format (e.g. '1.5'). Set '-1' to deposit all available token balance."},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","amount","market","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":{"transaction":{"type":"string","description":"Base64-encoded serialized VersionedTransaction"}},"required":["transaction"],"additionalProperties":false},"description":"Solana 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":"repay","description":"Repay borrowed tokens to Kamino lending pool.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"token":{"type":"string","description":"Solana token mint address, or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native SOL"},"amount":{"type":"string","description":"Amount of tokens to repay in human-readable decimal format (e.g. '1.5'). Set '-1' to repay all borrowed tokens."},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","amount","market","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":{"transaction":{"type":"string","description":"Base64-encoded serialized VersionedTransaction"}},"required":["transaction"],"additionalProperties":false},"description":"Solana 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 deposited tokens from Kamino lending pool.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"token":{"type":"string","description":"Solana token mint address, or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native SOL"},"amount":{"type":"string","description":"Amount of tokens to withdraw in human-readable decimal format (e.g. '1.5'). Set '-1' to withdraw all deposited tokens."},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","amount","market","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":{"transaction":{"type":"string","description":"Base64-encoded serialized VersionedTransaction"}},"required":["transaction"],"additionalProperties":false},"description":"Solana 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":"getBorrows","description":"Check your current borrowed positions on Kamino. Use it only if user requested.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"userAddress":{"type":"string","description":"The wallet address of the user"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null to aggregate positions across all Kamino markets."}},"required":["chainName","userAddress","market"],"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":{"type":"object","properties":{"marketName":{"type":"string","description":"Kamino market name"},"marketAddress":{"type":"string","description":"Kamino lending market address"},"symbol":{"type":"string","description":"Token symbol"},"mintAddress":{"type":"string","description":"Token mint address"},"amount":{"type":"string","description":"Borrowed amount in human-readable decimal format"},"marketValueUsd":{"type":"string","description":"Market value in USD"},"borrowApyPercent":{"type":"string","description":"Borrow APY percentage"},"borrowAprPercent":{"type":"string","description":"Borrow APR percentage"}},"required":["marketName","marketAddress","symbol","mintAddress","amount","marketValueUsd","borrowApyPercent","borrowAprPercent"],"additionalProperties":false},"description":"Borrowed positions per reserve"}},"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":"getDeposits","description":"View your deposited collateral on Kamino. Use it only if user requested.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"userAddress":{"type":"string","description":"The wallet address of the user"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null to aggregate positions across all Kamino markets."}},"required":["chainName","userAddress","market"],"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":{"type":"object","properties":{"marketName":{"type":"string","description":"Kamino market name"},"marketAddress":{"type":"string","description":"Kamino lending market address"},"symbol":{"type":"string","description":"Token symbol"},"mintAddress":{"type":"string","description":"Token mint address"},"amount":{"type":"string","description":"Deposited amount in human-readable decimal format"},"marketValueUsd":{"type":"string","description":"Market value in USD"},"supplyApyPercent":{"type":"string","description":"Supply APY percentage"},"supplyAprPercent":{"type":"string","description":"Supply APR percentage"}},"required":["marketName","marketAddress","symbol","mintAddress","amount","marketValueUsd","supplyApyPercent","supplyAprPercent"],"additionalProperties":false},"description":"Deposited collateral positions per reserve"}},"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":"getLtv","description":"Get current Loan-to-Value ratio. Higher LTV indicates higher liquidation risk.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"userAddress":{"type":"string","description":"The wallet address of the user"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null to aggregate positions across all Kamino markets."}},"required":["chainName","userAddress","market"],"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":{"type":"object","properties":{"marketName":{"type":"string","description":"Kamino market name"},"marketAddress":{"type":"string","description":"Kamino lending market address"},"currentLtvPercent":{"type":"string","description":"Current loan-to-value ratio percentage"},"totalDepositUsd":{"type":"string","description":"Total deposited value in USD"},"totalBorrowUsd":{"type":"string","description":"Total borrowed value in USD"},"liquidationLtvPercent":{"type":"string","description":"Liquidation LTV threshold percentage"}},"required":["marketName","marketAddress","currentLtvPercent","totalDepositUsd","totalBorrowUsd","liquidationLtvPercent"],"additionalProperties":false},"description":"Loan-to-value and health metrics per market obligation"}},"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":"getMarketAssets","description":"View available assets for deposit and borrowing.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."}},"required":["chainName","market"],"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":{"type":"object","properties":{"marketName":{"type":"string","description":"Kamino market name"},"marketAddress":{"type":"string","description":"Kamino lending market address"},"token":{"type":"string","description":"Token symbol"},"mintAddress":{"type":"string","description":"Token mint address"},"totalSupplyUsd":{"type":"string","description":"Total supply in USD"},"totalBorrowUsd":{"type":"string","description":"Total borrowed in USD"},"supplyApyPercent":{"type":"string","description":"Supply APY percentage"},"borrowApyPercent":{"type":"string","description":"Borrow APY percentage"},"maxLtvPercent":{"type":"string","description":"Maximum LTV percentage"}},"required":["marketName","marketAddress","token","mintAddress","totalSupplyUsd","totalBorrowUsd","supplyApyPercent","borrowApyPercent","maxLtvPercent"],"additionalProperties":false},"description":"Lending market reserves with supply/borrow amounts and APY"}},"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":"getMarkets","description":"List all available Kamino lending markets with their exact names and addresses. Call this before an action when the user requests a specific market.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"}},"required":["chainName"],"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":{"type":"object","properties":{"name":{"type":"string","description":"Exact Kamino market name"},"isPrimary":{"type":"boolean","description":"Whether this is the primary Kamino market"},"description":{"type":"string","description":"Market description"},"lendingMarket":{"type":"string","description":"Kamino lending market address"},"lookupTable":{"type":"string","description":"Market address lookup table"},"isCurated":{"type":"boolean","description":"Whether the market is curated"}},"required":["name","isPrimary","description","lendingMarket","lookupTable","isCurated"],"additionalProperties":false},"description":"Available Kamino lending markets"}},"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":"getReserveInfo","description":"View information about a specific reserve on Kamino. Use it only if user requested.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["solana"],"description":"Chain name"},"reserve":{"type":"string","description":"Solana token mint address, or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native SOL"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact Kamino market name or lending market address. Use null for the primary market."}},"required":["chainName","reserve","market"],"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":{"marketName":{"type":"string","description":"Kamino market name"},"marketAddress":{"type":"string","description":"Kamino lending market address"},"symbol":{"type":"string","description":"Token symbol"},"mintAddress":{"type":"string","description":"Token mint address"},"status":{"type":"string","description":"Reserve status (e.g. \"Active\", \"Obsolete\")"},"decimals":{"type":"number","description":"Token decimals"},"supplied":{"type":"string","description":"Total supplied amount"},"liquidityAvailable":{"type":"string","description":"Available liquidity amount"},"borrowed":{"type":"string","description":"Total borrowed amount"},"supplyApyPercent":{"type":"string","description":"Supply APY percentage"},"borrowAprPercent":{"type":"string","description":"Borrow APR percentage"},"maxLtvPercent":{"type":"string","description":"Maximum LTV percentage"},"liquidationLtvPercent":{"type":"string","description":"Liquidation LTV percentage"},"utilizationPercent":{"type":"string","description":"Utilization ratio percentage"},"priceUsd":{"type":"string","description":"Current token price in USD"}},"required":["marketName","marketAddress","symbol","mintAddress","status","decimals","supplied","liquidityAvailable","borrowed","supplyApyPercent","borrowAprPercent","maxLtvPercent","liquidationLtvPercent","utilizationPercent","priceUsd"],"additionalProperties":false,"description":"Reserve configuration, rates, liquidity, LTV thresholds, and current price"}},"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}]}}]}