Skip to main content
Glama

MCPilot

The project is made in ETHGlobal Hackathon Taipie 2025. The project is for proof of concept, and should not be used in production. Please check out the metamask-mcp for production ready application.

MCPilot provides a suite of MCP servers that empower LLMs to interact with blockchains through the MetaMask wallet—ensuring users never have to expose their private keys or risk losing their assets. It serves as an essential toolkit for connecting AI with blockchain technology, and also helps streamline user onboarding on chain.

Description

LLMs are already transforming the way we interact with digital tools. Instead of reading manuals or learning complex systems, we can simply use natural language to ask an LLM to complete tasks for us. This greatly simplifies user onboarding, especially in Web3. With this vision in mind, many Web3 and DeFi agents have already been developed to make decentralized services more accessible and user-friendly.

However, most of these agents share a critical drawback: users are required to share their private keys with the AI agent in order to sign transactions. This poses a significant security risk, as any compromise could result in the loss of a user’s assets.

MCPilot solves this issue by integrating LLMs with MetaMask, one of the most trusted crypto wallets in the ecosystem. This approach ensures that private keys remain securely within the wallet and are never exposed. With MCPilot, users can manage their entire Web3 experience through natural language, with the power of AI—safely and securely.

Related MCP server: MetaMask MCP

Features

  • Blockchain interaction with nature language

No code, no jargon — just tell the AI what you want to do. From token swaps to bridging to contract signing, “MCPilot” processes plain language and uses many agentic tools to complete your missions.

  • Keep your private key store in a secure crypto wallet

All transactions are securely signed in the MetaMask mobile app. No need to expose your private key or rely on third-party custodians — it stays 100% in your control.

  • Interoperability between Web2 and Web3 services

MCPilot gives AI capabilities to integrate web2 and web3 services, enabling seamless data flow, smart contract interactions across centralized and decentralized platforms.

How it's mada

Tech Stack:

  • Claude: An AI assistant and chatbot similar to ChatGPT, designed with a strong emphasis on safety and reliability.

  • MetaMask: A leading crypto wallet that enables users to interact with the Ethereum blockchain and decentralized applications (dApps) by securely managing their private keys.

  • MCP (Model Context Protocol): A protocol designed to simplify and standardize how AI models interact with external data and tools, enabling them to access real-time information beyond their built-in knowledge.

We’ve developed a suite of MCP servers, each offering specialized tools that extend the capabilities of LLMs:

  • metamask-mcp: Enables LLMs to interact with MetaMask for secure wallet operations.

  • chainlist-mcp: Provides information on all supported blockchain networks.

  • solc-mcp: Compiles Solidity smart contracts.

  • erc20-mcp: Allows management of ERC20 tokens.

  • celo-mcp: Verifies contracts on the Celo blockchain.

  • polygon-mcp: Verifies contracts on the Polygon blockchain.

  • zircuit-mcp: Supplies token data on the Zircuit blockchain.

How to use with Claude Desktop

Follow the guide https://modelcontextprotocol.io/quickstart/user and add the following configuration:

{
  "mcpServers": {
    "metamask-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/metamask-mcp/src/index.ts"
      ]
    },
    "chainlist-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/chainlist-mcp/src/index.ts"
      ]
    },
    "solc-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/solc-mcp/src/index.ts"
      ]
    },
    "erc20-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/erc20-mcp/src/index.ts"
      ]
    },
    "polygon-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/polygon-mcp/src/index.ts"
      ],
      "env": {
        "POLYGONSCAN_API_KEY": ""
      }
    },
    "celo-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/celo-mcp/src/index.ts"
      ],
      "env": {
        "CELOSCAN_API_KEY": ""
      }
    },
    "zircuit-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/zircuit-mcp/src/index.ts"
      ]
    },
  }
}

Deployed contracts

Polygon

Celo

Zircuit

  • Test ERC20 Token:

Available Tools

25 tools
callB

