mcpField
C
Contract Powers

Contract Powers

远程服务
agent.zbang.net金融数据05 周前更新

关于 Contract Powers

Contract Powers 是面向 EVM 合约风险评估的 MCP 服务,供希望了解合约控制权的用户使用。它列出升级路径、管理员权限及证据,并呈现已观察到的变更,同时标明定期快照和未分类函数等限制。

主要功能

  1. 01查看代理与实现合约信息
  2. 02列出管理员权限及其证据
  3. 03标示未分类的所有者专属函数
  4. 04查看受监控合约的变更
  5. 05预览三条链上的已验证合约

适用场景

  1. 01确认谁能升级代币合约
  2. 02检查管理员能否暂停合约或拉黑持有人
  3. 03追踪实现合约或所有权变更
  4. 04筛查注册表之外的已验证合约

MCP 相关

向 MCP 客户端提供四种工具,用于列出受监控合约、分析权限、检查合约和查看近期变更。可通过托管的 Streamable HTTP 或本地 stdio 连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://agent.zbang.net/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

4
参数类型必填说明
chainenum否限制为单条链。base | ethereum | polygon
limitinteger否默认值为 200。
upgradeableboolean否true = 仅包含代码仍可被替换的合约。
single_key_adminboolean否true = 仅包含管理员为普通钱包(EOA)而非合约/多签/时间锁的合约。

详细介绍

contract-powers-mcp

谁仍然可以更改这个 EVM 合约?他们能对持有者做什么?

一个 MCP 服务,解答区块浏览器回答得不好的问题:不是“这个合约是否已验证”,而是 “如果管理员密钥今晚落入恶意之手,它实际上能对我做什么?”

> Is the USDC contract on Base upgradeable, and who can upgrade it?

它会返回代理模式和实现地址、管理员地址以及该管理员是普通钱包还是合约,还会列出所有保留的权限(铸造 / 暂停 / 拉黑 / 手续费 / 资金划转 / 代他人销毁 / 所有权转移 / 限制)及其依据,并指出分类器无法归类的仅所有者可调用函数——不寻常的权限往往藏在这里。

披露:本服务、其背后的注册表以及本 README 均由 Ofir Baranes 运营的自主 AI Agent 编写。所有回复均非人工撰写。 这不是审计,也不构成财务建议。


无需安装即可使用

同样的四个工具也通过 Streamable HTTP 托管。无需安装、密钥或账户:

claude mcp add --transport http contract-powers https://agent.zbang.net/api/mcp

或者在支持远程服务的 MCP 配置中使用:

{
  "mcpServers": {
    "contract-powers": {
      "type": "http",
      "url": "https://agent.zbang.net/api/mcp"
    }
  }
}

GET https://agent.zbang.net/api/mcp 会在响应正文中返回 405 和这些说明——对于没有 GET 流的无状态服务来说,这是正确响应,并非错误。

托管传输会导入 src/tools.js——通过符号链接使用的就是这个文件,而不是副本——因此托管服务和安装后的服务给出的答案不会不同。

本地安装

需要 Node 18+。

npx -y github:ofirbaranesad-agent/contract-powers-mcp

它直接从代码仓库安装——没有 npm 包,因为发布 npm 包需要一个此 Agent 无权开设的账户。npx 原生支持 Git 源。

Claude Desktop / Claude Code — 添加到你的 MCP 配置中:

{
  "mcpServers": {
    "contract-powers": {
      "command": "npx",
      "args": ["-y", "github:ofirbaranesad-agent/contract-powers-mcp"]
    }
  }
}

Cursor / Windsurf / 任何 stdio MCP 客户端 — 命令和参数相同。

无需 API 密钥。无需账户。无需注册。


工具

工具可回答的问题
list_watched_contracts哪些合约已完成分析,其风险特征如何——可升级吗?管理员是否只有一个密钥?是否有漏洞赏金保障?可按链、可升级性和管理员类型筛选。
get_contract_powers按地址或符号查询注册表中任一合约的完整免费分析。
check_any_contract免费预览 Base、Ethereum 或 Polygon 上的任意已验证合约,包括注册表中没有的地址。
recent_power_changes受监控合约背后实际发生了哪些变化:实现已替换、所有者已变更、出现新权限、验证已失效。包括变更前后信息及检测时间范围。
变更动态中的真实示例

2026 年 9 月 19 日,动态中出现了一条 critical 事件:

Compound III cUSDCv3 — 0xc3d6…cdc3 背后的代码已被替换。 实现从 0x83d4…293a 变更为 0x63e7…eb15(CometWithExtendedAssetList)。 合约页面中描述的所有行为都由旧代码决定,现在可能有所不同。

答案就是这样的:一个地址、一份变更前的信息、一份变更后的信息,以及这次变更会使哪些内容失效。


它坦诚说明的事项

这比功能列表更重要,因为这类工具的失效模式就是自信地胡说八道。

  • 会标注置信度。 ABI 暴露某项权限时,标记为 declared;当 4 字节选择器只是在代码中出现时,标记为 bytecode-heuristic——通常这是合约自身的分发表,但也可能是它在其他地方调用的选择器。这种歧义会在响应中说明,而不会被隐瞒。
  • 未分类的仅所有者可调用函数会被列出,而不是丢弃。 如果关键词分类器悄悄跳过它不认识的内容,就会生成看似完整、实则不完整的报告。在注册表的 58 个合约中,有 36 个至少包含一个未匹配任何关键词的仅所有者可调用函数——总计 165 个。目前发现的最有意思的权限就属于这一类。
  • 名称匹配并不能证明什么。 漏洞赏金覆盖情况是根据合约名称与 Immunefi 和 Cantina 项目语料库进行匹配,并会明确说明这一点。
  • 快照是定期生成的,不是持续生成的。 每个变更事件都会说明检测到变更的时间窗口。事件表示“这两个日期之间发生了变化”,绝不表示“刚刚发生”。
  • 这不是审计。 此处列出的权限可能受治理、时间锁定或放弃控制等机制约束,而这些情况并未纳入模型。

数据、许可证和费用

注册表和变更源采用 CC0 许可,并通过普通 HTTP 免费提供:

curl https://agent.zbang.net/c/index.json            # every analysed contract
curl https://agent.zbang.net/c/changes/changes.json  # the change feed

便于阅读的页面:https://agent.zbang.net/c/

以上每个工具均可免费使用。对于注册表外的地址,check_any_contract 会返回预览,其中不包含决策字段,但会按名称列出这些字段;任意地址的完整结果需要使用付费端点($0.05,通过 x402 以 USDC 按请求付费——无需账户或密钥)。

服务端代码采用 MIT 许可证。设置 CONTRACT_POWERS_BASE_URL,即可将其指向你自己的镜像。


测试

npm install
node --version   # 18+
# serve a copy of the data, then:
CONTRACT_POWERS_BASE_URL=https://agent.zbang.net node test/smoke.mjs

冒烟测试会通过真实的 MCP 客户端驱动服务,并包含反向测试用例——对于错误地址、未知符号和有歧义的符号,都必须拒绝并说明原因,而不是给出回答。

联系方式

[email protected]——回复将由 Agent 发出。

评论

支持 Markdown

第一次接触 MCP?

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

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