Aave清算分析服务

一个用于分析以太坊主网上Aave V3清算机会的模型上下文协议(MCP)服务器,专注于为AI助手提供数据洞察而非执行交易。

  • by clumsynonono
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 clumsynonono/aave-liquidation-mcp

使用说明

Aave清算MCP服务器

用于分析以太坊主网上Aave V3清算机会的模型上下文协议(MCP)服务器。该工具使Claude等人工智能助手能够与Aave协议数据交互,监控用户头寸,并识别清算机会。

特性

🔍 健康因素监测

  • 实时健康因子计算 对于任何以太坊地址
  • 多阈值风险检测:
    • 健康:健康因素>1.05
    • AT_RISK:1.0<HF<1.05
    • 可清算:HF<1.0
  • 自动风险等级分类 (高、中、低)
  • 账户摘要 具有抵押品、债务和借款能力

💰 清算分析

  • 详细的职位细分 按资产
  • 利润估算 清算机会
  • 抵押品和债务构成 分析
  • 清算奖金计算 (特定资产)
  • 风险评分 基于多种因素

📊 位置跟踪

  • 完整的投资组合视图 对于任何地址
  • 按资产细分 存款和借款
  • 抵押品状态 对于每项资产
  • 实时余额更新 来自链上数据

🔢 批量操作

  • 最多可同时检查20个地址
  • 并行处理 为了更快的结果
  • 汇总统计 (可清算计数、风险计数等)
  • 批量风险评估 用于投资组合监控

💲 价格和协议数据

  • 实时资产价格 来自阿维神谕
  • 以美元计价的价值 适用于所有职位
  • 储备(资产)清单 具有完整配置
  • LTV、清算阈值和奖金 按资产
  • 当前块号 用于数据验证

是什么让这与众不同

与执行清算的现有清算机器人不同,此MCP服务器侧重于:

  • 执行分析:提供数据和见解,而不是执行交易
  • AI优先设计:通过MCP协议优化与AI助手的集成
  • 教育价值:帮助用户了解DeFi清算机制
  • 研究工具:有助于战略制定和风险分析

安装

先决条件

  • Node.js 18或更高版本
  • 以太坊RPC端点(Alchemy、Infura、QuickNode或您自己的节点)

设置

  1. 克隆或下载此存储库

  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    cp .env.example .env
    # Edit .env and add your Ethereum RPC URL
    
  4. 构建项目:

    npm run build
    

配置

环境变量

创建一个 .env 项目根目录中的文件:

# Required: Ethereum RPC endpoint
ETHEREUM_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

# Optional: Health factor warning threshold (default: 1.05)
HEALTH_FACTOR_THRESHOLD=1.05

获取RPC终结点

您可以从以下网址获得免费的以太坊RPC端点:

  • 炼金术: https://www.alchemy.com/(建议每月免费提供3亿台计算设备)
  • 英富拉: https://www.infura.io/(10万次请求/天免费)
  • QuickNode: https://www.quicknode.com/(提供免费套餐)

MCP配置

将此服务器添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "aave-liquidation": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/aave-liquidation-mcp/build/index.js"],
      "env": {
        "ETHEREUM_RPC_URL": "https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
      }
    }
  }
}

替换 /ABSOLUTE/PATH/TO/ 安装的实际路径。

快速演示脚本

在没有MCP配置的情况下测试服务器功能:

# Get current ETH price
npm run demo:price

# View all Aave reserves (categorized)
npm run demo:reserves

# Run comprehensive connection test
npm run test:real-data

可用工具(共8个)

1. get_user_health

获取特定地址的健康因素和帐户数据。

输入:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}

输出:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "healthFactor": "1.234",
  "totalCollateralUSD": "150000.00",
  "totalDebtUSD": "100000.00",
  "availableBorrowsUSD": "20000.00",
  "liquidationThreshold": "0.85",
  "ltv": "0.80",
  "isLiquidatable": false,
  "isAtRisk": false,
  "status": "HEALTHY"
}

2. analyze_liquidation

详细分析清算机会的头寸。

输入:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}

输出:

{
  "userAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "healthFactor": "0.98",
  "totalCollateralUSD": "150000.00",
  "totalDebtUSD": "140000.00",
  "riskLevel": "HIGH",
  "potentialProfit": "7000.00",
  "collateralAssets": [...],
  "debtAssets": [...]
}

