presign-guard

Pre-sign, token and approval checks for agents: green/orange/red for signatures, tokens, wallets.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
99%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,216トークン数(ツール定義)
~2.2 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.73%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "presign-guard": {
      "url": "https://presign-guard.onrender.com/mcp"
    }
  }
}

リモートエンドポイント

https://presign-guard.onrender.com/mcpstreamable-http
https://presign-guard.fizzl.eu/mcpstreamable-http

できること

ツール一覧

ツール(7)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢presign_quick_check(type, chainId, token, spender, amount, ...)

Free: the green/orange/red verdict only, for a transaction, token approval or EIP-712 signature your agent is about to sign. Limited to 10 calls per hour. For the reason codes and details use presign_check ($0.01); for a plain-language explanation presign_check_explain ($0.03).

入力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "approval",
        "transaction",
        "signature"
      ],
      "description": "What the agent is about to sign"
    },
    "chainId": {
      "type": "integer",
      "description": "EVM chain id: 1, 10, 56, 137, 8453, 42161 (8453 = Base)"
    },
    "token": {
      "type": "string",
      "description": "approval: the token contract"
    },
    "spender": {
      "type": "string",
      "description": "approval: who gets the allowance"
    },
    "amount": {
      "type": "string",
      "description": "approval: amount in base units (0 = revoke)"
    },
    "to": {
      "type": "string",
      "description": "transaction: the target contract"
    },
    "data": {
      "type": "string",
      "description": "transaction: 0x-prefixed calldata"
    },
    "value": {
      "type": "string",
      "description": "transaction: native value in wei"
    },
    "typedData": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": {}
        },
        {
          "type": "string"
        }
      ],
      "description": "signature: the exact eth_signTypedData_v4 payload (Permit, Permit2, EIP-3009 x402 payment, Seaport)"
    },
    "origin": {
      "type": "string",
      "description": "optional: the site asking for the signature or transaction (URL or hostname); a domain under 30 days old is orange"
    }
  },
  "required": [
    "type",
    "chainId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢token_quick_verdict(chain, address)

Free: the green/orange/red verdict and grade only, for a Solana or EVM token your agent is about to buy, hold or accept. Limited to 10 free calls per hour (shared with presign_quick_check). For the reasons, one-line summary and market data use token_verdict ($0.01).

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "solana",
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "Chain the token lives on"
    },
    "address": {
      "type": "string",
      "description": "Solana mint address (base58) or EVM token contract (0x...)"
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢presign_check(type, chainId, token, spender, amount, ...)

Paid ($0.01 USDC via x402 on Base): call this before you sign. Send the transaction, token approval or EIP-712 signature (Permit, Permit2, EIP-3009 x402 payment, Seaport) your agent is about to sign; get back green, orange or red with reason codes: who gets access, whether the spender or recipient is flagged, sanctioned (OFAC SDN) or unverified, unlimited allowances, and the token itself (honeypot, fake look-alike, high tax). Only proceed on green; on orange ask your user; never sign on red. Same as POST /v1/check. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.

入力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "approval",
        "transaction",
        "signature"
      ],
      "description": "What the agent is about to sign"
    },
    "chainId": {
      "type": "integer",
      "description": "EVM chain id: 1, 10, 56, 137, 8453, 42161 (8453 = Base)"
    },
    "token": {
      "type": "string",
      "description": "approval: the token contract"
    },
    "spender": {
      "type": "string",
      "description": "approval: who gets the allowance"
    },
    "amount": {
      "type": "string",
      "description": "approval: amount in base units (0 = revoke)"
    },
    "to": {
      "type": "string",
      "description": "transaction: the target contract"
    },
    "data": {
      "type": "string",
      "description": "transaction: 0x-prefixed calldata"
    },
    "value": {
      "type": "string",
      "description": "transaction: native value in wei"
    },
    "typedData": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": {}
        },
        {
          "type": "string"
        }
      ],
      "description": "signature: the exact eth_signTypedData_v4 payload (Permit, Permit2, EIP-3009 x402 payment, Seaport)"
    },
    "origin": {
      "type": "string",
      "description": "optional: the site asking for the signature or transaction (URL or hostname); a domain under 30 days old is orange"
    }
  },
  "required": [
    "type",
    "chainId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢presign_check_explain(type, chainId, token, spender, amount, ...)

Paid ($0.03 USDC via x402 on Base): the same verdict and reason codes as presign_check, plus a 3 to 5 sentence plain-language explanation a person can read before approving (lang en or nl). Same as POST /v1/check/explain. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.

入力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "approval",
        "transaction",
        "signature"
      ],
      "description": "What the agent is about to sign"
    },
    "chainId": {
      "type": "integer",
      "description": "EVM chain id: 1, 10, 56, 137, 8453, 42161 (8453 = Base)"
    },
    "token": {
      "type": "string",
      "description": "approval: the token contract"
    },
    "spender": {
      "type": "string",
      "description": "approval: who gets the allowance"
    },
    "amount": {
      "type": "string",
      "description": "approval: amount in base units (0 = revoke)"
    },
    "to": {
      "type": "string",
      "description": "transaction: the target contract"
    },
    "data": {
      "type": "string",
      "description": "transaction: 0x-prefixed calldata"
    },
    "value": {
      "type": "string",
      "description": "transaction: native value in wei"
    },
    "typedData": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": {}
        },
        {
          "type": "string"
        }
      ],
      "description": "signature: the exact eth_signTypedData_v4 payload (Permit, Permit2, EIP-3009 x402 payment, Seaport)"
    },
    "origin": {
      "type": "string",
      "description": "optional: the site asking for the signature or transaction (URL or hostname); a domain under 30 days old is orange"
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "nl"
      ],
      "description": "Language of the explanation (default en)"
    }
  },
  "required": [
    "type",
    "chainId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢token_verdict(chain, address)

Paid ($0.01 USDC via x402 on Base or Solana): call this before your agent buys, holds or accepts a token. Send the chain (solana, base, ethereum, arbitrum, optimism, polygon, bsc) and the token address or mint; get back green/orange/red, a grade (SAFE, CAUTION, RISKY, AVOID), reason codes (mint or freeze authority still active, honeypot, tax or transfer fee, LP not locked, low liquidity, new token, concentrated holders, rugged), a one-line summary, and market data (price, liquidity, market cap, 24h volume, age). Same as GET /v1/token. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "solana",
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "Chain the token lives on"
    },
    "address": {
      "type": "string",
      "description": "Solana mint address (base58) or EVM token contract (0x...)"
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢wallet_approvals(chain, address)

Paid ($0.02 USDC via x402 on Base or Solana): audit the open token approvals of an EVM wallet (base, ethereum, arbitrum, optimism, polygon, bsc), for example your agent's own wallet as a periodic check. Get back green/orange/red, a grade, a one-line summary and every ERC-20 allowance with its spender: flagged malicious (red), a plain wallet, on a doubt list, an unverified contract or an unlimited allowance to a spender not on the GoPlus trust list (orange), plus which ones to revoke and a revoke.cash link. NFT approvals are not covered. Same as GET /v1/approvals. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "EVM chain to audit"
    },
    "address": {
      "type": "string",
      "description": "Wallet address (0x...)"
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪feedback(type, message, endpoint, contact)

Report a bug, a missing feature or anything else about this service, in a structured way. Free. A person reads every report; nothing is run or changed automatically.

入力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "bug",
        "feature",
        "other"
      ],
      "description": "bug, feature (something missing) or other"
    },
    "message": {
      "type": "string",
      "description": "What happened or what you need"
    },
    "endpoint": {
      "type": "string",
      "description": "Optional: the route or tool it is about, e.g. /v1/token"
    },
    "contact": {
      "type": "string",
      "description": "Optional: how to reach you about it"
    }
  },
  "required": [
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件
検証済みバージョンは記録されていませんツール 6 件