智能以太服务添加福利群:解决AI开发者的「MCP实战痛点」一个基于 Model Context Protocol (MCP) 的服务器,使用 ethers.js v6 提供以太坊钱包功能。
MCP Ethers 钱包通过 Model Context Protocol 向 LLM 应用程序提供以太坊功能。它提供以下工具:
该服务器遵循 MCP 规范,因此与任何 MCP 客户端兼容,例如 Claude Desktop。
要将此作为 MCP 服务器与 Claude Desktop 等工具一起使用,请使用以下配置:
{
"ethers": {
"command": "node",
"args": [
"pathTo/ethers-server/build/src/mcpServer.js"
],
"env": {
"ALCHEMY_API_KEY": "key goes here",
"INFURA_API_KEY": "key goes here"
}
}
}

将 pathTo/ethers-server 替换为你的安装目录的实际路径,并添加你的 API 密钥。
# 克隆仓库
git clone https://github.com/yourusername/ethers-server.git
cd ethers-server
# 安装依赖项
npm install
# 编译 TypeScript 代码
npm run build

# 使用 Node.js
npm start
# 使用 Bun(推荐用于更高性能)
bun start

将 Claude Desktop 配置为使用此服务器:
node path/to/ethers-server/build/src/mcpServer.js在你的 Claude 对话中使用 Ethers 工具。
MCP Inspector 是一个用于测试和调试 MCP 服务器的工具。
# 全局安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector
# 使用你的服务器运行它
mcp-inspector --command "node build/src/mcpServer.js"

在根目录中创建一个 .env 文件,内容如下:
# 必需 ALCHEMY_API_KEY=your_alchemy_api_key INFURA_API_KEY=your_infura_api_key # 可选 DEFAULT_NETWORK=mainnet # 默认:mainnet LOG_LEVEL=info # 默认:info(选项:error、warn、info、debug)
该服务器支持多个以太坊和 EVM 兼容网络。支持的网络定义在 src/config/networkList.ts 中:
在使用工具时,可以通过 provider 参数指定网络,例如 "provider": "polygon" 或 "provider": "bera"。
你还可以使用自定义 RPC URL:
"provider": "https://my-custom-rpc.example.com"
{
"name": "getSupportedNetworks",
"arguments": {}
}

{
"name": "getWalletBalance",
"arguments": {
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"provider": "mainnet"
}
}

{
"name": "erc20GetTokenInfo",
"arguments": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"provider": "mainnet"
}
}

{
"name": "callContractMethod",
"arguments": {
"contractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"methodName": "symbol",
"params": [],
"abi": ["function symbol() view returns (string)"],
"provider": "mainnet"
}
}

服务器对某些操作实现了缓存以提高性能并减少 API 调用:
缓存使用生存时间(TTL)机制,在可配置的时间后自动过期条目。
服务器对某些操作实现了速率限制:
这可以防止滥用并确保服务器保持响应。
服务器包含全面的错误处理:
npm run build
服务器包含全面的测试套件:
# 在单独的终端中启动 Hardhat 节点
npx hardhat node
# 运行所有测试
bun test

这些测试通过启动服务器并发送真实的 MCP 请求来验证 MCP 协议实现:
bun run test:client:mcp

# 运行 ERC20 测试
bun test src/services/erc/erc20.test.ts
# 运行 ERC721 测试
bun test src/services/erc/erc721.test.ts
# 运行 ERC1155 测试
bun test src/services/erc/erc1155.test.ts
# 运行核心工具测试
bun test src/tests/write-methods.test.ts

测试使用 bun.setup.ts 文件配置测试环境,包括将 Hardhat 设置为默认提供程序。
saveToEnv 选项时要小心。.env 文件。ethSign 方法可以签名类似交易的数据,这比 signMessage 不安全。谨慎使用。欢迎贡献!请随时提交 Pull Request。
MIT
Dennison Bertram (dennison@tally.xyz)