Token Revoke MCP

Token Revoke MCP

By kukapay GitHub

An MCP server for checking and revoking ERC-20 token allowances across multiple blockchains.

Overview

What is Token Revoke MCP?

Token Revoke MCP is a server designed to check and revoke ERC-20 token allowances across multiple blockchains, enhancing security and control over token permissions.

How to use Token Revoke MCP?

To use Token Revoke MCP, clone the repository, install the dependencies, and configure the client with your Moralis API key and Ethereum-compatible private key. You can then interact with the server using natural language prompts to fetch token approvals, revoke allowances, and check transaction statuses.

Key features of Token Revoke MCP?

  • 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 and testnets.

Use cases of Token Revoke MCP?

  1. Managing token allowances for enhanced security.
  2. Revoking permissions for compromised wallets.
  3. Monitoring token approvals across multiple blockchains.

FAQ from Token Revoke MCP?

  • Can I use Token Revoke MCP on any blockchain?

Yes! It supports over 50 EVM-compatible chains.

  • Do I need a private key to use this project?

Yes, a private key is required for signing revocation transactions.

  • Is Token Revoke MCP free to use?

Yes! The project is open-source and free to use.

Content

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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

No tools information available.
No content found.