token-minter-mcp - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Token Minter MCP

An MCP server providing tools for AI agents to mint ERC-20 tokens, supporting 21 blockchains.

License Node.js Status

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 IDNetwork NameNative Token
1EthereumETH
137PolygonPOL
56BSCBNB
42161ArbitrumETH
10OptimismETH
59144LineaETH
8453BaseETH
81457BlastETH
11297108109PalmPALM
43114AvalancheAVAX
42220CeloCELO
324zkSyncETH
5000MantleMNT
204opBNBBNB
534352ScrollETH
1923SwellchainETH
130UnichainETH
23448594291968334StarknetETH
80094BerachainBERA
999HyperliquidHYPE
146SonicS
1337LocalhostETH

License

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

Featured Templates

View More
AI Characters
Sarcastic AI Chat Bot
127 1234
Customer service
Multi-language AI Translator
135 533
Customer service
Service ERP
125 640
AI Characters
Your Speaking Avatar
163 575

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.