{"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":"The address of the token (Solana mint pubkey)"},"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."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","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":{"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":"The address of the token (Solana mint pubkey)"},"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."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","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":{"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":"The address of the token (Solana mint pubkey)"},"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."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","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":{"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":"The address of the token (Solana mint pubkey)"},"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."},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainName","token","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":{"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"}},"required":["chainName","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":{"type":"object","properties":{"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":["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"}},"required":["chainName","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":{"type":"object","properties":{"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":["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"}},"required":["chainName","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":"object","properties":{"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"},"liquidationLtv":{"type":"string","description":"Liquidation LTV threshold"}},"required":["currentLtvPercent","totalDepositUsd","totalBorrowUsd","liquidationLtv"],"additionalProperties":false,"description":"Loan-to-value and health metrics"}},"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"}},"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":{"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":["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":"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":"The address of the token (Solana mint pubkey)"}},"required":["chainName","reserve"],"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":{"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":["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}]}}]}