プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Magneta Contract Risk

作者:Bosacksバージョン 0.1.1i★ –iクラウドで動く
レジストリ名io.github.Bosacks/magneta-contract-risk

インストール

概要

作者による説明(英語の原文)

Smart-contract risk reports for AI agents on 20 EVM chains, paid per call via x402 ($0.02 USDC).

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://x402.magneta.finance/mcp

ターミナルでこれを実行します

claude mcp add --transport http magneta-contract-risk https://x402.magneta.finance/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "magneta-contract-risk": {
      "url": "https://x402.magneta.finance/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "magneta-contract-risk": {
      "type": "http",
      "url": "https://x402.magneta.finance/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://x402.magneta.finance/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント Bosacks で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32678件のうち0%よりスターが多い
  • このカテゴリのほかの32678件のうち66%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32678件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Magneta Contract Riskは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは20 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Starreel

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

Starreel

作者:starreel

Turn a script into a finished, downloadable short-drama episode — via MCP or REST.

パソコンで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Magneta Contract Risk (x402)

A small production-oriented service that sells an on-chain smart-contract risk report to AI agents, paid per call with x402 micropayments (USDC, EIP-3009 exact scheme). One express process, two paid surfaces:

SurfaceRoutePrice
HTTPGET /v1/risk/:chainId/:address$0.01
MCP (Streamable HTTP, stateless)POST /mcp, tool contract_risk_summary(chainId, address)$0.01
MCPtool supported_chainsfree
HealthGET /healthfree
OpenAPIGET /openapi.jsonfree

Both paid surfaces call the same analyzeContract(chainId, address) in src/risk/analyze.ts. The analysis is deterministic and uses public data only (RPC, Blockscout, Sourcify, a local aderyn binary). No LLM, no API key for analysis. Unknown chain or malformed address returns 400 *before* any payment is requested. If the analysis itself fails (not a contract, upstream error, timeout) the response is an error status and the buyer is not charged (x402 only settles successful responses).

Supported chains (v1, src/chains.ts): Base 8453, Base Sepolia 84532, Ethereum 1, Arbitrum One 42161. Override RPCs with RPC_URL_ .

Report

{ chainId, address, analyzedAt, isContract, bytecodeSize, proxy, erc20, opcodes, selectors: { found },

blockscout, sourcify?, aderyn, score, level, flags, notes }

  • proxy: { type, implementation, admin? } from EIP-1967 (implementation/admin/beacon), legacy zeppelinos slot, EIP-1822, EIP-1167 clones, or Blockscout's detection. The implementation bytecode is analysed too.
  • erc20: name, symbol, decimals, totalSupply, owner() (and whether it is the zero address), paused(). Each probe is individually try/catch.
  • opcodes: SELFDESTRUCT / DELEGATECALL presence from a real opcode walk that skips PUSH data (no substring matching).
  • selectors.found: risky signatures (mint, pause, blacklist, fee/tax setters, upgrade, ownership...) whose 4-byte selector appears as a PUSH4 in the bytecode. Heuristic: presence is not proof of reachability (also stated in notes).
  • blockscout / sourcify: verification status, compiler, contract name, creator and creation tx. Blockscout has a 5 s timeout; on failure blockscout: { available: false }. Sourcify is only queried as a fallback when Blockscout is unreachable or reports "unverified". For proxies, the implementation's verification is what counts.
  • aderyn: when verified Solidity source is available, sources are written to a temp dir (sanitised paths) and aderyn runs with a 15 s timeout: { ran, counts: { high, low }, top: [{ title, severity, instances }] }, else { ran: false, reason }. It never fails the request.
  • Total budget: hard deadline 24 s per analysis. Results are cached in memory for 10 minutes per chainId+address (the payment still happens on every call).
Score rubric (src/risk/score.ts)

Score 0..100, higher = riskier, additive, capped at 100.

