Skip to main content
Glama
Blockchain MCP Server

Blockchain MCP Server

by lienhage

Blockchain MCP Server

A Model Context Protocol (MCP) based blockchain tools server providing Ethereum vanity address generation and Cast command functionality.

Features

1. Ethereum Vanity Address Generation

  • 🎯 Support for specifying address prefix and suffix

  • ⚡ Multi-threaded concurrent computation for optimized performance

  • 📊 Real-time generation statistics display

  • ✅ Address validity verification

2. Cast Command Tools

  • 🔍 4byte: Get function signatures from function selectors

  • 🔧 4byte-decode: Decode ABI-encoded calldata

  • 📦 abi-encode: ABI encode function parameters

  • 🔄 abi-decode: ABI decode data

3. RPC Service

  • 📞 static-call: Make static calls on any EVM-compatible chain (read-only)

  • 💸 send-transaction: Send transactions to smart contracts (requires private key)

  • 💰 get-balance: Query address balance

  • 🔗 list-chains: List supported chains

Related MCP server: EVM MCP Server

Installation and Usage

Install Dependencies

npm install

Build Project

npm run build

Run Server

npm start

Development Mode

npm run dev

Tool Usage Guide

Vanity Address Generation

generate-vanity-address

Generate Ethereum addresses matching specified conditions

Parameters:

  • prefix (optional): Address prefix, excluding 0x

  • suffix (optional): Address suffix

  • workers (optional): Number of concurrent threads, default 4, max 16

  • caseSensitive (optional): Whether case-sensitive, default false

Example:

{
  "prefix": "1234",
  "suffix": "abcd",
  "workers": 8,
  "caseSensitive": false
}

validate-ethereum-address

Validate Ethereum address validity

Parameters:

  • address: Ethereum address to validate

Cast Command Tools

4byte

Get function signatures for the given selector

Parameters:

  • selector: 4-byte function selector (hexadecimal)

Example:

{
  "selector": "0xa9059cbb"
}

4byte-decode

Decode ABI-encoded calldata

Parameters:

  • calldata: ABI-encoded calldata (hexadecimal)

Example:

{
  "calldata": "0xa9059cbb000000000000000000000000..."
}

abi-encode

ABI encode function parameters

Parameters:

  • types: Parameter types array

  • values: Parameter values array

Example:

{
  "types": ["uint256", "address", "bool"],
  "values": [1000, "0x1234567890123456789012345678901234567890", true]
}

abi-encode-with-signature

Complete function call ABI encoding (with function selector)

Parameters:

  • functionSignature: Function signature

  • values: Parameter values array

Example:

{
  "functionSignature": "transfer(address,uint256)",
  "values": ["0x1234567890123456789012345678901234567890", 1000]
}

abi-decode

Decode ABI-encoded data

Parameters:

  • types: Parameter types array

  • data: Hexadecimal data to decode

Example:

{
  "types": ["uint256", "address"],
  "data": "0x00000000000000000000000000000000000000000000000000000000000003e8"
}

RPC Service Tools

list-chains

List all supported EVM-compatible chains

Parameters: None

get-balance

Query address balance on specified chain

Parameters:

  • chain: Chain identifier (e.g., "ethereum", "polygon", "bsc")

  • address: Address to query

  • blockTag (optional): Block tag, default "latest"

Example:

{
  "chain": "ethereum",
  "address": "0x1234567890123456789012345678901234567890"
}

static-call

Make static calls to smart contracts (read-only operations)

Parameters:

  • chain: Chain identifier

  • to: Contract address

  • data: ABI-encoded function call data

  • blockTag (optional): Block tag, default "latest"

Example:

{
  "chain": "ethereum",
  "to": "0xA0b86a33E6441068C73f4Ea6cB24b80b52bF97F4",
  "data": "0x70a08231000000000000000000000000123456789012345678901234567890123456789"
}

send-transaction

Send transactions to smart contracts (requires private key)

Parameters:

  • chain: Chain identifier

  • to: Contract address

  • data: ABI-encoded function call data

  • value (optional): ETH amount to send (wei)

  • gasLimit (optional): Gas limit

  • gasPrice (optional): Gas price (wei)

  • privateKey: Sender's private key

Example:

{
  "chain": "sepolia",
  "to": "0x1234567890123456789012345678901234567890",
  "data": "0xa9059cbb000000000000000000000000...",
  "value": "0",
  "privateKey": "0x..."
}

Performance Optimization

Vanity Address Generation Performance Tips

  • Shorter prefixes generate faster

  • Suffixes are slightly easier than prefixes

  • Recommended to use 4-8 worker threads for optimal performance

  • Avoid specifying both long prefix and long suffix simultaneously

Expected Generation Time

  • 4 hex characters: seconds to minutes

  • 5 hex characters: minutes to tens of minutes

  • 6 hex characters: hours

  • 7+ characters: may take very long time

