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 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
Related Servers
BundlerMCP
Query information about dependencies in a Ruby project's Gemfile.
mcproc
Manage background processes for AI agents using the Model Context Protocol (MCP).
MCP Experiments
An experimental dotnet MCP server that returns the current time, based on Laurent Kempé's tutorial.
GoDoc MCP
Access real-time Go package documentation from pkg.go.dev.
USolver
A server for solving combinatorial, convex, integer, and non-linear optimization problems.
MCP Docs Server
Provides direct access to local documentation files through a context.md file in the project root.
Image Generation MCP Server
An MCP server for generating images using the Replicate API and the Flux model.
Ollama
Integrates with Ollama to run local large language models. Requires a running Ollama instance.
Frame0 MCP Server
Create and modify wireframes in the Frame0 app through natural language prompts.
FastAPI with MCP
A FastAPI application demonstrating MCP integration for mathematical operations and tool registration.