✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

Featured Templates

View More

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.