Token Minter
About
Enables AI assistants to deploy and manage ERC-20 tokens across multiple blockchain networks, providing tools for token creation, balance checking, and transfers using ethers.js and smart contracts.
Details
- Author
- kukapay
- Repository
- kukapay/token-minter-mcp
- GitHub stars
- 11
- Downloads
- 216
- License
- MIT License
- Categories
- Productivity, Developer Tools, Design, AI, Search, Frontend, Infrastructure, Knowledge Base, Other
Jump to
- 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.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Token MinterCommand (node, npx, python, etc.)nodeArguments-
Argument 1
path/to/token-minter-mcp/server/index.js
Environment-
INFURA_KEY
your infura key -
PRIVATE_KEY
your private key
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. 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 POL
> What’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 ABCD
> Please 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: 0xNewTokenAddressHere
> Give 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: 5000000
> How 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)
2. Local Testing:
Intall dependencies:
cd token-minter-mcp
npm install
Start a local Hardhat node:
npx hardhat node
Use chainId: 1337 in your prompts to test locally.
deployToken
Deploys a new ERC-20 token with specified parameters: name, symbol, initialSupply, decimals, and chainId.
transferToken
Transfers ERC-20 tokens from the current account to a specified address. Parameters: tokenAddress, toAddress, amount, chainId.
getTransactionInfo
Retrieves details of a transaction using its hash. Parameters: txHash, chainId.
getTokenBalance
Queries the balance of a specific ERC-20 token for the current account. Parameter: tokenAddress, chainId.
getTokenInfo
Queries metadata of an ERC-20 token using the token address. Parameters: tokenAddress, chainId.
getBalance
Checks the native token balance of the current account on a specified blockchain. Parameter: chainId.
- 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).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"token minter": {
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
},
"args": [
"path/to/token-minter-mcp/server/index.js"
],
"command": "node"
}
}
}
Linux
{
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
},
"args": [
"path/to/token-minter-mcp/server/index.js"
],
"command": "node"
}
Macos
{
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
},
"args": [
"path/to/token-minter-mcp/server/index.js"
],
"command": "node"
}
Windows
{
"env": {
"INFURA_KEY": "your infura key",
"PRIVATE_KEY": "your private key"
},
"args": [
"/c",
"node",
"path/to/token-minter-mcp/server/index.js"
],
"command": "cmd"
}
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
1. Clone the Repository:
git clone https://github.com/kukapay/token-minter-mcp.git
cd token-minter-mcp/server
2. Install 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
1. 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 POL
> What’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 ABCD
> Please 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: 0xNewTokenAddressHere
> Give 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: 5000000
> How 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)
2. Local Testing:
Intall dependencies:
cd token-minter-mcp
npm install
Start a local Hardhat node:
npx hardhat node
Use 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 |
License
This project is licensed under the MIT License. See the LICENSE file for details.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





