Web3 Assistant MCP
A secure, multi-chain toolkit for interacting with blockchain smart contracts.
Documentation
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