kukapay/lista-vaults-mcp
If you are the rightful owner of lista-vaults-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
An MCP server empowering AI agents to track and act across Lista DAO lending vaults.
Lista Vaults MCP
An MCP server empowering AI agents to track and act across Lista DAO lending vaults.
Features
- List Vaults: Fetch and display vaults by zone (classic, alpha, aster) with details like APY, utilization, and deposits.
- Deposit: Deposit assets to a vault, handling decimal conversion and approvals.
- Redeem Shares: Redeem vault shares for underlying assets.
- Withdraw Assets: Withdraw a specified amount of assets by burning shares.
All tools support BSC via configurable RPC and use a signer wallet for transactions.
Prerequisites
- Node.js >= 22
- A BSC wallet with a private key (for transactions)
- Access to BSC RPC (e.g., via public endpoints)
Installation
-
Clone the repository:
git clone https://github.com/kukapay/lista-vaults-mcp.git cd lista-vaults-mcp -
Install dependencies:
npm install -
Configure the MCP client(e.g., Claude Desktop):
{ "mcpServers": { "Lista Vaults": { "command": "node", "args": [ "/path/to/lista-vaults-mcp/index.js" ], "env": { "PRIVATE_KEY": "your-private-key" } } } }Replace
/path/to/lista-vaults-mcpwith your actual installation path, andyour-private-keywith your own private key.
Usage
Once connected, MCP clients can invoke the tools via natural language prompts. The AI will translate these into tool calls. Below are examples with sample prompts, tool calls, and complete outputs.
1. List Vaults
Prompt: "Show me the top vaults in the classic zone on Lista, sorted by deposits USD."
Tool Call: list_vaults(zone: 'classic')
Output (Markdown table):
| Name | Asset Symbol | Deposits | Deposits USD | Utilization | APY | Curator |
|-------------------|--------------|----------|--------------|-------------|---------|-----------|
| Lista BTCB Vault | BTCB | 1.08 | $113,094.28 | 3.42% | 0.0262% | Lista DAO |
| Lista ETH Vault | ETH | 25.67 | $67,890.45 | 45.12% | 2.15% | Lista DAO |
| Lista BNB Vault | BNB | 150.23 | $45,678.90 | 67.89% | 1.78% | Lista DAO |
2. Deposit Assets
Prompt: "Deposit 1.5 BTCB to the Lista BTCB Vault at address 0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705, and send the shares to my address 0x123...abc."
Tool Call: deposit(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', assetAmount: 1.5, receiverAddress: '0x123...abc')
Output:
## Deposit Successful
- **Vault Address**: `0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705`
- **Asset Amount**: 1.5 (converted to 1500000 with 6 decimals)
- **Receiver**: `0x123...abc`
- **Shares Minted**: 1.48
- **Transaction Hash**: `0xabc123def456...789`
- **Approve Transaction Hash**: `0xdef456ghi789...012`
Note: Ensure the signer wallet holds sufficient BTCB tokens.
3. Redeem Shares
Prompt: "Redeem 100 shares from the Lista BTCB Vault at 0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705 and send the assets back to my wallet."
Tool Call: redeem_shares(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', shareAmount: 100)
Output:
## Redeem Successful
- **Vault Address**: `0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705`
- **Share Amount**: 100 (converted to 100000000 with 6 decimals)
- **Receiver**: `0x123...abc`
- **Owner**: `0x123...abc`
- **Assets Received**: 1.52 BTCB
- **Transaction Hash**: `0xghi789jkl012...345`
Note: Ensure the signer (owner) holds sufficient vault shares.
4. Withdraw Assets
Prompt: "Withdraw 0.5 BTCB worth of assets from the Lista BTCB Vault at 0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705, owned by 0x123...abc."
Tool Call: withdraw_assets(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', assetAmount: 0.5, ownerAddress: '0x123...abc')
Output:
## Withdraw Successful
- **Vault Address**: `0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705`
- **Asset Amount**: 0.5 (converted to 500000 with 6 decimals)
- **Receiver**: `0x123...abc`
- **Owner**: `0x123...abc`
- **Shares Burned**: 51.23
- **Transaction Hash**: `0xjkl012mno345...678`
Note: Ensure the signer (owner) holds sufficient vault shares.
Note: Transactions require sufficient balance in the signer wallet. Preview functions estimate outcomes before execution.
License
This project is licensed under the MIT License - see the file for details.