presign-guard

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
99%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,216Tokens (definiciones de herramientas)
~2.2 KBTamaño de respuesta típico
Impacto moderado en la atención (1.73% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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).

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas
verificadoversión no registrada6 herramientas