← WebMCP Directory

Tool tree

steward-zeta-ashen.vercel.app

Finance & CryptoTools verified
Website
Audit the token approvals your wallet has handed out, score what each one puts at risk, and stage revokes only you can sign.
Explore capabilities
    scan_approvalsAction

    Audit the live ERC-20 token approvals of any wallet address (0x… or ENS name) and score each one for risk. Live on-chain data, no wallet connection needed. Returns the worst approvals first and updates Steward's dashboard.

    View tool JSON
    {
      "name": "scan_approvals",
      "kind": "act",
      "impl": "imperative",
      "description": "Audit the live ERC-20 token approvals of any wallet address (0x… or ENS name) and score each one for risk. Live on-chain data, no wallet connection needed. Returns the worst approvals first and updates Steward's dashboard.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Wallet to audit: a 0x address or ENS name. Omit to use the address currently shown in Steward."
          },
          "chain": {
            "type": "string",
            "description": "Which chain to scan: \"Ethereum\" (default, full history) or \"Base\" (recent history)."
          }
        }
      }
    }
    explain_approvalAnswer

    Explain one approval in full: which contract can spend what, how much is at risk, how old it is, and every reason behind its risk score.

    View tool JSON
    {
      "name": "explain_approval",
      "kind": "answer",
      "impl": "imperative",
      "description": "Explain one approval in full: which contract can spend what, how much is at risk, how old it is, and every reason behind its risk score.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "approval_id": {
            "type": "string",
            "description": "The id from scan_approvals; the short form it prints (ethereum:0xabcd…ef12:0xabcd…ef12) is accepted as-is."
          }
        },
        "required": [
          "approval_id"
        ]
      }
    }
    stage_revokeAction

    Prepare a revocation for one approval and place it in Steward's review queue. This does NOT revoke anything: the user must review and sign it in their own wallet. Returns the staged action for confirmation.

    View tool JSON
    {
      "name": "stage_revoke",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare a revocation for one approval and place it in Steward's review queue. This does NOT revoke anything: the user must review and sign it in their own wallet. Returns the staged action for confirmation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "approval_id": {
            "type": "string",
            "description": "The id of the approval to revoke, exactly as printed by scan_approvals."
          }
        },
        "required": [
          "approval_id"
        ]
      }
    }
    assess_tokenAction

    Assess whether an ERC-20 token is safe to hold or exit: honeypot simulation, sell taxes, owner powers, contract verification, and real market liquidity, cross-checked across three independent sources. Pass the token CONTRACT address (scan_approvals ids embed it). Security signals, not financial advice.

    View tool JSON
    {
      "name": "assess_token",
      "kind": "act",
      "impl": "imperative",
      "description": "Assess whether an ERC-20 token is safe to hold or exit: honeypot simulation, sell taxes, owner powers, contract verification, and real market liquidity, cross-checked across three independent sources. Pass the token CONTRACT address (scan_approvals ids embed it). Security signals, not financial advice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The token's contract address (0x…)."
          },
          "chain": {
            "type": "string",
            "description": "\"Ethereum\" (default) or \"Base\"."
          }
        },
        "required": [
          "token"
        ]
      }
    }
    stage_transferAction

    Prepare a token or ETH transfer and place it in Steward's review queue. This does NOT send anything: the user must review and sign it in their own wallet. token is a contract address or "ETH"; amount is a decimal string; to is a 0x address or ENS name.

    View tool JSON
    {
      "name": "stage_transfer",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare a token or ETH transfer and place it in Steward's review queue. This does NOT send anything: the user must review and sign it in their own wallet. token is a contract address or \"ETH\"; amount is a decimal string; to is a 0x address or ENS name.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token contract address (0x…) or \"ETH\" for native ether."
          },
          "amount": {
            "type": "string",
            "description": "Human units, e.g. \"0.05\" or \"125.5\"."
          },
          "to": {
            "type": "string",
            "description": "Recipient: 0x address or ENS name."
          },
          "chain": {
            "type": "string",
            "description": "\"Ethereum\" (default) or \"Base\"."
          }
        },
        "required": [
          "token",
          "amount",
          "to"
        ]
      }
    }
    stage_swapAction

    Quote a token swap via the KyberSwap aggregator and stage it for the user to sign. Does NOT trade: the user must sign in their own wallet. The output token is risk-checked automatically; a high-risk token is refused unless the user has been told and acknowledge_risk is true. token_in/token_out are contract addresses or "ETH".

    View tool JSON
    {
      "name": "stage_swap",
      "kind": "act",
      "impl": "imperative",
      "description": "Quote a token swap via the KyberSwap aggregator and stage it for the user to sign. Does NOT trade: the user must sign in their own wallet. The output token is risk-checked automatically; a high-risk token is refused unless the user has been told and acknowledge_risk is true. token_in/token_out are contract addresses or \"ETH\".",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token_in": {
            "type": "string",
            "description": "\"ETH\" or the 0x… token to sell."
          },
          "token_out": {
            "type": "string",
            "description": "\"ETH\" or the 0x… token to buy."
          },
          "amount": {
            "type": "string",
            "description": "Amount of token_in in human units, e.g. \"0.001\"."
          },
          "chain": {
            "type": "string",
            "description": "\"Base\" (default) or \"Ethereum\"."
          },
          "acknowledge_risk": {
            "type": "boolean",
            "description": "Set true ONLY after telling the user the token was rated high-risk and they still want it staged."
          }
        },
        "required": [
          "token_in",
          "token_out",
          "amount"
        ]
      }
    }
    check_gasAnswer

    Read current network fees and report whether this is a cheap, typical, or elevated moment relative to the last few minutes, with the estimated cost of one revoke transaction.

    View tool JSON
    {
      "name": "check_gas",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read current network fees and report whether this is a cheap, typical, or elevated moment relative to the last few minutes, with the estimated cost of one revoke transaction.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "description": "\"Ethereum\" (default) or \"Base\"."
          }
        }
      }
    }
    discover_tokensAnswer

    List the top tokens by 24h trading volume on a chain (floors: >$250k liquidity, >$250k volume, >1,000 holders). Live market data. These are market facts, NOT endorsements: vet any candidate with assess_token before proposing it to the user.

    View tool JSON
    {
      "name": "discover_tokens",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the top tokens by 24h trading volume on a chain (floors: >$250k liquidity, >$250k volume, >1,000 holders). Live market data. These are market facts, NOT endorsements: vet any candidate with assess_token before proposing it to the user.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "description": "\"Base\" (default) or \"Ethereum\"."
          },
          "limit": {
            "type": "number",
            "description": "How many rows, 1-10. Default 8."
          }
        }
      }
    }