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개