@b20labs/mcp
v0.0.4
Published
b20-operator — an MCP server to inspect and simulate B20 tokens (Base's native token standard) in natural language. Read + simulate, powered by @b20labs/sdk.
Downloads
108
Maintainers
Readme
@b20labs/mcp — b20-operator
An MCP server that lets any AI assistant (Claude, Cursor, ChatGPT, …) inspect and simulate B20 — Base's native token standard — in natural language. Read + simulate only: it never signs a transaction or moves funds.
Powered by @b20labs/sdk — the same golden-vector-tested encoders.
Tools
| Tool | What it does |
|---|---|
| derive_b20_address | Zero-RPC: the address a B20 will get from (variant, deployer, salt) |
| identify_b20 | Zero-RPC: is an address a B20, and which variant |
| inspect_b20 | On-chain: name, symbol, decimals, supply, variant |
| check_activation | Is a variant activated on Base (the only correct write-gate) |
| simulate_create_b20 | Dry-run a deploy via eth_call → "would succeed" or the exact decoded revert (incl. failing initCall index). No signature, no gas. |
| decode_b20_error | Turn raw revert bytes into a typed error + human message |
Use it
Add to your Claude Desktop / Cursor MCP config:
{
"mcpServers": {
"b20-operator": {
"command": "npx",
"args": ["-y", "@b20labs/mcp"],
"env": { "B20_RPC": "https://mainnet.base.org" }
}
}
}Then ask, e.g. "simulate deploying a rug-proof ASSET token called Doge Base, ticker DOGEB, 1B supply, from 0x… — will it work?"
Environment
| Var | Default | Purpose |
|---|---|---|
| B20_RPC (alias B20_RPC_URL) | https://mainnet.base.org | RPC endpoint for the on-chain tools. Use a managed Base RPC (Alchemy/QuickNode) — the public endpoint rate-limits under bursts. |
| B20_CHAIN | base (mainnet, 8453) | Set to sepolia (84532) to point at Base Sepolia. Must match your B20_RPC network, or the client assumes mainnet. |
Notes
simulate_create_b20takes an optionalsalt(32-byte0x…). Omit it and a random salt is used; the returned address is derived from that salt — reuse the same salt when you sign the real deploy, or the on-chain address will differ.- STABLECOIN decimals are fixed at 6 and
currencyapplies to STABLECOIN only — the simulator honors this and tells you when an input was ignored rather than silently dropping it. - Every "write" is a read-only
eth_call. The server never holds a key or broadcasts a transaction.
Built by B20 Labs · b20labs.app · @b20lab
