智能合约项目管理工具

MCP Foundry Anvil是一款集成MCP(模型上下文协议)的智能合约项目管理工具,专注于以太坊开发,提供项目创建、文件操作、编译、测试、部署和依赖管理等功能。

  • by watson-eth-project
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 watson-eth-project/mcp-foundry

使用说明

MCP铸造铁砧

智能合约项目经理,用于以太坊开发的MCP(模型上下文协议)集成。

已部署MCP

https://steadfast-miracle-production.up.railway.app/mcp

当前状态

铸造工作流程项目

什么在起作用

  • 项目管理:创建、管理和清理临时Foundry项目
  • 文件操作:添加、修改和删除合同文件
  • 编译:使用项目设置进行统一编译(solc版本,优化)
  • 测试:运行测试、模糊测试、覆盖率分析、气体报告
  • 模糊测试:用于基于属性的测试和漏洞发现的Echidna集成
  • 部署:基于工件生成智能部署脚本
  • 依赖项:安装外部依赖项(OpenZeppelin等)
  • 场景测试:基于YAML的声明性测试框架

建筑

mcp-foundry-anvil/
├── server.py                 # Main MCP server (898 lines)
├── mcp_modules/              # Core modules
│   ├── project.py           # Project management (1105 lines)
│   ├── build.py             # Build management (553 lines)
│   ├── tests_runner.py      # Test execution (488 lines)
│   ├── scenario.py          # Scenario testing (1424 lines)
│   └── chain.py             # Chain management (604 lines)
├── pyproject.toml           # Dependencies
├── requirements.txt         # Python requirements
├── Dockerfile               # Docker container definition
├── docker-compose.yml       # Docker Compose configuration
├── .dockerignore            # Docker ignore file
└── README.md                # This file

主要特点

  • 仅限铸造厂:为简单起见,删除了安全帽/松露支持
  • 统一编译:所有编译都要经过 project_manager.compile_project()
  • 智能部署:自动生成具有正确Solidity版本的部署脚本
  • 缓存:构建缓存的工件以提高性能
  • 安全:文件操作仅限于项目目录

MCP工具

项目管理

  • project_create() -创建Foundry项目
  • project_add_files() -添加合同文件
  • project_compile() -编制合同
  • project_deploy() -部署合同
  • project_cleanup_all() -清理所有项目

测试

  • test_run_all() -运行所有测试
  • test_run_fuzz() -运行模糊测试
  • test_run_coverage() -覆盖率分析
  • test_get_gas_reports() -气体报告

依赖项

  • project_install_dependency() -安装单一依赖项
  • project_install_multiple_dependencies() -安装多个依赖项

场景

  • scenario_run_from_file() -从YAML运行场景
  • scenario_create_template() -创建场景模板
  • scenario_start_local_chain() -启动Anvil链

快速开始

选项1:本地安装

# Install dependencies
pip install -r requirements.txt

# Run MCP server
python server.py

选项2:Docker安装

# Build and run with Docker Compose
docker-compose up --build

# Run in detached mode
docker-compose up -d --build

# View logs
docker-compose logs -f

# Stop the container
docker-compose down

选项3:直接Docker

# Build the image
docker build -t mcp-foundry-anvil .

# Run the container
docker run -p 8000:8000 -v foundry_projects:/tmp/foundry_projects mcp-foundry-anvil

需求

地方发展

  • Python 3.11+
  • 铸造厂(锻造、砧座、铸造)
  • Echidna(可选,用于模糊测试)
  • Git

Docker开发

  • 码头工人
  • Docker Compose(可选,便于管理)

Docker配置

该项目包括预装Foundry的全面Docker支持:

Dockerfile功能

  • 基本图像:Python 3.11纤薄以获得最佳大小
  • 铸造集成:预装铸造工具(锻造、铁砧、铸造、凿子)
  • Echidna集成:用于智能合约测试的预装Echidna模糊测试工具
  • 系统相关性:包括Solidity编译的构建工具
  • 包管理:用途 uv 用于快速解决依赖关系
  • 缓存管理:Foundry项目和构建工件的持久卷
  • 健康检查:内置容器健康监测

Docker编写功能

  • 服务管理:轻松启动/停止/重新启动
  • 体积持久性:Foundry项目和缓存在容器重启后仍然有效
  • 端口映射:MCP服务器可在端口8000上访问
  • 发展模式:用于实时开发的源代码挂载
  • 健康监测:自动健康检查和重启策略

集装箱体积

  • foundry_projects:Foundry项目文件的持久存储
  • build_cache:构建工件缓存
  • deploy_cache:部署脚本缓存
  • 用于开发的源代码挂载(可选)

许可证

MIT许可证