mcpField
D
defi-guard-mcp

defi-guard-mcp

本地服务
github.com/iinniitt金融数据016 周前更新

关于 defi-guard-mcp

defi-guard-mcp 是只读 MCP 服务,可在交易签名前检查 Base 上的 DeFi 代币、授权、持仓和兑换报价。它面向需要实时链上风险信息的 Agent 和用户,不接触密钥,也不提交交易。

主要功能

  1. 01检测蜜罐及往返交易风险
  2. 02扫描字节码中的所有者权限
  3. 03标记高风险代币授权
  4. 04检查 Aave V3 持仓健康度
  5. 05查询兑换报价与代币市场深度

适用场景

  1. 01买入或授权前筛查代币
  2. 02检查合约所有者可执行的操作
  3. 03评估现有授权的资金暴露
  4. 04判断 Aave 持仓的清算风险
  5. 05估算兑换回报和退出深度

MCP 相关

向 MCP 客户端提供 Base 链只读安全检查与数据工具;不持有密钥、不签名或提交交易。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"iinniitt-defi-guard": {
"command": "npx",
"args": [
"-y",
"@iniit/defi-guard-mcp"
],
"env": {
"BASE_RPC_URL": "<BASE_RPC_URL>"
}
}
}
}
启动命令npx -y @iniit/defi-guard-mcp
需要配置的环境变量
BASE_RPC_URLOptional Base RPC endpoint; defaults to public fallback pool

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@iniit/defi-guard-mcp0.2.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
addressstring是仓位所有者的 EVM 地址

详细介绍

DeFi Guard MCP

npm smithery badge License: MIT

在你的 Agent(或你自己)签名前,检查 DeFi 交易或代币的安全防护层——适用于 Base L2。它位于执行类 MCP 之前(与它们配合使用,而非与之竞争):蜜罐检测、所有者权限扫描、授权资金耗尽检查、仓位健康状况和可执行价格——全部基于实时链上状态。

无需 API 密钥——开箱即用,连接公共 Base RPC(如需更快速度,可通过 BASE_RPC_URL 使用你自己的 RPC)。只读:它不会持有密钥、签名或提交交易。

签名前防护工具

工具能回答的问题
token_safety_screen“在签名前买入/批准这个代币安全吗?”——蜜罐检测(能否实际卖出?)、实际往返成本(买入和卖出两边的费用与税费),以及所有权是否已放弃(仍有效的所有者通常可以更改税费/暂停交易/增发)。给出一个风险判定。
scan_dangerous_capabilities“所有者能对我做什么?”——扫描已部署的字节码,查找仅所有者可用的权限:mint、pause、blacklist、可调整的费用/税费、单笔交易上限、交易开关、代理 upgradeTo。标记相关能力,无需区块浏览器密钥。
approval_risk“这项授权有危险吗?”——读取所有者授予某个支出方的实时额度,标记无限额授权(可能导致额度被耗尽),并判断支出方是合约还是 EOA。当前风险敞口 = 此刻可能被转走的金额。

数据工具

工具能回答的问题
aave_position_health“这个 Aave V3 仓位安全吗?”——实时健康因子、以 USD 计价的抵押品/债务、LTV、清算阈值,以及通俗易懂的风险级别(healthy/elevated/critical/LIQUIDATABLE)。
quote_swap“这笔兑换现在实际能换回多少?”——通过 Uniswap V3 QuoterV2 获取精确输入报价,比较全部 4 个费率档位并给出 Gas 估算。提供的是可执行价格,而非预言机价格。
token_risk_snapshot“我能卖出这个代币吗?”——ERC-20 元数据 + 通过两个规模的往返报价(WETH → 代币 → WETH)测得的实际市场深度。往返损失高 = 流动性薄弱或难以退出,无论图表看起来如何。

为何采用往返深度,而不是“流动性”数字

TVL 和池规模数据很容易造假,也容易被误读。根据实时状态进行往返报价,衡量的是唯一重要的事情:此刻买入和卖出会损失多少(两边的费用与价格影响)。如果某个代币可以买入却无法卖出,此工具会如此提示(UNTRADABLE)。

安装

npx @iniit/defi-guard-mcp        # or from source: npm install && npm run build
Claude Code
claude mcp add defi-guard -- npx -y @iniit/defi-guard-mcp
任意 MCP 客户端(Cursor、Windsurf 等)
{
  "mcpServers": {
    "defi-guard": {
      "command": "npx",
      "args": ["-y", "@iniit/defi-guard-mcp"],
      "env": { "BASE_RPC_URL": "https://your-rpc-if-you-have-one" }
    }
  }
}

BASE_RPC_URL 为可选项;不设置时,服务会轮流使用公共 Base 端点,并自动进行故障切换和重试。

示例

“在我批准 TOKEN X 使用这个路由器之前,有什么风险吗?”

Agent 会调用 token_safety_screen(能否卖出?所有权是否已放弃?)、scan_dangerous_capabilities(所有者能否增发/拉黑/暂停?)和 approval_risk(这是不是授予 EOA 的无限额授权?),然后在你签名前依据实时链上事实,而非主观臆测给出回答。

说明(请阅读)

  • 报价是基于实时状态进行的模拟(eth_call)。实际执行时,从报价到交易被打包之间可能出现滑点。
  • 合约地址(Aave V3 Pool、QuoterV2)是 Base 主网常量,并已通过实时链上状态验证。
  • 这是一个只读工具。它不会持有密钥、签名或提交交易。
  • 这不是财务建议;它报告链上状态,决策由你做出。

测试

npm run build   # tsc — type-checks and emits dist/. Tools are verified against live Base state.

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。