← Back to Skills Marketplace
justinxai

ABI-to-MCP: The Web3 Skill Architect

by JustinX · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
67
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install abi-to-mcp-generator
Description
Interact with Erc20 smart contract via read/write functions
README (SKILL.md)

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

Constraint Requirement
RPC Provider Any Ethereum JSON-RPC endpoint
Private Key Must have contract permissions
Gas Limit Adjust based on function complexity
Network Must 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

Usage Guidance
This skill will ask the agent to use an RPC URL and a private key to send transactions. Before installing: 1) Treat PRIVATE_KEY as extremely sensitive — do not paste your main account private key into environment variables for third‑party skills. Prefer external signers (hardware wallets, MetaMask WalletConnect) or a dedicated burner account with minimal funds and privileges. 2) Ask the publisher to update metadata to declare required env vars and a primary credential so you can see the need up front. 3) Confirm what write operations the skill will perform (mint/burn require privileged roles on the contract). 4) If you must test, use a testnet or a throwaway account and set low allowances/limits. 5) If you cannot verify the source (no homepage, unknown owner), avoid providing real private keys or automatic signing consent. Additional information that would raise confidence: an explicit primaryEnv in metadata, source code or trustworthy repo link, and instructions to use an external signer rather than an env var PRIVATE_KEY.
Capability Analysis
Type: OpenClaw Skill Name: abi-to-mcp-generator Version: 1.0.0 The bundle contains standard metadata and a markdown definition (SKILL.md) for an ERC20 smart contract interaction interface. It describes common blockchain operations such as transfers and balance checks, and while it requires a private key for write operations, this is a standard requirement for the stated purpose. No malicious logic, data exfiltration, or prompt injection attempts were identified.
Capability Tags
cryptorequires-walletrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The skill claims to interact with ERC‑20 contracts and the SKILL.md describes read/write functions (including transfer, approve, mint, burn). Those capabilities legitimately require an RPC endpoint, contract address, and a signing key. However, the registry metadata declares no required environment variables or primary credential, creating an inconsistency between what the skill says it needs at runtime and what the package requests in metadata.
Instruction Scope
SKILL.md explicitly instructs the runtime to use RPC_URL, PRIVATE_KEY, and CONTRACT_ADDRESS and to execute write transactions that consume gas. The instructions remain within the stated purpose (blockchain reads/writes) but they direct the agent to handle a private key and perform state-changing operations — actions that can transfer funds or change token supply. The file does not specify safe signing practices (e.g., using an external signer) or limit the agent's discretion, which increases risk.
Install Mechanism
This is an instruction-only skill with no install spec and no code files. Nothing will be written to disk by an installer — low install risk. However, runtime behavior depends on the agent following the SKILL.md instructions.
Credentials
SKILL.md requires three sensitive values (RPC_URL, PRIVATE_KEY, CONTRACT_ADDRESS) but the skill metadata lists none and sets no primary credential. Requiring a PRIVATE_KEY is proportionate to performing write transactions, but not declaring it in metadata is an incoherence and a red flag. The PRIVATE_KEY is highly sensitive: exposing it allows full control of on‑chain assets for that account.
Persistence & Privilege
The skill does not request always:true and does not claim to modify other skills or system configuration. Default autonomous invocation is allowed (platform default) and should be considered in combination with the other concerns, but it is not by itself a misconfiguration here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install abi-to-mcp-generator
  3. After installation, invoke the skill by name or use /abi-to-mcp-generator
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of erc20-skill. - Enables interaction with ERC20 smart contracts for both read and write operations. - Supports essential read functions: name, symbol, decimals, totalSupply, balanceOf, allowance. - Implements core write functions: transfer, approve, transferFrom, mint, burn. - Provides workflow and environment setup instructions. - Lists key constraints for proper operation. - Includes event descriptions for Transfer and Approval.
Metadata
Slug abi-to-mcp-generator
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is ABI-to-MCP: The Web3 Skill Architect?

Interact with Erc20 smart contract via read/write functions. It is an AI Agent Skill for Claude Code / OpenClaw, with 67 downloads so far.

How do I install ABI-to-MCP: The Web3 Skill Architect?

Run "/install abi-to-mcp-generator" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ABI-to-MCP: The Web3 Skill Architect free?

Yes, ABI-to-MCP: The Web3 Skill Architect is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does ABI-to-MCP: The Web3 Skill Architect support?

ABI-to-MCP: The Web3 Skill Architect is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ABI-to-MCP: The Web3 Skill Architect?

It is built and maintained by JustinX (@justinxai); the current version is v1.0.0.

💬 Comments