Foundry-MCP 模型上下文协议服务器
一种模型上下文协议服务器,通过自然语言与 Foundry 工具进行交互,使用户能够创建项目、构建合约、运行测试以及管理以太坊开发环境。
服务介绍
🧠 Foundry MCP 项目
该项目是一个 Model Context Protocol (MCP) 服务器,旨在与 Foundry 工具进行交互。它提供了一组工具和实用程序来管理 Foundry 项目、运行测试、构建合约等。
📂 项目结构
pyproject.toml # Project configuration file
README.md # Project documentation
uv.lock # Dependency lock file
LLM/ # Documentation and SDK usage
src/eth_wh_mcp/ # Source code for the MCP server
🚀 功能
- 创建 Foundry 项目:初始化新的 Foundry 项目。
- 构建合约:使用各种选项编译 Solidity 合约。
- 运行测试:执行带有详细配置的测试。
- 检查合约:检索 ABI、字节码和其他元数据。
- 运行脚本:执行 Solidity 脚本。
- 启动本地节点:启动 Anvil 或 Chisel 用于本地以太坊开发。
- 高级 Cast 命令:使用
cast执行与以太坊相关的命令。
🛠️ 安装
-
克隆仓库:
git clone <repository-url> -
确保 Foundry 工具(
forge、cast、anvil等)已安装并添加到 PATH 中。
🏗️ 使用
运行 MCP 服务器
要启动 MCP 服务器:
python src/eth_wh_mcp/main.py
可用工具
MCP 服务器中可用的工具有:
- create_project:初始化一个新的 Foundry 项目。
- build_project:构建当前的 Foundry 项目。
- test_project:在 Foundry 项目中运行测试。
- clone_contract:从 Etherscan 克隆一个合约。
- run_script:执行一个 Solidity 脚本。
- run_cast_command:运行一个
cast命令。 - start_anvil_with_options:启动 Anvil 本地以太坊节点。
- start_chisel_with_options:启动 Chisel Solidity REPL。
- inspect_contract:检查合约元数据。
- snapshot_project:创建一个 gas 使用快照。
- coverage_project:显示测试覆盖率。
📖 文档
MCP Python SDK
请参阅 LLM/python-mcp-sdk.md 文件,了解有关 MCP Python SDK 的详细用法,包括服务器构建、工具、提示和上下文处理。
🧪 开发
本地调试
在开发模式下运行 MCP 服务器:
mcp dev src/eth_wh_mcp/main.py --with-editable .
运行时执行
要执行服务器:
python src/eth_wh_mcp/main.py
📜 许可证
该项目采用 MIT 许可证。详情请参见 LICENSE 文件。