PointsCondition
+25logic contract source not verified (Blockscout, then Sourcify)
+0 (flagged)verification unknown because every provider was unreachable
+15proxy / upgradeable
+10owner() exists and is not the zero address
+15mint selector
+15blacklist / bot-list selector
+10fee / tax / limit / trading-switch setters
+5 (+5 if currently paused)pause selector
+10SELFDESTRUCT opcode
+5 each, max +20aderyn high-severity findings

Level: 0-24 low, 25-49 medium, 50-74 high, 75-100 critical. A non-contract address is an error, not a score. The score is a triage signal, not an audit.

Supported chains

Mainnets: Ethereum (1), OP Mainnet (10), BNB Smart Chain (56), Gnosis (100), Unichain (130), Polygon (137), Sonic (146), World Chain (480), Mantle (5000), Base (8453), Arbitrum One (42161), Celo (42220), Avalanche C-Chain (43114), Linea (59144), Blast (81457), Scroll (534352). Testnets: Base Sepolia (84532), Sepolia (11155111), OP Sepolia (11155420), Arbitrum Sepolia (421614). Chains without a Blockscout instance (BNB, Sonic, Mantle, Avalanche) rely on Sourcify for verified sources. zkSync Era is excluded on purpose: EraVM bytecode defeats the opcode and selector heuristics. Compiler remappings from Blockscout or Sourcify are written to remappings.txt so aderyn can resolve @openzeppelin/...-style imports.

Errors

Machine-readable description: GET /openapi.json (OpenAPI 3.1, free). Error bodies are JSON with an error code.

StatuserrorWhenRouteCharged?
400unsupported_chainchainId is not in the supported list (body carries supportedChains)bothno (answered before the 402 challenge)
400invalid_addressaddress is not 0x + 40 hex charactersbothno (answered before the 402 challenge)
402n/aPayment required: base64 x402 challenge in the PAYMENT-REQUIRED header (USDC, exact scheme)paidno, it is the price quote
422not_a_contractthe address has no contract code on that chain (EOA)bothno
429rate_limitedmore than 30 requests per minute from one IP (retryAfterSeconds, Retry-After header)free /v1/flags onlyn/a (free)
502analysis_failedan upstream data source (RPC, explorer) failedbothno
504timeoutthe analysis exceeded its 24 s budgetbothno

Only a 200 response is settled. Over MCP, the same failures return an isError result with an error message and are not charged.

Payment networks

Buyers pay in USDC on Base (eip155:8453). When SOLANA_PAY_TO is set, the same routes and tools also accept USDC on Solana mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp), settled by the same Coinbase CDP facilitator, which pays the Solana fees. The Solana receiving address must already own a USDC token account (the SDK does not create it). pnpm buy-once-svm pays one call from a Solana keypair (SVM_PRIVATE_KEY, base58 64-byte secret key).

Free tier, agent skill and client package

  • Free preview: GET /v1/flags/:chainId/:address and the MCP tool contract_quick_flags return the bytecode-only part of the report (proxy, owner/pause state, risky selectors, opcodes, partial score) with no payment. Rate-limited to 30 requests per minute per IP. Source verification and aderyn findings are only in the paid report.
  • Agent skill: npx skills add Bosacks/magneta-risk-x402 --skill magneta-contract-risk installs skills/magneta-contract-risk/SKILL.md, which teaches an agent when and how to buy a report over HTTP, MCP or a Coinbase Agentic Wallet.
  • Client package: @magnetafinance/contract-risk (npm i @magnetafinance/contract-risk @x402/core@2.28.0 @x402/evm@2.28.0 @x402/fetch@2.28.0 viem@2.57.7, source in packages/contract-risk-client) wraps the x402 payment flow in a typed client and ships tool adapters for LangChain.js, the Vercel AI SDK and OpenAI/Anthropic function calling.
  • ElizaOS plugin: packages/plugin-elizaos (@magnetafinance/plugin-contract-risk) adds the actions CONTRACT_QUICK_FLAGS (free) and CONTRACT_RISK_REPORT (paid, capped per payment) to an Eliza agent.
  • ERC-8004 identity: the registration file erc8004/agent-registration.json is served at /.well-known/agent-registration.json; scripts/erc8004-register.ts prints the register(string) call for the Base IdentityRegistry 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432.

