使用说明
加密MCP服务器
用于以太坊智能合约操作的MCP(模型上下文协议)服务器。
特性
- 公司合同 -使用Hardhat编译Solidity合同
- 部署合同 -将合约部署到以太坊网络(localhost、Goerli、Sepolia、Mainnet)
- 通话合同 -调用视图/纯函数(只读,无气体)
- send_transaction -发送状态更改事务(需要gas)
- get_balance -获取任意地址的ETH余额
- get_contract_abi -获取已编译合约的ABI
- 列表_合同 -列出所有已编译的合同
- get_deployment_info -获取已部署的合约地址
设置
- 克隆仓库:
git clone https://github.com/StankySpence/Crypto-MCP.git
cd Crypto-MCP
- 安装依赖项:
npm install
- 在中配置环境变量
.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
- 启动本地Hardhat节点:
cd /home/stanky/eth-project
npx hardhat node
- 编制您的合同:
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..."]
})