以太坊智能合约操作服务器

一个用于以太坊智能合约操作的MCP(Model Context Protocol)服务器,提供编译、部署、调用合约等功能。

  • by StankySpence
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 StankySpence/Crypto-MCP

使用说明

加密MCP服务器

用于以太坊智能合约操作的MCP(模型上下文协议)服务器。

特性

  • 公司合同 -使用Hardhat编译Solidity合同
  • 部署合同 -将合约部署到以太坊网络(localhost、Goerli、Sepolia、Mainnet)
  • 通话合同 -调用视图/纯函数(只读,无气体)
  • send_transaction -发送状态更改事务(需要gas)
  • get_balance -获取任意地址的ETH余额
  • get_contract_abi -获取已编译合约的ABI
  • 列表_合同 -列出所有已编译的合同
  • get_deployment_info -获取已部署的合约地址

设置

  1. 克隆仓库:
git clone https://github.com/StankySpence/Crypto-MCP.git
cd Crypto-MCP
  1. 安装依赖项:
npm install
  1. 在中配置环境变量 .env 文件:
# For local development (Hardhat node)
LOCALHOST_RPC_URL=http://localhost:8545
LOCALHOST_PRIVATE_KEY=your_private_key

# For testnets
GOERLI_RPC_URL=https://goerli.infura.io/v3/YOUR_INFURA_KEY
GOERLI_PRIVATE_KEY=your_private_key

SEPOLIA_RPC_URL=https://sepolia.infura.io/v3/YOUR_INFURA_KEY
SEPOLIA_PRIVATE_KEY=your_private_key

# Path to your Hardhat project (optional)
ETH_PROJECT_PATH=/path/to/your/eth-project
  1. 启动本地Hardhat节点:
cd /home/stanky/eth-project
npx hardhat node
  1. 编制您的合同:
npx hardhat compile

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "crypto": {
      "command": "node",
      "args": ["/path/to/Crypto-MCP/server.js"]
    }
  }
}

可用工具

工具 说明
compile_contract 编写Solidity合同
deploy_contract 将合约部署到网络
call_contract 调用视图/纯函数(read)
send_transaction 调用状态更改函数(写入)
get_balance 获取地址的ETH余额
get_contract_abi 获取合约ABI
list_contracts 列出所有已编译的合同
get_deployment_info 获取部署信息

示例用法

// Get all compiled contracts
await list_contracts()

// Get balance
await get_balance({ address: "0x...", network: "localhost" })

// Deploy a contract
await deploy_contract({ 
  contractName: "MyToken", 
  network: "localhost" 
})

// Call a view function
await call_contract({
  contractAddress: "0x...",
  functionName: "balanceOf",
  args: ["0x..."]
})