Run

pnpm install --ignore-scripts

cp .env.example .env.local # fill PAY_TO, X402_NETWORK, FACILITATOR_URL (+ CDP keys if cdp) pnpm dev # tsx, or: pnpm build && pnpm start pnpm type-check && pnpm test # unit tests, no network pnpm analyze 84532 0x036CbD53842c5426634e7929541eC2318f3dCF7e # free local run, prints the report

Buying (needs a funded buyer key, spend cap $0.01 = the price; never put this key on the server):

BUYER_PRIVATE_KEY=0x... pnpm buy-once        # HTTP; prints the report and the PAYMENT-RESPONSE tx hash

BUYER_PRIVATE_KEY=0x... pnpm buy-once-mcp # same through the MCP tool

Environment

  • PUBLIC_URL (https, no trailing slash): advertised as the MCP resource URL for Bazaar discovery. Behind a reverse proxy the server trusts the loopback proxy (trust proxy = loopback) so HTTP resource URLs are advertised as https://; without that, the facilitator rejects discovery with "resource must start with https://".
VarMeaning
PORTlistening port (default 3011)
PAY_TOreceiving address (required)
X402_NETWORKCAIP-2 network, default eip155:84532 (Base Sepolia); production: eip155:8453
FACILITATOR_URLcdp (Coinbase CDP facilitator, needs CDP_API_KEY_ID + CDP_API_KEY_SECRET) or an HTTP facilitator URL such as https://x402.org/facilitator (testnet)
ADERYN_BINaderyn 0.6.8 binary, default /home/dominique/bin/aderyn
RPC_URL_ optional RPC override per chain
BUYER_PRIVATE_KEY, TARGET_URL, MCP_URL, CHAIN_ID, ADDRESSbuyer scripts only

Deploy (systemd + Caddy)

pnpm install --ignore-scripts && pnpm build

rsync -a --exclude node_modules --exclude .env.local --exclude 'scripts/logs' ./ server:/srv/magneta/risk-x402/ # never overwrite the server's .env.local; then pnpm install --prod --ignore-scripts there sudo cp deploy/magneta-risk-x402.service /etc/systemd/system/ && sudo systemctl enable --now magneta-risk-x402

add deploy/Caddyfile.snippet to the Caddyfile (vhost x402.magneta.finance -> 127.0.0.1:3011), reload Caddy

The unit reads /srv/magneta/risk-x402/.env.local. For mainnet set X402_NETWORK=eip155:8453 and FACILITATOR_URL=cdp. Aderyn needs its solc download/cache available to the service user (HOME writable).

Bazaar discovery

Both paid surfaces declare x402 Bazaar discovery metadata with declareDiscoveryExtension from @x402/extensions/bazaar (HTTP route with path-parameter schema and output example; MCP tool with input schema), and the bazaarResourceServerExtension is registered on the resource server. The metadata appears in the PAYMENT-REQUIRED header (extensions.bazaar). Actual cataloguing depends on the facilitator: it indexes resources when it settles a payment, so the listing appears only after the first real paid call through a Bazaar-enabled facilitator (CDP). The public x402.org testnet facilitator is not expected to list it.

Production status (2026-10-16)

Live at https://x402.magneta.finance on Base mainnet (eip155:8453), Coinbase CDP facilitator, $0.01 per call, listed in the x402 Bazaar (route /v1/risk/:chainId/:address). Buyers need USDC on Base and no ETH. The facilitator rejects payments where the payer equals payTo (self_send_not_allowed).

License

MIT, Copyright (c) 2026 Magneta Finance. See LICENSE.

PopNxに聞く