关于 Defi Mcp
Defi Mcp 是面向 AI Agent 的 MCP 服务,直接读取 Polygon 和 Arbitrum 上的链上 DeFi 数据。它提供代币余额、Aave v3 仓位、Chainlink 价格及 Uniswap v3 兑换模拟,无需经由中心化数据 API。
主要功能
- 01读取代币余额
- 02查询 Aave v3 借贷仓位
- 03读取 Chainlink 代币价格
- 04模拟 Uniswap v3 兑换
适用场景
- 01查看钱包代币余额
- 02检查借贷仓位与清算风险
- 03获取代币美元价格
- 04预估兑换输出数量
MCP 相关
向 MCP 客户端提供链上查询及兑换模拟工具,支持 Polygon 和 Arbitrum。数据通过配置的 RPC 服务与 Chainlink 价格源读取;兑换模拟不会提交交易。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
defi-mcp
一个 MCP(Model Context Protocol)服务,让 AI Agent 能直接在 EVM 链上访问 DeFi 数据——包括钱包余额、Aave v3 借贷头寸和实时代币价格,全程不经由中心化 API。
状态: 已上线并正常运行。目前提供 5 个工具,更多功能已列入路线图。
为什么要用
大多数「DeFi + AI」集成都通过中心化 API 提供服务,而这些 API 可能会限制请求频率、设置付费墙,甚至直接停止服务。defi-mcp 直接连接区块链(通过你自己的 RPC 提供商)和一手预言机(Chainlink),因此 AI Agent 获取的数据与链上数据完全一致——可验证,也不依赖第三方 API 持续在线。
工具
get_token_balance
读取任意钱包地址中指定受支持代币的 ERC-20 余额。
支持的代币:
- Polygon:
USDC、USDC.e、USDT、WETH、WMATIC、WBTC、DAI、AAVE - Arbitrum:
USDC、USDC.e(跨链桥接)、USDT、WETH、WBTC、ARB
// get_token_balance(address="0x...", token_symbol="USDC", chain="polygon")
{
"address": "0x...",
"token": "USDC",
"chain": "polygon",
"balance": 268.21,
"raw_balance": "268210000",
"decimals": 6
}
get_aave_position
直接从 Aave v3 Pool 合约读取用户完整的 Aave v3 借贷头寸:抵押品、债务、可用借款额度和健康因子。
// get_aave_position(address="0x...", chain="polygon")
{
"address": "0x...",
"chain": "polygon",
"total_collateral_usd": 969.78,
"total_debt_usd": 288.16,
"available_borrows_usd": 484.86,
"liquidation_threshold_pct": 82.79,
"ltv_pct": 79.71,
"health_factor": 2.79,
"has_active_position": true
}
health_factor 低于 1.0 表示该头寸有被清算的风险。null 健康因子表示用户没有未偿还债务。
get_token_price
直接从 Chainlink 价格馈送读取代币当前的美元价格。DeFi 协议内部也使用同一预言机,因此该价格与 get_aave_position 报告的价格一致。
支持的价格馈送:
- Polygon:
ETH/WETH、MATIC/WMATIC、WBTC、USDC、USDT - Arbitrum:
ETH/WETH、WBTC、ARB、USDC、USDT
// get_token_price(token_symbol="WBTC", chain="polygon")
{
"token": "WBTC",
"chain": "polygon",
"price_usd": 63835.77,
"decimals": 8,
"updated_at": 1782032816
}
simulate_swap
通过 QuoterV2 合约在链上模拟 Uniswap v3 兑换——不会提交交易,也不需要钱包。它会尝试全部四种手续费等级(0.01%、0.05%、0.3%、1%),并返回当前可用的最佳输出金额。
支持的代币:
- Polygon:
USDC、USDC.e、USDT、WETH、WMATIC、WBTC、DAI、AAVE - Arbitrum:
USDC、USDC.e(跨链桥接)、USDT、WETH、WBTC、ARB
// simulate_swap(token_in="WMATIC", token_out="USDC", amount_in=100.0, chain="polygon")
{
"chain": "polygon",
"token_in": "WMATIC",
"token_out": "USDC",
"amount_in": 100.0,
"amount_out": 7.990547,
"fee_tier_used_pct": 0.05,
"fee_tier_used_bps": 500,
"gas_estimate": 122770
}
如果该交易对在所有手续费等级下都没有对应的池,则返回 {"error": "No liquidity found for this pair on any fee tier"}。
hello
简单的连接检查——确认 MCP 服务可访问且正在响应。
支持的链
| 链 | get_token_balance | get_aave_position | get_token_price | simulate_swap |
|---|---|---|---|---|
| Polygon | ✅ | ✅ | ✅ | ✅ |
| Arbitrum | ✅ | ✅ | ✅ | ✅ |
安装
需要 Python 3.10+ 和 RPC 提供商 API 密钥(例如 Alchemy,免费套餐即可使用)。
pip install defi-mcp
在工作目录中创建 .env 文件(参见 .env.example):
POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY
每条链只需配置其 RPC URL。如果未设置 ARBITRUM_RPC_URL,使用 chain="arbitrum" 调用工具时会正常处理失败情况。
在 Claude Desktop 中使用
将以下内容添加到 Claude Desktop MCP 配置文件(claude_desktop_config.json)中:
{
"mcpServers": {
"defi-mcp": {
"command": "uvx",
"args": ["defi-mcp"],
"env": {
"POLYGON_RPC_URL": "https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY",
"ARBITRUM_RPC_URL": "https://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
}
}
}
}
重启 Claude Desktop 后,模型即可使用上述工具。
本地测试
你可以使用官方 MCP Inspector 直接测试服务:
npx @modelcontextprotocol/inspector uvx defi-mcp
路线图
- 跟踪 Uniswap v3 LP 头寸和无常损失
- 监控协议 TVL
- 增加其他链(Ethereum、Base)
-
defi-mcp-cloud——提供托管服务,并包含 MEV 专用工具、缓存和更高的请求速率限制
架构
开放核心模式:本仓库采用 MIT 许可证,涵盖标准的链上读取工具。另有独立的 defi-mcp-cloud,将提供托管版本,包含 MEV 相关工具、请求缓存,以及托管式 RPC 访问,适合不想自行运行基础设施的用户。
资源
- defi-storage-cheatsheet — Aave v3 和 Uniswap v3 的经过验证的 EVM 存储槽布局,附带
web3.py代码片段。如果你想通过eth_getStorageAt直接读取链上状态,而不是调用view函数,这会很有用——这是本服务在底层实现部分功能所采用的更低层级方法。
贡献
欢迎提交问题和 PR。这是一个处于早期阶段的项目——特别欢迎你反馈哪些工具对你真正有用。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。