Click on "Install 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., "@Web3 Assistant MCPcall the balanceOf method on this USDC contract: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
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.
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 configurationQuick Start
Prerequisites
Node.js 18+
pnpm
Configure environment variables (copy .env.example):
cp .env.example .envInstallation
pnpm installBuild
pnpm buildMCP 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
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.