mintchain-mcp
v0.1.0
Published
MCP server for one-click ERC20 token issuance and blockchain integration.
Maintainers
Readme
MintChain MCP Token Service
MintChain MCP is a Model Context Protocol (MCP) server that gives AI agents and developers a one-click way to deploy ERC20-compatible tokens, inspect token metadata, and keep track of deployments. The project ships with both stdio and HTTP entry points so you can integrate it into desktop MCP clients or host it as a shared service.
Features
- 🚀 One-click ERC20 deployment – Deploy customizable tokens (name, symbol, decimals, initial supply, recipient) with a single MCP tool call.
- 🧪 Dry-run gas estimation – Estimate deployment gas usage before broadcasting a transaction.
- 🔍 On-chain inspection – Fetch token metadata (name, symbol, decimals, total supply, owner) for any deployed contract.
- 📚 Deployment registry – Persist a local catalog of tokens deployed through the service for quick reference.
- 🌐 Dual transport – Use stdio for local MCP clients or launch the HTTP server for remote integrations.
Getting Started
1. Install dependencies
npm install2. Configure environment
Create a .env file (or export variables) with the credentials for the EVM network you plan to target:
MINTCHAIN_RPC_URL=https://your-evm-endpoint.example
MINTCHAIN_PRIVATE_KEY=0xabcdef... # Account with deploy permissions
MINTCHAIN_CHAIN_ID=1 # Optional, inferred if omitted
MINTCHAIN_DEFAULT_DECIMALS=18 # Optional, defaults to 18
MINTCHAIN_EXPLORER=https://etherscan.io # Optional, used to build explorer links
MINTCHAIN_DATA_DIR=./.mintchain # Optional, registry storage location⚠️ Never commit private keys. Use dedicated deployer accounts with limited funds and permissions.
3. Build the project
npm run build4. Run the MCP server
Stdio mode (ideal for local MCP clients)
npm run start:stdioConfigure your MCP-compatible client to launch the compiled binary via npx -y mintchain-mcp or node build/index.js.
HTTP mode (ideal for remote agents)
npm run start:httpThe server listens on PORT (defaults to 8080) and exposes:
GET /health– basic liveness & tool list.GET /mcp/tools– discover available tools.POST /mcp/tools/:name– execute a tool with{"arguments": { ... }}payloads.
Available Tools
| Tool | Description | Key arguments |
|------|-------------|---------------|
| deploy_token | Deploy a new ERC20-compatible token with optional dry run. | name, symbol, initialSupply, decimals?, recipient?, dryRun? |
| get_token_info | Inspect name, symbol, decimals, total supply, and owner. | address |
| list_deployed_tokens | Show tokens deployed through this MCP instance. | (none) |
Example deploy_token payload
{
"name": "MintChain Credit",
"symbol": "MINT",
"initialSupply": "1000000",
"decimals": 18,
"recipient": "0xYourRecipientAddress",
"dryRun": false
}Development Tips
- Use
npm run dev:stdioornpm run dev:httpfor hot-reload workflows (requirestsx). - Deployed token metadata is stored under
MINTCHAIN_DATA_DIR(default:./.mintchain/deployedTokens.json). - The bundled Solidity contract is a lightweight ERC20 implementation with owner-controlled mint/burn and configurable decimals.
- For dry-run estimation only, set
dryRun: trueto avoid broadcasting a transaction while still seeing the expected gas usage.
License
Apache 2.0 © MintChain Labs.
