Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

ABI-to-MCP: The Web3 Skill Architect

v1.0.0

Interact with Erc20 smart contract via read/write functions

0· 68· 1 versions· 0 current· 0 all-time· Updated 2w ago· MIT-0
byJustinX@justinxai

Workflow

  1. Setup: Configure environment variables RPC_URL, PRIVATE_KEY, CONTRACT_ADDRESS
  2. Read: Use read functions (view/pure) to query contract state
  3. Write: Use write functions to modify contract state (requires gas)

Constraints

ConstraintRequirement
RPC ProviderAny Ethereum JSON-RPC endpoint
Private KeyMust have contract permissions
Gas LimitAdjust based on function complexity
NetworkMust match contract deployment

Read Functions

name

name()

Returns: string

Example:

const result = await name({  });

symbol

symbol()

Returns: string

Example:

const result = await symbol({  });

decimals

decimals()

Returns: uint8

Example:

const result = await decimals({  });

totalSupply

totalSupply()

Returns: uint256

Example:

const result = await totalSupply({  });

balanceOf

balanceOf(address account)

Returns: uint256

Parameters:

| account | address |

Example:

const result = await balanceOf({ account: "0x... });

allowance

allowance(address owner, address spender)

Returns: uint256

Parameters:

| owner | address | | spender | address |

Example:

const result = await allowance({ owner: "0x..., spender: "0x... });

Write Functions

transfer

transfer(address to, uint256 amount)

Mutability: nonpayable

Parameters:

| to | address | | amount | uint256 |

Example:

const tx = await transfer({ to: value, amount: value });

approve

approve(address spender, uint256 amount)

Mutability: nonpayable

Parameters:

| spender | address | | amount | uint256 |

Example:

const tx = await approve({ spender: value, amount: value });

transferFrom

transferFrom(address from, address to, uint256 amount)

Mutability: nonpayable

Parameters:

| from | address | | to | address | | amount | uint256 |

Example:

const tx = await transferFrom({ from: value, to: value, amount: value });

mint

mint(address to, uint256 amount)

Mutability: nonpayable

Parameters:

| to | address | | amount | uint256 |

Example:

const tx = await mint({ to: value, amount: value });

burn

burn(uint256 amount)

Mutability: nonpayable

Parameters:

| amount | uint256 |

Example:

const tx = await burn({ amount: value });

Events

Transfer

Signature: Transfer([indexed] address from, [indexed] address to, uint256 value)

Approval

Signature: Approval([indexed] address owner, [indexed] address spender, uint256 value)

Built with ❤️ by JustinXai ABI-to-MCP. Get the generator: https://github.com/JustinXai/abi-to-mcp

Version tags

agentvk9791z73a38fgfchhn2sse3tq584wd5fcursorvk9791z73a38fgfchhn2sse3tq584wd5fdehydrationvk9791z73a38fgfchhn2sse3tq584wd5flatestvk9791z73a38fgfchhn2sse3tq584wd5fmcpvk9791z73a38fgfchhn2sse3tq584wd5fweb3vk9791z73a38fgfchhn2sse3tq584wd5f