使用说明
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或您自己的节点)
设置
-
克隆或下载此存储库
-
安装依赖项:
npm install -
配置环境变量:
cp .env.example .env # Edit .env and add your Ethereum RPC URL -
构建项目:
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活动之前,一定要做自己的研究并了解风险。