B20 MCP
Connect Claude, or any MCP-compatible AI, to B20 tokens on Base. Deploy tokens, mint supply, send payments — all from natural language.
https://www.deployb20.xyz/api/mcpWhat can it do?
Claude Code / Claude Desktop
Best experience — Claude can deploy and send transactions using Base MCP wallet.
Add B20 MCP
claude mcp add b20 --transport http https://www.deployb20.xyz/api/mcpAdd Base MCP (for sending transactions)
claude mcp add base-mcp --transport http https://mcp.base.orgStart chatting
Deploy a B20 ASSET token called GameCoin (symbol GC, 18 decimals)
on Base Sepolia. My wallet is 0x4b2f...74A6bDeploy a B20 STABLECOIN called MyDollar (symbol MUSD, currency USD)
on Base Sepolia. My wallet is 0x4b2f...74A6bMint 1000 GC tokens to 0xRecipient... on Base SepoliaSend 50 GC to 0xShop... with memo "order-42"Read token info for 0xTokenAddress on Base Sepolia.
Also check if 0xMyWallet has MINT_ROLE.Claude Web (claude.ai)
Works for reading token info and encoding calldata. Transaction sending requires a wallet connector.
Go to connector settings
Paste the server URL
https://www.deployb20.xyz/api/mcpTry it
Check if B20 is activated on Base MainnetRead token info for 0xTokenAddress on Base SepoliaOther AI agents (API)
Any app that supports MCP over HTTP can connect to this server.
MCP JSON-RPC — list tools
curl -X POST https://www.deployb20.xyz/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'Call a tool — encode an ASSET deploy
curl -X POST https://www.deployb20.xyz/api/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 2,
"params": {
"name": "b20_encode_deploy",
"arguments": {
"name": "GameCoin",
"symbol": "GC",
"variant": "ASSET",
"decimals": 18,
"initialAdmin": "0xYourWallet",
"chainId": 84532,
"grantMintRole": true,
"supplyCap": "1000000"
}
}
}'Returns {to, data, value, fee_eth} — pass to your wallet to send. Use variant: "STABLECOIN" with currency: "USD" instead of decimals for a stablecoin.
How it works
The B20 MCP server is a calldata builder — it encodes your intent into blockchain transactions but never holds a private key.
Your AI (e.g. Claude + Base MCP) takes the encoded calldata and signs/sends the transaction using your own wallet. You stay in full control.
Tools reference
| Tool | What it does | Wallet needed? |
|---|---|---|
| b20_encode_deploy | Encode ASSET or STABLECOIN deployment. Optional: grantMintRole (default true), supplyCap. Routes through platform deployer when configured (fee applies). | ✅ Yes |
| b20_encode_mint | Encode mint call. Checks B20 activation first — returns a clear error if not yet active on the chain. | ✅ Yes |
| b20_encode_payment | Encode transferWithMemo. memo is optional (max 32 bytes) — omit for a plain transfer. | ✅ Yes |
| b20_encode_grant_mint_role | Encode MINT_ROLE grant. Caller must hold DEFAULT_ADMIN_ROLE on the token. | ✅ Yes |
| b20_read_token | Read name, symbol, decimals, totalSupply, supplyCap, network. Pass checkMintRole address to also check if it holds MINT_ROLE. | ❌ No |
| b20_check_activation | Check if B20 ASSET and STABLECOIN are active on Base Mainnet or Sepolia. | ❌ No |