Supported Blockchain Networks

Mainnet

  • Ethereum: ethereum (Chain ID: 1)

  • Polygon: polygon (Chain ID: 137)

  • BSC: bsc (Chain ID: 56)

  • Arbitrum: arbitrum (Chain ID: 42161)

  • Optimism: optimism (Chain ID: 10)

  • Avalanche: avalanche (Chain ID: 43114)

  • Fantom: fantom (Chain ID: 250)

Testnet

  • Sepolia: sepolia (Chain ID: 11155111)

All networks use public RPC endpoints to ensure stability and accessibility.

Tech Stack

  • TypeScript: Type-safe JavaScript

  • MCP SDK: Model Context Protocol implementation

  • Ethers.js: Ethereum library

  • Node.js Worker Threads: Multi-threaded concurrent computation

  • 4byte.directory API: Function signature database

Security Considerations

⚠️ Important Notes:

  • Generated private keys have complete control over assets

  • Always keep private keys secure and never share them with anyone

  • Recommend generating important addresses in offline environments

  • This tool is for learning and testing purposes only

Installation via NPM

You can install this MCP server globally:

npm install -g blockchain-mcp-server

Or use it with npx:

npx blockchain-mcp-server

MCP Configuration

Add to your MCP client configuration:

{
  "mcpServers": {
    "blockchain": {
      "command": "npx",
      "args": ["blockchain-mcp-server"]
    }
  }
}

License

MIT License

Available Tools

14 tools
4byteGet Function SignaturesC

Get function signatures for the given selector from 4byte.directory

Inputs: selector (required).

4byte-decodeDecode ABI CalldataC

Decode ABI-encoded calldata using 4byte.directory

Inputs: calldata (required).

abi-decodeabi decodeC

decode abi encoded data

Inputs: data (required), types (required).

abi-encodeabi encodeC

encode function parameters with abi

Inputs: types (required), values (required).

abi-encode-with-signatureabi encode with signatureC

encode function call with abi

Inputs: functionSignature (required), values (required).

event-sigevent-sigC

get event selector

Inputs: eventName (required).

generate-vanity-addressGenerate Ethereum Vanity AddressB

Generate Ethereum addresses matching specified prefix and suffix patterns with concurrent computation

Inputs: caseSensitive, prefix, suffix, workers.

get-balanceGet BalanceB

Get the balance of an address on any EVM-compatible chain

Inputs: address (required), chain (required), blockTag.

keccak256keccak256B

calculate keccak256 hash

Inputs: data (required).

list-chainsList Supported ChainsB

List all supported EVM-compatible chains and their configurations

Inputs: no named parameters.

send-transactionSend TransactionB

Send a transaction to a smart contract on any EVM-compatible chain (requires private key)

Inputs: chain (required), data (required), privateKey (required), to (required), +3 more.

sigsigC

get function selector

Inputs: functionName (required).

static-callStatic CallA

Make a static call to a smart contract on any EVM-compatible chain (read-only)

Inputs: chain (required), data (required), to (required), blockTag.

validate-ethereum-addressValidate Ethereum AddressC

Validate the validity of an Ethereum address

Inputs: address (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 14 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between 'abi-decode' and '4byte-decode' (both decode ABI-encoded data) and between 'sig' and 'event-sig' (both get selectors). The descriptions clarify that '4byte-decode' uses an external service while 'abi-decode' is generic, and 'sig' is for functions while 'event-sig' is for events, but an agent might still confuse them initially.

    Naming Consistency3/5

    The naming is mixed with kebab-case (e.g., '4byte-decode'), snake_case (e.g., 'keccak256'), and hyphenated phrases (e.g., 'generate-vanity-address'). There is no consistent verb_noun pattern; some tools use verbs like 'get' or 'validate', while others are noun-based like 'sig' or 'event-sig'. However, the names are generally readable and descriptive.

    Tool Count5/5

    With 14 tools, the count is well-scoped for a blockchain utility server covering ABI encoding/decoding, address generation, balance checks, transaction handling, and chain management. Each tool appears to serve a specific function without obvious redundancy, fitting within the typical 3-15 range for such a domain.

    Completeness4/5

    The tool set covers core blockchain operations like ABI handling, address validation, balance queries, transaction sending, and static calls. Minor gaps include lack of tools for transaction signing without sending, or for deploying contracts, but agents can likely work around these with existing tools like 'send-transaction' and 'abi-encode'.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.
      28
      94 npm
      379
      MIT
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Comprehensive Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, supporting token transfers, smart contract interactions, and ENS name resolution through a unified interface.
      1
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables interaction with Foundry tools through natural language, allowing users to create projects, build contracts, run tests, and manage Ethereum development environments.
      2
      MIT