presign-guard

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
99%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,216Tokens (Tool-Definitionen)
~2.2 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.73% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools
verifiziertVersion nicht aufgezeichnet6 Tools