MCP Connector

Manage ERC20 Token Approvals Across EVM Networks

MCP server that fetches ERC-20 token approvals and revokes allowances across 50+ EVM chains, showing USD value at risk and transaction status.

Works with githubmoralis

91
Spark score
out of 100
Updated Mar 2025
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Secure your digital assets by managing ERC20 token approvals across over 50 EVM-compatible networks. This asset allows you to view all token approvals for a wallet, revoke unnecessary permissions, and monitor transaction statuses.

Outcomes

What it gets done

01

View all ERC20 token approvals for a given wallet, including token details, balances, and potential USD value at risk.

02

Revoke specific ERC20 token approvals by submitting transactions to the blockchain.

03

Check the status of submitted token revocation transactions.

04

Supports over 50 EVM-compatible networks, including mainnets and testnets.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-token-revoke-mcp | bash

Capabilities

Tools your agent gets

get_token_approvals

Extract all ERC20 token approvals for a wallet on a specified network with token details and USD value at risk.

revoke_token_approval

Send a transaction to revoke ERC20 token approval for a specific spender on a given network.

check_transaction_status

Verify the success or failure status of a submitted token revocation transaction using its hash.

Overview

token-revoke-mcp MCP Server

An MCP server for managing ERC-20 token allowances When you need to audit which contracts can spend your tokens and revoke risky approvals

What it does

Big job: Secure your crypto wallet by auditing and controlling which smart contracts can spend your tokens.

Small job: Query all ERC-20 token approvals for a wallet address, revoke specific allowances by submitting on-chain transactions, and verify transaction success-all through natural language prompts to your AI assistant.

Install and configure:

git clone https://github.com/kukapay/token-revoke-mcp.git
cd token-revoke-mcp
npm install

Then add to your MCP client config:

{
  "mcpServers": {
    "token-revoke-mcp": {
      "command": "node",
      "args": ["path/to/token-revoke-mcp/index.js"],
      "env": {
        "MORALIS_API_KEY": "your moralis api key",
        "PRIVATE_KEY": "your wallet private key"
      }
    }
  }
}

Requires Node.js 18+, a Moralis API key, and an Ethereum-compatible private key. Supports over 50 EVM-compatible chains including Ethereum, Polygon, BSC, and their testnets such as Goerli and Mumbai.

Source README

Token Revoke MCP

An MCP server for checking and revoking ERC-20 token allowances, enhancing security and control.

License
Node.js
Status

Features

  • Fetch Token Approvals: Retrieve all ERC20 token approvals for a wallet on a specified chain, including token details, balances, and USD values at risk.
  • Revoke Allowances: Submit transactions to revoke ERC20 token allowances for specific spenders.
  • Check Transaction Status: Verify the success or failure of submitted transactions using transaction hashes.
  • Multi-Chain Support: Supports over 50 EVM-compatible chains, including mainnets (e.g., Ethereum, Polygon, BSC) and testnets (e.g., Goerli, Mumbai).

Prerequisites

  • Node.js: Version 18 or higher (for native fetch support).
  • Moralis API Key: Required for fetching token approval data.
  • Private Key: An Ethereum-compatible private key for signing revocation transactions.

Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/token-revoke-mcp.git
    cd token-revoke-mcp
    
  2. Install Dependencies:

    npm install
    
  3. Client Configuration:

    {
      "mcpServers": {
        "token-revoke-mcp": {
          "command": "node",
          "args": ["path/to/token-revoke-mcp/index.js"],
          "env": {
            "MORALIS_API_KEY": "your moralis api key",
            "PRIVATE_KEY": "your wallet private key"
          }
        }
      }
    }   
    

Usage

Below are examples of how you might interact with the server using natural language prompts as input. The outputs are the raw text values from the content array returned by the server, assuming a client translates the prompts into tool calls.

Example 1: Fetch Token Approvals

Input Prompt:

"Show me all the token approvals for my wallet on Polygon."

Output Response:

[
  {
    "tokenAddress": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
    "tokenSymbol": "USDC",
    "balance": "100.5",
    "usdPrice": "1.00",
    "usdValueAtRisk": "50.25",
    "spenderAddress": "0x1111111254eeb25477b68fb85ed929f73a960582",
    "approvedAmount": "1000.0",
    "transactionHash": "0xabc...",
    "timestamp": "2023-10-01T12:00:00Z"
  }
]

Example 2: Revoke an Allowance

Input Prompt:

"Revoke the allowance for token 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 to spender 0x1111111254eeb25477b68fb85ed929f73a960582 on BSC."

Output Response:

Allowance revocation submitted on bsc. Transaction hash: 0x123.... Note: Transaction is not yet confirmed.

Example 3: Check Transaction Status

Input Prompt:

"Did my transaction 0x123... on BSC go through?"

Output Response (possible outputs):

  • Pending:
    Transaction 0x123... on bsc is still pending or not found.
    
  • Success:
    Transaction 0x123... on bsc has completed with status: successful. Block number: 12345.
    
  • Failure:
    Transaction 0x123... on bsc has completed with status: failed. Block number: 12345.
    

Supported Chains

The server supports a wide range of EVM-compatible chains based on the Moralis JS SDK’s chaindata.ts. Examples include:

  • Mainnets: ethereum, polygon, bsc, avalanche, fantom, arbitrum, optimism, etc.
  • Testnets: goerli, mumbai, bsc testnet, arbitrum goerli, optimism sepolia, etc.
  • Full list: See SUPPORTED_CHAINS in server.js.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.