内容
# EVM MCP 服务器
MCP(模型上下文协议)服务器,为自主编码代理提供确定性、模式验证的工具,用于 EVM 智能合约开发 — 安全扫描、Gas 分析、编译器诊断和交易模拟。
## 为什么存在
像 Slither 和 Foundry 这样的工具的原始 CLI 输出很嘈杂,不确定性很高,经常导致大型语言模型(LLM)产生幻觉。该服务器拦截输出,通过 Zod 模式验证,并返回任何代理都可以可靠解析的干净 JSON。
## 工具
| 工具 | 注解 | 描述 |
|------|-------------|-------------|
| `evm_scan_vulnerabilities` | `readOnly`、`idempotent` | 运行 Slither 分析。返回具有提取代码片段的严重性评级发现。 |
| `evm_analyze_gas_profile` | `readOnly`、`idempotent` | 运行 `forge test --gas-report`。返回结构化的函数级 Gas 数据。 |
| `evm_compile_and_diagnose` | `readOnly`、`idempotent` | 运行 `forge build`。在失败时返回结构化的编译器诊断信息。 |
| `evm_simulate_transaction` | `readOnly`、`idempotent` | 运行 `cast call`。返回解码的返回值或回滚原因。 |
## 资源
| URI | 描述 |
|-----|-------------|
| `evm://patterns/vulnerabilities` | 安全漏洞模式库 |
| `evm://gas/optimizations` | Gas 优化模式库 |
| `evm://patterns/arbitrage` | 套利策略参考 |
## 架构
```text
evm-agent-toolkit/
├── src/
│ ├── mcp/ # MCP 服务器入口点(stdio 传输)
│ ├── tools/ # Zod 验证的 CLI 输出解析器
│ │ ├── slither.ts # Slither JSON → SanitizedFinding[]
│ │ ├── forge.ts # Forge Gas 表 → ContractGas[]
│ │ ├── compiler.ts # Forge 构建错误 → CompilerDiagnostic[]
│ │ └── simulator.ts# Cast 调用输出 → SimulatorDiagnostic
│ ├── rules/ # 代理系统提示注入
│ └── hooks/ # 生命周期钩子(UserPromptSubmit,Statusline)
├── tests/ # 所有解析器的 Vitest 单元测试
├── bench/ # 性能基准测试
├── evals/ # 代理评估框架(易受攻击的合约 + 评估 XML)
├── skills/ # Markdown 参考库
├── .claude-plugin/ # Claude Code 插件清单
└── gemini-extension.json # Antigravity 插件清单
```
## 设置
```bash
npm install
npm run build
```
## 代理配置
这是一个 stdio MCP 服务器。它由 MCP 客户端启动,而不是手动启动。
**Claude Desktop / Cursor:**
```json
{
"mcpServers": {
"evm-agent-toolkit": {
"command": "npx",
"args": ["-y", "@0xendale/evm-agent-toolkit"]
}
}
}
```
**前提条件:** `slither`、`forge` 和 `cast` 必须安装在主机上。
## 开发
```bash
npm run dev # 监视模式,带 tsx
npm run test # 运行所有单元测试
npm run bench # 运行解析器基准测试
npm run build # 编译 TypeScript → build/
```
## 性能
解析器吞吐量(在 Apple Silicon 上测量):
| 解析器 | 迭代次数 | 时间 | 每次调用 |
|--------|-----------|------|----------|
| Slither(100 个检测器) | 1,000 | ~109ms | ~0.1ms |
| Forge Gas 表 | 10,000 | ~32ms | ~0.003ms |
## 许可证
MIT