Web3 Assistant Mcp
Interact with blockchain smart contracts across multiple chains, analyze contract ABIs, invoke contract methods, and manage wallet addresses securely.
Author

LaplaceMan
No License
Quick Info
Tools 1
Last Updated 19/8/2025
Actions
Tags
tools developer development developer tools tools integrations tools tools
Web3 Assistant MCP
A secure blockchain smart contract interaction toolkit with multi-chain support.
Key Features
- 📑 Smart Contract ABI Analysis
- 📡 Contract Method Invocation (view/nonpayable/payable)
- 🔑 Local Wallet Address Management
- 🌐 Multi-chain Support
Project Structure
web3-assistant-mcp/
├── src/
│ ├── common/
│ │ ├── clients/ # Blockchain client implementations
│ │ ├── constants/ # Network configurations
│ │ ├── services/ # Core services (contract, wallet)
│ │ └── utils/ # Helper functions
│ ├── tools/ # MCP tool implementations
│ └── types/ # TypeScript type definitions
├── test/ # Test suites
├── .env.example # Environment template
└── smithery.yaml # MCP server configuration
Quick Start
Prerequisites
- Node.js 18+
- pnpm
- Configure environment variables (copy .env.example):
cp .env.example .env
Installation
pnpm install
Build
pnpm build
MCP Configuration Example
{
"mcpServers": {
"web3-assistant": {
"command": "node",
"args": [
"***/dist/index.js"
],
"env": {
"ALCHEMY_KEY": "your_alchemy_key",
"INFURA_KEY": "your_infura_key",
"ANKR_KEY": "your_ankr_key",
"PRIVATE_KEY": "your_wallet_private_key"
}
}
}
}
Path Note: When using MCP locally, replace ***
with the absolute path to your MCP server directory.
MCP Tools Documentation
🔍 analyze_contract_abi - ABI Analysis
{
"abi": "[Contract ABI JSON string]"
}
Features:
- Parse contract ABI and list callable methods
- Auto-detect method types (view/pure/payable)
- Input/output parameter types
- State mutability
📞 call_contract - Contract Interaction
{
"abi": "[Method ABI]",
"networkName": "base|baseSepolia",
"contractAddress": "0x...",
"functionName": "methodName",
"args": ["param1", param2],
"value": 0.001 // ETH amount for payable methods (in ETH)
}
Supported Operations:
- Read contract state (view/pure)
- Send transactions (nonpayable)
- Token transfers (payable)
👜 local_wallet_address - Wallet Address
No parameters required:
{
"address": "0x..."
}
Network Configuration
Pre-configured networks in src/common/constants/networks
:
mainnet
: Ethereum Mainnetsepolia
: Ethereum Sepoliabase
: Base MainnetbaseSepolia
: Base Testnet
Security Guidelines
- Private Key Management: Configure via environment variables
- Transaction Verification: Confirm details for payable methods
- Gas Limits: Automatic safe gas calculation