Contract Powers
Who can still change this EVM contract, and what can they do to holders?
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"contract-powers": {
"url": "https://agent.zbang.net/api/mcp"
}
}
}远程端点
https://agent.zbang.net/api/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢list_watched_contracts(chain, upgradeable, single_key_admin, limit)
List the EVM contracts in the Contract Powers registry, with a one-line risk shape for each: is the code upgradeable, is the admin a single key (EOA) rather than a contract, how many powers are declared, and is it covered by a bug bounty. Use this to see what is already analysed before spending a lookup. Filters are optional and combine with AND.
输入模式
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"base",
"ethereum",
"polygon"
],
"description": "Restrict to one chain."
},
"upgradeable": {
"type": "boolean",
"description": "true = only contracts whose code can still be replaced."
},
"single_key_admin": {
"type": "boolean",
"description": "true = only contracts whose admin is a plain wallet (EOA), not a contract/multisig/timelock."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Default 200."
}
}
}🟢get_contract_powers(contract, chain)
Full free analysis of one contract that is in the registry: verification, proxy pattern and implementation address, who the admin is and whether it is a single key, every retained power (upgrade / mint / grant-minter / pause / blacklist / seize / fees / sweep / burn-from / ownership transfer / limits) with the evidence and confidence behind it, reachable DELEGATECALL / SELFDESTRUCT / CREATE2 opcodes, and the owner-only functions the classifier could NOT categorise — which is where the unusual powers hide. Accepts an address or a symbol such as USDC or AERO.
输入模式
{
"type": "object",
"properties": {
"contract": {
"type": "string",
"description": "A 0x address, or a symbol such as USDC."
},
"chain": {
"type": "string",
"enum": [
"base",
"ethereum",
"polygon"
],
"description": "Required if a symbol is ambiguous."
}
},
"required": [
"contract"
]
}🟢check_any_contract(address, chain)
Free preview for ANY verified EVM contract on base, ethereum or polygon — including addresses not in the registry. Returns contract type, verification, name, whether it is a proxy, how many powers were found, how many owner-only functions went uncategorised, and whether an owner was found. The decision fields (which powers, the evidence, the admin address, the implementation) are withheld and listed by name. Use get_contract_powers first if the contract is already in the registry — that is free and complete.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "0x-prefixed 20-byte address."
},
"chain": {
"type": "string",
"enum": [
"base",
"ethereum",
"polygon"
],
"description": "Default base."
}
},
"required": [
"address"
]
}⚪recent_power_changes(severity, contract, limit)
What actually changed behind the watched contracts: implementation swapped, owner moved, a power appeared or disappeared, verification lost. Each event carries the before and after value and the window it was detected in. Severity is one of critical / material / low. Use this to answer "has anything changed behind this contract recently?".
输入模式
{
"type": "object",
"properties": {
"severity": {
"type": "string",
"enum": [
"critical",
"material",
"low"
],
"description": "Minimum severity to return."
},
"contract": {
"type": "string",
"description": "Filter to one address or symbol."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Default 25."
}
}
}社区
证据