DAO借贷金库管理工具

一个为AI代理提供Lista DAO借贷金库跟踪和操作功能的MCP服务器。

  • by kukapay
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 kukapay/lista-vaults-mcp

使用说明

清单 保险箱 MCP

MCP服务器使AI代理能够在Lista DAO借贷库中跟踪和行动。

特性

  • 列出保险库:按区域(经典、阿尔法、aster)提取和显示金库,并显示APY、利用率和存款等详细信息。
  • 押金:将资产存入保险库,处理十进制转换和审批。
  • 赎回股份:将保险库股份兑换为标的资产。
  • 提取资产:通过焚烧股份提取指定数量的资产。

所有工具都通过可配置的RPC支持BSC,并使用签名者钱包进行交易。

先决条件

  • Node.js>=22
  • 带有私钥的BSC钱包(用于交易)
  • 访问BSC RPC(例如,通过公共端点)

安装

  1. 克隆存储库:

    git clone https://github.com/kukapay/lista-vaults-mcp.git
    cd lista-vaults-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 配置MCP客户端(例如,Claude Desktop):

    {
       "mcpServers": {
           "Lista Vaults": {
                "command": "node",
                "args": [ "/path/to/lista-vaults-mcp/index.js" ],
                "env": { 
                    "PRIVATE_KEY": "your-private-key" 
                }                          
           }
       }
    }
    

    替换 /path/to/lista-vaults-mcp 根据您的实际安装路径,以及 your-private-key 使用您自己的私钥。

用法

连接后,MCP客户端可以通过自然语言提示调用这些工具。人工智能将把这些转化为工具调用。下面是示例提示、工具调用和完整输出的示例。

1.列出金库

提示:“向我展示Lista经典区的顶级金库,按存款美元排序。”

工具调用: list_vaults(zone: 'classic')

输出 (Markdown表格):

| 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.存款资产

提示:“将1.5 BTCB存入Lista BTCB保险库,地址为0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705,并将股份发送到我的地址0x123…abc。”

工具调用: deposit(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', assetAmount: 1.5, receiverAddress: '0x123...abc')

输出:

## 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.赎回股份

提示:“从Lista BTCB保险库0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705兑换100股,并将资产寄回我的钱包。”

工具调用: redeem_shares(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', shareAmount: 100)

输出:

## 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.提取资产

提示:“从0x123…abc拥有的位于0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705的Lista BTCB金库中提取价值0.5 BTCB的资产。”

工具调用: withdraw_assets(vaultAddress: '0xe46b8e65006e6450bdd8cb7d3274ab4f76f4c705', assetAmount: 0.5, ownerAddress: '0x123...abc')

输出:

## 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.

备注:交易需要签名者钱包中有足够的余额。预览函数在执行前估计结果。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。