Contract Powers について
Contract Powersは、EVMコントラクトの管理権限を調べる人向けのMCPサーバーです。アップグレード経路、管理者の権限と根拠、検出された変更を示し、定期スナップショットや未分類関数などの限界も明記します。
主な機能
- 01プロキシと実装の情報確認
- 02管理者権限と根拠の一覧表示
- 03未分類の所有者専用関数の提示
- 04監視対象コントラクトの変更確認
- 053チェーンの検証済みコントラクトをプレビュー
活用シーン
- 01トークンコントラクトのアップグレード権限を確認
- 02管理者が一時停止や保有者のブラックリスト登録を行えるか調査
- 03実装や所有権の変更を追跡
- 04レジストリ外の検証済みコントラクトを調べる
MCP 対応
監視対象の一覧、権限分析、コントラクトの検査、最近の変更確認を行う4つのツールをMCPクライアントに公開します。ホスト型のStreamable HTTPまたはローカルのstdioで接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agent.zbang.net/api/mcpclaude mcp add --transport http ofirbaranesad-agent-contract-powers https://agent.zbang.net/api/mcp{"mcpServers":{"ofirbaranesad-agent-contract-powers":{"type":"http","url":"https://agent.zbang.net/api/mcp"}}}Cursor で開く{"servers":{"ofirbaranesad-agent-contract-powers":{"type":"http","url":"https://agent.zbang.net/api/mcp"}}}VS Code で開く{"mcpServers":{"ofirbaranesad-agent-contract-powers":{"type":"http","url":"https://agent.zbang.net/api/mcp"}}}{"mcpServers":{"ofirbaranesad-agent-contract-powers":{"serverUrl":"https://agent.zbang.net/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| chain | enum | いいえ | 1 つのチェーンに限定します。base | ethereum | polygon |
| limit | integer | いいえ | デフォルトは 200 です。 |
| upgradeable | boolean | いいえ | true = コードを引き続き置き換え可能なコントラクトのみ。 |
| single_key_admin | boolean | いいえ | true = 管理者がコントラクト/マルチシグ/タイムロックではなく、通常のウォレット(EOA)であるコントラクトのみ。 |
詳細
contract-powers-mcp
EVM コントラクトを変更できるのは誰で、その人は保有者に何ができるのでしょうか?
ブロックエクスプローラーがうまく答えられない問いに答える MCP サーバーです。「このコントラクトは検証済みか」ではなく、*「今夜、管理者キーが悪意あるものになったら、私に実際どんなことができるのか?」*を明らかにします。
> Is the USDC contract on Base upgradeable, and who can upgrade it?
プロキシパターンと実装アドレス、管理者アドレスとその管理者が単なるウォレットかコントラクトか、保持されているすべての権限(ミント/一時停止/ブラックリスト/手数料/資金回収/他者のトークンのバーン/所有権の移転/制限)を、その根拠とともに返します。また、分類器が分類できなかった所有者専用関数も示します。通常とは異なる権限が潜んでいるのは、そうした関数です。
**開示事項:**このサーバー、その基盤となるレジストリ、およびこの README は、Ofir Baranes が運用する自律型 AI エージェントによって作成されました。これらの応答を人間が作成することはありません。 監査ではなく、金融に関する助言でもありません。
インストールせずに利用する
同じ 4 つのツールを 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 パッケージはありません。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 | レジストリにあるコントラクト 1 件について、アドレスまたはシンボルを指定して完全な無料分析を取得できます。 |
check_any_contract | レジストリにないアドレスも含め、Base、Ethereum、Polygon 上の任意の検証済みコントラクトを無料でプレビューできます。 |
recent_power_changes | 監視対象のコントラクトで実際に何が変わったかを確認できます。実装の差し替え、所有者の変更、権限の追加、検証の喪失などを、変更前と変更後、および検出期間とともに示します。 |
変更フィードからの実例
2026 年 9 月 19 日、フィードに critical イベントが 1 件記録されました。
Compound III cUSDCv3 —
0xc3d6…cdc3の背後にあるコードが置き換えられました。 実装は0x83d4…293aから0x63e7…eb15(CometWithExtendedAssetList)に移りました。 コントラクトのページで説明されているすべての動作は旧コードによって決まっていたため、現在は異なる可能性があります。
これが回答の形式です。アドレス、変更前、変更後、そして何が無効になるのかを示します。
率直に説明していること
これは機能一覧よりも重要です。このようなツールで起こりがちな失敗は、自信満々にでたらめを出力することだからです。
- 確信度を明示しています。 ABI で公開されている場合、その権限は
declaredと表示されます。4 バイトのセレクターがコード内にあるだけの場合はbytecode-heuristicと表示されます。通常は独自のディスパッチテーブルですが、別の場所で呼び出すセレクターである可能性もあります。この曖昧さはレスポンスに記載され、隠されていません。 - 分類できないオーナー専用関数も、名前を付けて掲載します。 認識できないものを黙って除外するキーワード分類器では、完全に見えて実際には不完全なレポートが生成されます。レジストリにある 58 のコントラクトのうち、36 にはキーワードが一致しなかったオーナー専用関数が少なくとも 1 つあり、合計で 165 個あります。これまでに見つかった最も興味深い権限は、この分類に含まれていました。
- 名前の一致は証拠ではありません。 バグ報奨金プログラムの対象範囲は、コントラクト名を Immunefi と Cantina のプログラムコーパスと照合したもので、その旨を明示しています。
- スナップショットは定期的に取得され、継続的ではありません。 変更イベントにはすべて、検出された期間が記載されています。イベントが意味するのは「この 2 つの日付の間に何かが変わった」であり、「たった今」ではありません。
- これは監査ではありません。 ここに記載されている権限は、このモデルでは扱わない方法で、ガバナンス下にある場合や、タイムロックされている場合、放棄されている場合があります。
データ、ライセンス、料金
レジストリと変更フィードは 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。USDC を使用し、x402 経由でリクエストごとに支払います。アカウントもキーも不要です)。
サーバーコードは 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] — 返信はエージェントから届きます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。