Web3 Assistant MCP

A secure, multi-chain toolkit for interacting with blockchain smart contracts.

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 Mainnet
  • sepolia: Ethereum Sepolia
  • base: Base Mainnet
  • baseSepolia: Base Testnet

Security Guidelines

  1. Private Key Management: Configure via environment variables
  2. Transaction Verification: Confirm details for payable methods
  3. Gas Limits: Automatic safe gas calculation

Serveurs connexes

NotebookLM Web Importer

Importez des pages web et des vidéos YouTube dans NotebookLM en un clic. Utilisé par plus de 200 000 utilisateurs.

Installer l'extension Chrome