Deploy and Manage ERC-20 Tokens Across 21 Blockchains
MCP server for AI agents to deploy and transfer ERC-20 tokens across 21 EVM blockchains via a signing private key.
Why it matters
Automate the creation and management of ERC-20 tokens on a wide range of blockchains. This asset enables seamless deployment, transfer, and querying of token information, simplifying complex multi-chain operations.
Outcomes
What it gets done
Deploy new ERC-20 tokens with custom parameters.
Transfer ERC-20 tokens between accounts.
Query token balances and transaction details.
Retrieve ERC-20 token metadata.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-token-minter-mcp | bash Capabilities
Tools your agent gets
Deploys a new ERC-20 token with customizable name, symbol, initial supply, decimals, and chain.
Transfers ERC-20 tokens to a specified address on a given blockchain.
Retrieves transaction details by hash on a specified blockchain.
Queries the balance of a specific ERC-20 token for the current account.
Queries ERC-20 token metadata including name, symbol, and total supply.
Checks the native token balance of the current account on a specified chain.
Overview
token-minter-mcp MCP Server
An MCP server letting AI agents deploy and transfer ERC-20 tokens, check balances, and look up transactions across 21 EVM blockchains. Use to deploy or transfer ERC-20 tokens via natural language. Requires a raw private key to sign transactions - scope it to a dedicated wallet and test on chainId 1337 (Hardhat) before targeting mainnet.
What it does
Token Minter MCP gives AI agents tools to deploy and manage ERC-20 tokens across 21 blockchains. deployToken creates a new ERC-20 token with configurable name, symbol, initial supply, decimals, and target chain. transferToken sends ERC-20 tokens to a recipient address (returns a transaction hash without waiting for confirmation). getTransactionInfo retrieves details for a transaction by hash. getTokenBalance and getTokenInfo query a specific ERC-20 token's balance and metadata (name, symbol, decimals, total supply). getBalance checks the native token balance of the configured account. A tokenMetadata resource exposes token metadata via token://{chainId}/{address}, and a deployTokenGuide prompt walks through the parameters needed to deploy on a given chain.
{
"mcpServers": {
"Token-Minter-MCP": {
"command": "node",
"args": ["path/to/token-minter-mcp/server/index.js"],
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
}
}
}
}
Supported networks span 21 chains via chainId, including Ethereum, Polygon, BSC, Arbitrum, Optimism, Base, Avalanche, zkSync, Scroll, Starknet, and a local Hardhat network (chainId 1337) for testing. A worked example: asking to deploy "RewardToken" (symbol RWD, 5M initial supply, 6 decimals) on Arbitrum returns a transaction hash and a note to check status via getTransactionInfo; deployment and transfer confirmations are asynchronous.
When to use - and when NOT to
Use this connector when you want an AI agent to deploy new ERC-20 tokens or transfer existing ones on real or test EVM chains, check balances, or look up transaction and token details, driven by natural-language requests.
This server requires a raw Ethereum private key configured as an environment variable to sign transactions - deployToken and transferToken move real value and deploy real contracts on whatever chain is targeted, with no built-in confirmation step, so the private key should be scoped to a dedicated wallet with only the funds intended for this use, and transactions should be reviewed before requesting them on mainnet. Use chainId 1337 against a local Hardhat node for safe testing before targeting a live chain.
Capabilities
deployToken: deploy a new ERC-20 token with custom name/symbol/supply/decimals on a chosen chain. transferToken: send ERC-20 tokens to an address. getTransactionInfo: look up transaction status and details by hash. getTokenBalance / getTokenInfo: query a token's balance and metadata. getBalance: check native token balance. deployTokenGuide prompt: interactive deployment parameter guidance.
How to install
Requires Node.js 18+, an Infura API key for EVM network access, and an Ethereum private key for signing. Clone the repository, cd token-minter-mcp/server, run npm install, and configure INFURA_KEY and PRIVATE_KEY as environment variables in the MCP server config. For local testing, run npx hardhat node and use chainId 1337 instead of a live network.
Who it's for
Web3 developers and teams who want an AI agent to deploy and manage ERC-20 tokens across multiple EVM chains, with care taken around private-key handling and mainnet transaction review.
Source README
Token Minter MCP
An MCP server providing tools for AI agents to mint ERC-20 tokens, supporting 21 blockchains.
Features
- Deploy new ERC-20 tokens with customizable parameters.
- Query token metadata (name, symbol, decimals, total supply).
- Initiate token transfers (returns transaction hash without confirmation).
- Retrieve transaction details by hash.
- Check native token balance of the current account.
- Access token metadata via URI.
- Interactive prompt for deployment guidance.
Tools
- deployToken: Deploys a new ERC-20 token (name, symbol, initialSupply, decimals, chainId).
- transferToken: Transfers ERC-20 tokens (tokenAddress, toAddress, amount, chainId).
- getTransactionInfo: Retrieves transaction details (txHash, chainId).
- getTokenBalance: Queries the balance of a specific ERC-20 token for the current account.
- getTokenInfo: Queries ERC-20 token metadata (tokenAddress, chainId).
- getBalance: Checks native token balance (chainId).
Resources
- tokenMetadata: Exposes token metadata via
token://{chainId}/{address}.
Prompts
- deployTokenGuide: Guides token deployment with required parameters (chainId).
Prerequisites
- Node.js v18.x or higher
- npm (typically bundled with Node.js)
- A valid Infura API key for EVM network access
- An Ethereum private key for signing transactions
Installation
Clone the Repository:
git clone https://github.com/kukapay/token-minter-mcp.git cd token-minter-mcp/serverInstall Dependencies:
npm install
Configuration
{
"mcpServers": {
"Token-Minter-MCP": {
"command": "node",
"args": ["path/to/token-minter-mcp/server/index.js"],
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
}
}
}
}
Usage
Examples:
I want to create a new token called 'RewardToken' with the symbol 'RWD' on Arbitrum. It should have 5 million tokens in initial supply and use 6 decimal places.
Token deployment initiated on Arbitrum (chainId: 42161)! Name: RewardToken Symbol: RWD Decimals: 6 Initial Supply: 5000000 tokens Transaction Hash: 0xabc123... Note: Use 'getTransactionInfo' to check deployment status.Can you tell me how much POL I have in my wallet on the Polygon network?
Account Balance on Polygon (chainId: 137): Address: 0xYourAddressHere Balance: 25.3478 POLWhat’s the balance of my newly created token on Polygon?
Token Balance on Polygon (chainId: 137): Address: 0xYourAddressHere Token: 0xYourTokenAddressHere Symbol: ABCD Balance: 10000000.00 ABCDPlease transfer 150.75 USDC from my account to 0xRecipientAddressHere on Polygon."
Transfer initiated on Polygon (chainId: 137)! Token: 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 To: 0xRecipientAddressHere Amount: 150.75 (150.75 tokens) Transaction Hash: 0xdef456... Note: Use 'getTransactionInfo' to check transfer status.What’s the status of my token deployment transaction with hash 0xabc123... on Arbitrum?
Transaction Info on Arbitrum (chainId: 42161): Hash: 0xabc123... From: 0xYourAddressHere To: Contract Creation Value: 0 ETH Status: Success Deployed Contract Address: 0xNewTokenAddressHereGive me the details of the token at address 0xNewTokenAddressHere on Arbitrum.
Token Info on Arbitrum (chainId: 42161): Address: 0xNewTokenAddressHere Name: RewardToken Symbol: RWD Decimals: 6 Total Supply: 5000000How do I deploy a token on Polygon? What details do I need to provide?
To deploy a token on Polygon (chainId: 137), use the "deployToken" tool with these parameters: - name: The token's full name (e.g., "MyToken") - symbol: The token's ticker (e.g., "MTK") - initialSupply: Amount in token units (e.g., 1000000 for 1M tokens, default 1,000,000) - decimals: Optional number of decimals (default is 18) - chainId: Optional chain ID (default is 1 for Ethereum)Local Testing:
Intall dependencies:
cd token-minter-mcp npm installStart a local Hardhat node:
npx hardhat nodeUse chainId: 1337 in your prompts to test locally.
Supported Networks
| Chain ID | Network Name | Native Token |
|---|---|---|
| 1 | Ethereum | ETH |
| 137 | Polygon | POL |
| 56 | BSC | BNB |
| 42161 | Arbitrum | ETH |
| 10 | Optimism | ETH |
| 59144 | Linea | ETH |
| 8453 | Base | ETH |
| 81457 | Blast | ETH |
| 11297108109 | Palm | PALM |
| 43114 | Avalanche | AVAX |
| 42220 | Celo | CELO |
| 324 | zkSync | ETH |
| 5000 | Mantle | MNT |
| 204 | opBNB | BNB |
| 534352 | Scroll | ETH |
| 1923 | Swellchain | ETH |
| 130 | Unichain | ETH |
| 23448594291968334 | Starknet | ETH |
| 80094 | Berachain | BERA |
| 999 | Hyperliquid | HYPE |
| 146 | Sonic | S |
| 1337 | Localhost | ETH |
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.
