Evm Mcp Server

Evm Mcp Server

🚀 以太坊虚拟机(EVM) MCP 服务器文档

本项目提供了一个支持多区块链网络的以太坊虚拟机(EVM) MCP 服务器,具备实时事件监听、智能合约操作等丰富功能,为区块链开发和应用提供了便利的解决方案。

🚀 快速开始

📦 安装与运行

安装

按照以下步骤克隆代码库并安装依赖:

git clone git@github.com:your-repository.git mcp-evm-server
cd mcp-evm-server
npm install

启动

安装完成后,启动服务器:

npm run dev

访问

服务器启动后,你可以通过浏览器访问 http://localhost:5000,或者使用终端中的 curl 命令进行访问。

配置

若要调整服务器配置,可编辑 src/server/http-server.ts 文件,其中可配置的参数如下:

  • PORT:服务器端口,默认值为 5000
  • NETWORKS:支持的区块链网络,例如 Ethereum、Polygon 等。
  • RPC_ENDPOINTS:第三方 RPC 提供商的 URL。
  • WALLET_PROVIDERS:钱包提供者的配置。

✨ 主要特性

核心组件

本服务器的核心组件如下:

  1. HTTP 服务器
    • 利用 Server-Sent Events (SSE) 提供实时更新。
    • 支持 RESTful API 和长轮询。
  2. 区块链服务:负责处理 EVM 相关的区块链操作。
  3. 资源系统:暴露区块链数据资源 URI,涵盖链信息、区块、交易等。
  4. 工具集:提供区块链分析和交互工具。

核心功能特性

  • 支持多区块链网络。
  • 内置钱包和交易服务。
  • 实时监听区块链事件。
  • 支持智能合约的读写操作。
  • 可查询代币余额并进行转账。
  • 支持 NFT 和 ERC1155 代币。

📚 详细文档

技术规范

网络配置

网络配置的类型定义如下:

type NetworkConfig = {
chainId: number;
name: string;
rpcUrls: string[];
blockExplorers?: Record<string, string>;
};

账户与交易

  • 支持多种钱包提供者,如 MetaMask、WalletConnect。
  • 支持交易的签名和广播。
  • 可解析交易收据。

安全注意事项

为确保服务器的安全运行,请注意以下几点:

  • 私钥安全:私钥仅用于交易签名,服务器不会存储私钥。
  • 身份验证:在生产环境中,建议增加额外的认证机制。
  • 传输加密:生产环境应使用 HTTPS 进行部署。
  • 速率限制:设置速率限制,防止滥用攻击。
  • 高价值服务:对于高价值服务,增加确认步骤。

项目结构

本项目的结构如下:

mcp-evm-server/
├── src/
│   ├── index.ts                # 标准输入输出服务器入口文件
│   ├── server/                 # 服务器相关文件
│   │   ├── http-server.ts      # HTTP 服务器实现,带 SSE 支持
│   │   └── server.ts           # 通用服务器设置
│   ├── core/
│   │   ├── chains.ts           # 区块链链定义与工具
│   │   ├── resources.ts        # MCP 资源实现
│   │   ├── tools.ts            # MCP 工具实现
│   │   ├── prompts.ts          # MCP 提示实现
│   │   └── services/           # 核心区块链服务
│   │       ├── index.ts        # 操作导出
│   │       ├── network.ts      # 网络配置与管理
│   │       ├── wallet.ts       # 钱包功能实现
│   │       ├── transaction.ts  # 交易处理逻辑
│   │       └── contract.ts     # 智能合约交互
├── package.json                # 项目依赖与脚本
└── README.md                   # 项目文档

开发指南

开发环境

  • 使用 Node.js 和 TypeScript 进行开发。
  • 安装 pnpmnpm 进行依赖管理。

调试技巧

  • 启动开发服务器:npm run dev
  • 程序运行时目录为 src/

构建与部署

  • 生产构建:npm run build
  • 可将项目部署到云服务,如 AWS、Azure。

贡献指南

  • 提交代码前,确保代码通过单元测试。
  • 遵循代码风格规范。

📄 许可证

本项目遵循 MIT 许可证,详细信息请查看 LICENSE 文件。

🔖 附录

常见问题

  1. 如何添加新的区块链网络?chains.ts 中添加相应配置。
  2. 支持哪些钱包提供者? 当前支持 MetaMask、WalletConnect 等主流提供者。
  3. 如何处理交易失败的情况? 通过错误处理模块捕获并重试。

联系方式

  • 邮件:contact@example.com
  • GitHub:github.com/your-repository

感谢使用以太坊虚拟机(EVM) MCP 服务器!如需更多帮助,请参考文档或联系支持团队。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-09-26 17:06

相似服务问题

相关AI产品