3. get_user_positions

获取地址的详细抵押品和债务状况。

输入:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}

4. get_aave_reserves

获取所有可用Aave V3储备及其配置的列表。

输入: 无需

输出: 所有准备金清单,包括贷款价值比、清算门槛、清算奖金等。

5. get_asset_price

从Aave oracle获取特定资产的当前美元价格。

输入:

{
  "assetAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}

6. get_protocol_status

获取Aave V3协议状态和当前块号。

输入: 无需

7. batch_check_addresses

一次检查多个地址以寻找清算机会(每个请求最多20个地址)。

输入:

{
  "addresses": [
    "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "0xAnotherAddress...",
    "0xYetAnotherAddress..."
  ]
}

输出:

{
  "totalChecked": 3,
  "liquidatable": 1,
  "atRisk": 1,
  "healthy": 1,
  "results": [...]
}

8. validate_address

验证字符串是否是格式正确的以太坊地址。

输入:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}

输出:

{
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "isValid": true,
  "message": "Valid Ethereum address format"
}

使用示例

一旦配置了Claude Desktop,您可以提出以下问题:

单地址查询:

  • “检查地址0x742d35Cc6634C0532925a3b844Bc454e4438f44e的运行状况因素”
  • “这个地址有清算机会吗?”
  • “此用户的抵押品头寸是多少?”
  • “分析此地址的清算风险:0x…”

批量操作:

  • “检查这5个地址是否存在清算风险:[粘贴地址]”
  • “监控多个钱包,告诉我哪些钱包有风险”
  • “比较这些地址的清算风险”

协议查询:

  • “显示Aave V3中的所有可用资产”
  • “WETH在阿维的当前价格是多少?”
  • “USDC的清算参数是什么?”
  • “当前的街区号是多少?”

验证:

  • “这是有效的以太坊地址吗:0x123…”
  • “在检查这些地址之前,请先验证它们”

设置验证

安装和配置服务器后,重新启动Claude Desktop并验证其是否正常工作:

问克劳德:

Can you check the Aave protocol status?

克劳德将使用 get_protocol_status 工具,并应返回类似以下内容:

{
  "protocol": "Aave V3",
  "network": "Ethereum Mainnet",
  "blockNumber": 18500000,
  "poolAddress": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",
  "status": "operational"
}

理解数据

健康因素

  • > 1.0:位置健康
  • < 1.05:位置有风险(警告)
  • < 1.0:头寸可以清算

风险等级

  • 高:健康系数<1.0(可立即清算)
  • 中等:健康系数介于1.0和1.02之间
  • 低:健康系数介于1.02和1.05之间

清算奖金

当头寸被清算时,清算人会收到奖金(通常为5-10%,具体取决于资产)。这 potentialProfit 菲尔德估计了这笔奖金。

发展

项目结构

aave-liquidation-mcp/
├── src/
│   ├── index.ts           # MCP server implementation
│   ├── aave-client.ts     # Aave protocol interaction logic
│   ├── constants.ts       # Contract addresses and ABIs
│   └── types.ts           # TypeScript type definitions
├── build/                 # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── .env                   # Configuration

建筑

npm run build

发展模式

npm run dev

这将监视文件更改并自动重新编译。

技术细节

Aave V3合约(以太坊主网)

  • 池: 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2
  • 池数据提供程序: 0x7B4EB56E7CD4b454BA8ff71E4518426369a138a3
  • 甲骨文: 0x54586bE62E3c3580375aE3723C145253060Ca0C2

依赖项

  • @modelcontextprotocol/sdk:MCP协议实施
  • ethers:用于合约交互的以太坊库
  • dotenv:环境变量管理

局限性

  • 仅限主网:目前仅支持以太坊主网
  • 只读的:不执行清算,只分析机会
  • 速率限制:受RPC提供商的速率限制
  • 天然气估算:利润计算是估计值,不考虑天然气成本

未来的增强功能

  • []多链支持(Arbitrum、Optimism、Polygon、Base)
  • []历史清算数据和分析
  • []包括天然气成本在内的高级利润计算
  • []针对风险头寸的Webhook通知
  • []与The Graph集成以进行历史查询
  • []支持Aave V2和V3

资源

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。

免责声明

此工具仅用于教育和研究目的。在DeFi协议上清算头寸涉及财务风险。在参与DeFi活动之前,一定要做自己的研究并了解风险。