npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@tamago-labs/smart-contract-mcp

v0.2.0

Published

MCP server implementation for smart contract development across Aptos, Sui, and Ethereum ecosystems

Readme

Smart Contract MCP

NPM Version

Smart Contract MCP is a comprehensive Model Context Protocol (MCP) server implementation for smart contract development via CLI. It supports Aptos CLI, Sui CLI, and Foundry for comprehensive blockchain development across Move and Solidity ecosystems.

Features

  • 50+ MCP tools ready to use for smart contract development
  • Multi-blockchain support: Aptos (Move), Sui (Move), Ethereum/EVM (Solidity)
  • Comprehensive CLI integration for Move and Solidity smart contract development and testing
  • Production-ready tools for deployment, testing, and contract interaction

Using with Claude Desktop

  1. Install Claude Desktop if you haven't already
  2. Open Claude Desktop settings
  3. Add the Smart Contract MCP to your configuration:
{
  "mcpServers": {
    "smart-contract-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tamago-labs/smart-contract-mcp"
      ],
      "disabled": false
    }
  }
}

Prerequisites

Before using this MCP, ensure you have the required CLI tools installed:

For Ethereum/EVM Development (Foundry)

# Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup

For Aptos Development

# Install Aptos CLI
curl -fsSL "https://aptos.dev/scripts/install_cli.py" | python3

For Sui Development

# Install Sui CLI
cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui

Available Tools

Foundry CLI Integration (Ethereum/EVM)

Project Management

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | foundry_cli_init | Initialize a new Foundry project | "Create a new Solidity project called 'my-defi-protocol'" | | foundry_cli_build | Compile smart contracts using Forge | "Compile my smart contracts with optimization" | | foundry_cli_test | Run smart contract tests | "Run all tests with gas reporting" | | foundry_cli_clean | Clean build artifacts and cache | "Clean all build files" | | foundry_cli_format | Format Solidity code | "Format all Solidity files in my project" |

Deployment & Contract Interaction

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | foundry_cli_deploy | Deploy smart contracts to networks | "Deploy MyToken contract to mainnet" | | foundry_cli_call | Call read-only contract functions | "Check token balance of address 0x123..." | | foundry_cli_send | Send transactions to contracts | "Transfer 100 tokens to address 0x456..." | | foundry_cli_verify | Verify contracts on Etherscan | "Verify MyToken contract on Etherscan" |

Network & Blockchain Query

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | foundry_cli_get_balance | Get ETH balance of accounts | "Check ETH balance of 0x123..." | | foundry_cli_get_transaction | Get transaction details by hash | "Get details for transaction 0xabc..." | | foundry_cli_get_receipt | Get transaction receipt | "Get receipt for transaction 0xdef..." | | foundry_cli_get_block | Get block information | "Get latest block information" | | foundry_cli_get_gas_price | Get current gas price | "Check current gas price on mainnet" | | foundry_cli_estimate_gas | Estimate gas for transactions | "Estimate gas for token transfer" | | foundry_cli_get_chain_id | Get network chain ID | "Get chain ID for current network" |

Utilities & Conversion

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | foundry_cli_convert | Convert between number formats | "Convert 1 ETH to wei" | | foundry_cli_generate_wallet | Generate new wallet/keypair | "Create a new Ethereum wallet" | | foundry_cli_get_address | Get address from private key | "Get address for my private key" | | foundry_cli_sign_message | Sign messages with private key | "Sign 'Hello World' message" | | foundry_cli_get_selector | Calculate function selectors | "Get selector for transfer(address,uint256)" | | foundry_cli_encode_data | Encode function call data | "Encode transfer function call data" | | foundry_cli_decode_data | Decode transaction data | "Decode transaction input data" | | foundry_cli_get_storage | Get contract storage values | "Read storage slot 0 from contract" |

Aptos CLI Integration

Account Management

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | aptos_cli_create_account | Create a new Aptos account | "Create a new account with name 'myaccount'" | | aptos_cli_get_account_info | Get account information | "Get info for account 0x123..." | | aptos_cli_list_accounts | List all configured accounts | "Show all my accounts" | | aptos_cli_get_account_resources | Get account resources | "Show resources for account 0x123..." | | aptos_cli_get_account_modules | Get published modules | "Show modules published by 0x123..." |

Move Package Management

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | aptos_cli_move_init | Initialize a new Move package | "Create a new Move project called 'my_contract'" | | aptos_cli_move_compile | Compile a Move package | "Compile the package in ./contracts/" | | aptos_cli_move_test | Run Move package tests | "Run tests for my smart contract" | | aptos_cli_move_publish | Publish Move package | "Deploy my contract to mainnet" | | aptos_cli_move_run | Run a Move function | "Call function 0x1::coin::transfer with args [100, 0x456...]" | | aptos_cli_move_clean | Clean build artifacts | "Clean build files for my project" | | aptos_cli_move_download | Download dependencies | "Download dependencies for my Move project" | | aptos_cli_move_prove | Formal verification | "Prove correctness of my Move code" |

Configuration & Network

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | aptos_cli_get_network | Get current network configuration | "Which network am I connected to?" | | aptos_cli_set_network | Set current network | "Switch to testnet" | | aptos_cli_init_config | Initialize Aptos configuration | "Initialize CLI config for testnet" | | aptos_cli_list_profiles | List all profiles | "Show all my CLI profiles" | | aptos_cli_switch_profile | Switch to different profile | "Switch to profile 'testnet'" | | aptos_cli_show_global_config | Show global config | "Show my global CLI configuration" | | aptos_cli_get_node_info | Get node information | "Get current node info" | | aptos_cli_get_ledger_info | Get ledger information | "Show current ledger state" | | aptos_cli_get_network_peers | Get network peers | "Show network peer information" |

Query & Transactions

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | aptos_cli_get_transaction_by_hash | Get transaction by hash | "Get transaction details for 0xabc..." | | aptos_cli_get_transaction_by_version | Get transaction by version | "Get transaction at version 12345" | | aptos_cli_get_account_transactions | Get account transaction history | "Show recent transactions for 0x123..." | | aptos_cli_simulate_transaction | Simulate transaction | "Simulate calling function without executing" | | aptos_cli_get_events_by_creation_number | Get events by creation number | "Get events with creation number 5" | | aptos_cli_get_events_by_handle | Get events by handle | "Get coin transfer events" |

Sui CLI Integration

| Tool Name | Description | Example Usage | |-----------|-------------|---------------| | sui_cli_publish | Deploy a Move package to the network | "Deploy my Move package to mainnet" | | sui_cli_move_test | Run Move unit tests | "Run tests for my smart contract" | | sui_cli_move_new | Create a new Move project | "Create a new Move project called my-defi-protocol" | | sui_cli_move_build | Build a Move package | "Build the package in this folder" | | sui_cli_call | Call a Move function | "Call function update_price with args [10000]" | | sui_cli_active_env | Get currently active Sui network | "Which network am I connected to?" | | sui_cli_active_address | Get active address on Sui CLI | "What's my active CLI address?" | | sui_cli_addresses | List all wallet addresses and aliases | "List all my CLI wallets" | | sui_cli_switch_address | Change the active address | "Switch to address 0x456..." | | sui_cli_switch_env | Switch network environment | "Switch to testnet" | | sui_cli_envs | List all configured environments | "Show all network configurations" |

License

This project is licensed under the MIT License.