Executing a new message call immediately without submitting a transaction to the network

Inputs: to (required), data (required), value.

deploy-contractC

Deploy a contract to the network, given bytecode, and constructor arguments

Inputs: abi (required), args (required), bytecode (required).

disconnectB

Disconnect the metamaks wallet

Inputs: no named parameters.

get-accountC

Get current account

Inputs: no named parameters.

get-blockC

Get the block information of a chain

Inputs: chainId, blockNumber.

get-block-numberC

Get the block nunber of a chain

Inputs: chainId.

get-chain-idB

Get the current chain id

Inputs: no named parameters.

get-chainsB

Get the configured chains

Inputs: no named parameters.

get-connect-uriB

Get the connect URI to connect to a MetaMask wallet

Inputs: no named parameters.

get-ens-addressC

Get the ENS address for name

Inputs: name (required), chainId, blockNumber.

get-ens-nameC

Get the primary ENS name for address

Inputs: address (required), chainId, blockNumber.

get-native-currency-balanceC

Get the native currency balance of an address

Inputs: address (required).

get-tokenD

Get the token information

Inputs: address (required), chainId.

get-token-balanceC

Get token balance of an address

Inputs: address (required), token (required).

get-transactionC

Get the transactions given hashes or chain identifiers

Inputs: hash (required), chainId.

get-transaction-receiptC

Get the Transaction Receipt given a Transaction hash

Inputs: hash (required), chainId.

read-contractC

Call a read-only function on a contract, and returning the response

Inputs: abi (required), address (required), functionName (required), args (required).

send-transactionD

Send transactions to networks

Inputs: to (required), value, data.

show-connect-qrcodeC

Show the connect QR code for a given connect URI

Inputs: uri (required).

sign-messageD

Sign messages

Inputs: message (required).

switch-chainD

Switch the target chain

Inputs: chainId (required), addEthereumChainParameter.

verify-messageC

Verify that a message was signed by the provided address

Inputs: address (required), message (required), signature (required).

wait-for-transaction-receiptC

Waits for the transaction to be included on a block, and then returns the transaction receipt

Inputs: hash (required), chainId.

wait-secondsC

Wait the given seconds

Inputs: seconds (required).

write-contractC

Execute a write function on a contract

Inputs: abi (required), address (required), functionName (required), args (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.6/5.0

    Scored across 25 tools

    Disambiguation4/5

    Most tools have distinct purposes with clear boundaries, such as 'deploy-contract' vs. 'write-contract' for different contract interactions. However, 'call' and 'read-contract' could be slightly confusing as both involve read-only calls, though 'call' is more general and 'read-contract' is contract-specific. Overall, the descriptions help differentiate them, with only minor overlap.

    Naming Consistency3/5

    The naming follows a mostly consistent verb-noun pattern (e.g., 'get-account', 'send-transaction'), but there are deviations like 'call' (single verb), 'disconnect' (single verb), and 'wait-seconds' (verb-noun but unconventional). No camelCase mixing, but the pattern is not fully uniform, making it readable but not perfectly predictable.

    Tool Count2/5

    With 25 tools, the count feels heavy for an MCP server focused on blockchain interactions, suggesting potential over-scoping. While the domain is broad, many tools could be consolidated (e.g., multiple 'get-' functions) or are utility-based (e.g., 'wait-seconds'), making the set borderline excessive and less streamlined than ideal.

    Completeness5/5

    The tool set provides comprehensive coverage for blockchain and wallet operations, including account management, contract interactions (deploy, read, write), transaction handling, chain switching, and utilities like signing and waiting. No obvious gaps exist for the intended domain, offering a complete lifecycle from connection to execution.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that enables LLMs to perform blockchain operations on the Base network through natural language commands, including wallet management, balance checking, and transaction execution.
      4
      82 npm
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that gives AI agents real-time access to DeFi across multiple chains, enabling non-custodial crypto trading, portfolio queries, and transaction execution.
      7 npm
      7
      MIT