Skip to main content
Glama

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

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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that gives LLMs the ability to interact with Ethereum networks, manage wallets, query blockchain data, and execute smart contract operations through a standardized interface.
    Last updated -
    31
    323
    2
    TypeScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    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.
    Last updated -
    28
    230
    252
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    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.
    Last updated -
    1
    Python
    MIT License
  • -
    security
    -
    license
    -
    quality
    A Model Context Protocol server that converts Solidity bytecode into functional server implementations, allowing interaction with blockchain contracts through a RESTful API.
    Last updated -
    1
    Python

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lienhage/blockchain-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server