Blockchain MCP Server
Provides vanity address generation and RPC service for interacting with Ethereum, including static calls, balance queries, and transaction sending capabilities
Leverages Ethers.js library to provide blockchain interaction functionality, including ABI encoding/decoding and transaction management
Supports RPC service for Fantom blockchain, allowing static calls, balance queries, and transaction sending capabilities
Utilizes Node.js Worker Threads for multi-threaded concurrent computation in vanity address generation
Provides RPC service for Optimism blockchain, supporting static calls, balance queries, and transaction sending capabilities
Enables RPC service for Polygon blockchain, supporting static calls, balance queries, and transaction sending capabilities
Built using TypeScript for type-safe implementation of blockchain tools and services
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Blockchain MCP Server generate a vanity address starting with 'crypto' using 8 workers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 installBuild Project
npm run buildRun Server
npm startDevelopment Mode
npm run devTool Usage Guide
Vanity Address Generation
generate-vanity-address
Generate Ethereum addresses matching specified conditions
Parameters:
prefix(optional): Address prefix, excluding 0xsuffix(optional): Address suffixworkers(optional): Number of concurrent threads, default 4, max 16caseSensitive(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 arrayvalues: 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 signaturevalues: Parameter values array
Example:
{
"functionSignature": "transfer(address,uint256)",
"values": ["0x1234567890123456789012345678901234567890", 1000]
}abi-decode
Decode ABI-encoded data
Parameters:
types: Parameter types arraydata: 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 queryblockTag(optional): Block tag, default "latest"
Example:
{
"chain": "ethereum",
"address": "0x1234567890123456789012345678901234567890"
}static-call
Make static calls to smart contracts (read-only operations)
Parameters:
chain: Chain identifierto: Contract addressdata: ABI-encoded function call datablockTag(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 identifierto: Contract addressdata: ABI-encoded function call datavalue(optional): ETH amount to send (wei)gasLimit(optional): Gas limitgasPrice(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-serverOr use it with npx:
npx blockchain-mcp-serverMCP Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"blockchain": {
"command": "npx",
"args": ["blockchain-mcp-server"]
}
}
}License
MIT License
Available Tools
14 tools4byteGet 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
Scored across 14 tools
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.
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.
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.
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
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Related MCP Servers
- AlicenseDqualityDmaintenanceA 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.5436 npm14MIT
- AlicenseBqualityDmaintenanceA 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.2894 npm379MIT
- -licenseNot gradedqualityNot gradedmaintenanceComprehensive 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-
- AlicenseNot gradedqualityDmaintenanceA 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.2MIT