Mcp Ethers Server

Mcp Ethers Server

🚀 MCP 协议实现

MCP 协议实现是一款强大的工具,支持 ERC20、ERC721 和 ERC1155 代币标准。它集成了钱包功能、代币操作和智能合约交互,极大地便利了区块链开发。

🚀 快速开始

MCP 协议实现为区块链开发者提供了便捷的功能,以下是使用前的准备步骤。

环境变量设置

将以下内容添加到您的项目根目录的 .env 文件中:

ALCHEMY_API_KEY=your_alchemy_api_key
INFURA_PROJECT_ID=your_infura_project_id

服务启动

在终端中运行以下命令启动 MCP 服务器:

npm run start

📦 安装指南

网络配置

将您的网络配置添加到 config/networks.json 文件中,例如:

{
"mainnet": {
"name": "Ethereum Main Network",
"chainId": 1,
"providerType": "ALCHEMY"
},
"ropsten": {
"name": "Ethereum Test Network - Ropsten",
"chainId": 3,
"providerType": "INFURA"
}
}

✨ 主要特性

钱包功能

  • 钱包创建:生成新的 Ethereum 钱包地址。
  • 私钥管理:支持将私钥保存到环境变量或内存中。
  • 余额查询:获取指定地址的 ETH 和代币余额。

代币操作

  • ERC20:实现代币的基本功能,如转账、批准等。
  • ERC721:支持 NFT 的铸造、转移和所有权查询。
  • ERC1155:实现批量代币操作,包括单个和多个代币的转移。

智能合约交互

  • 方法调用:通过ABI接口调用智能合约的方法。
  • 事件监听:实时监控区块链上的事件。
  • 交易处理:发送和确认交易请求。

缓存机制

系统为以下操作启用了缓存功能:

  • 代币信息(名称、符号、小数位)
  • 代币余额
  • 合约方法调用

默认情况下,缓存的有效期为 1 小时。您可以在 config/cache.json 中自定义缓存策略。

速率限制

为了防止滥用和确保系统的稳定性,服务器对以下操作实施了速率限制:

  • 写入操作(转账、授权)
  • 钱包生成
  • 合约交互

错误处理

系统提供详细的错误信息和状态码,便于调试和问题排查。所有错误都经过安全处理,防止敏感数据泄露。

📚 详细文档

开发指南

构建项目

运行以下命令进行构建:

npm run build

测试套件

使用 Bun 运行所有测试(推荐)
# 在终端启动 Hardhat 节点
npx hardhat node

# 运行所有测试用例
bun test
仅运行 MCP 客户端测试
bun run test:client:mcp

安全注意事项

⚠️ 重要提示

  • 钱包功能默认不将私钥保存到文件系统。建议在处理敏感操作时谨慎使用 saveToEnv 选项。
  • 确保 .env 文件的安全性,避免泄露 API 密钥。

📄 许可证

MCP 协议实现遵循 MIT 许可证,允许自由使用、修改和分发。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-09-26 11:09

相似服务问题

相关AI产品