本项目的以太坊模型上下文协议(EVMCP)服务器,能让外部系统或应用程序通过多样的工具接口,与以太坊区块链进行交互,为开发者提供便捷的区块链交互方案。
git clone https://github.com/your-repository/evm-mcp-server.git
cd evm-mcp-server
pnpm install
复制 .env.example 文件并命名为 .env,然后根据需要修改配置:
cp .env.example .env
编辑 .env 文件并填写以下内容:
WALLET_PRIVATE_KEY=your-wallet-private-key
RPC_PROVIDER_URL=https://eth-mainnet.alchemyapi.io/v2/your-api-key
DEFAULT_GAS_LIMIT=100000
DEFAULT_GAS_PRICE=200000
pnpm run build
pnpm run start
evm-mcp-server/
├── src/ # 核心服务代码
│ ├── evm.ts # 主服务器入口逻辑
│ └── evm-tools.ts # 所有 MCP 工具的定义和实现
├── test/ # 测试代码
│ └── client.ts # 示例测试客户端
├── build/ # 编译生成的 JavaScript 代码(由 `pnpm run build` 自动生成)
├── .env.example # 环境变量示例文件
├── .env # 环境变量配置文件(需自行创建,且不会被版本控制)
├── .gitignore # 忽略文件列表
├── package.json # 项目依赖和脚本
├── pnpm-lock.yaml # pnpm 文件
├── tsconfig.json # TypeScript 编译器配置
├── README.md # 英文版本说明
└── README.zh.md # 中文版本说明
pnpm run dev
pnpm test
pnpm run debug
以下是当前服务器支持的所有工具及其描述:
| 工具名称 | 描述 |
|---|---|
getAddress |
获取与服务器连接的钱包地址。 |
getChain |
获取服务器连接的链 ID 和链名。 |
getBalance |
获取指定地址(或服务器钱包)的原生代币余额。 |
signTransaction |
对交易进行签名,准备发送到区块链。 |
sendTransaction |
发送已签名的交易到区块链并返回交易哈希。 |
deployContract |
部署新智能合约到区块链。 |
callContract |
调用已部署在区块链上的智能合约方法。 |
transferEth |
向指定地址发送以太坊原生代币(ETH)。 |
approveToken |
授权服务器钱包管理某个代币的转账操作。 |
欢迎社区贡献!请参考 CONTRIBUTING.md 了解如何为本项目贡献力量。
本项目基于以太坊网络构建了模型上下文协议(EVMCP)服务器。通过暴露多种工具接口,使得外部系统或应用程序能够与以太坊区块链进行交互。服务器的核心服务代码位于 src 目录下,其中 evm.ts 是主服务器入口逻辑,evm-tools.ts 定义和实现了所有 MCP 工具。测试代码在 test 目录下,通过 pnpm test 可以运行测试。
文档中未提及相关内容,暂不展示。
.env 文件中的 WALLET_PRIVATE_KEY 不被泄露或提交到版本控制系统。