使用说明
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许可证
