Foundry开发工具AI交互协议

为Foundry以太坊开发工具集提供的模型上下文协议(MCP)服务器,使AI助手能够直接与Forge、Cast、Anvil和Chisel交互。

  • by maxencerb
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 maxencerb/foundry-mcp

使用说明

@maxencerb/铸造mcp

全面 模型上下文协议(MCP) 服务器 铸造厂 以太坊开发工具包。该服务器使克劳德等人工智能助手能够直接与Forge、Cast、Anvil和Chisel进行交互。

特性

  • 80+工具 涵盖所有主要的Foundry命令
  • 资源 用于项目配置、ABI、字节码和文档
  • 提示 用于常见工作流(部署、测试、安全审查)
  • 自我记录 与live --help 集成与公文提取

工具概述

类别 工具 描述
锻造 18 构建、测试、部署、验证合同
演员阵容 38 与EVM链交互,对数据进行编码/解码
铁砧 16 本地节点管理、状态操纵
凿子 6 Solidity REPL操作
帮助 6 来自的实时文档 --help 旗帜

先决条件

# Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup

安装

# Using bun
bunx @maxencerb/foundry-mcp

# Or install globally
bun install -g @maxencerb/foundry-mcp

用法

使用克劳德代码

使用CLI添加MCP服务器:

# Add with environment variables
claude mcp add --transport stdio --env RPC_URL=http://localhost:8545 foundry -- bunx @maxencerb/foundry-mcp

# Or add project-scoped (creates .mcp.json)
claude mcp add --transport stdio --scope project foundry -- bunx @maxencerb/foundry-mcp

或者创建一个 .mcp.json 项目根目录中的文件:

{
  "mcpServers": {
    "foundry": {
      "command": "bunx",
      "args": ["@maxencerb/foundry-mcp"],
      "env": {
        "RPC_URL": "${RPC_URL:-http://localhost:8545}"
      }
    }
  }
}

使用Claude桌面版

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "foundry": {
      "command": "bunx",
      "args": ["@maxencerb/foundry-mcp"],
      "env": {
        "RPC_URL": "http://localhost:8545"
      }
    }
  }
}

与其他MCP客户端

# Run the server directly
bunx @maxencerb/foundry-mcp

# Or if installed globally
foundry-mcp

环境变量

变量 描述 默认值
RPC_URL 链交互的默认RPC端点 -
PRIVATE_KEY 交易的默认私钥(⚠️ 仅测试) -
FOUNDRY_PROJECT Foundry项目路径 当前目录

可用工具

锻造工具

工具 说明
forge_init 初始化新的Foundry项目
forge_build 编制Solidity合同
forge_test 使用过滤和分叉运行测试
forge_coverage 生成测试覆盖率报告
forge_script 执行部署脚本
forge_create 部署单个合约
forge_verify 在区块浏览器上验证合同
forge_inspect 检查ABI、字节码、存储布局
forge_flatten 理顺合同来源
forge_remappings 显示导入重新映射
forge_tree 显示依赖关系树
forge_clean 删除构建工件
forge_install 安装依赖项
forge_update 更新依赖关系
forge_fmt 格式实体代码
forge_snapshot 生成气体快照
forge_doc 生成文档
forge_selectors 列出函数选择器

铸造工具

链和块: cast_block, cast_block_number, cast_chain, cast_chain_id, cast_client, cast_gas_price, cast_base_fee

账户 cast_balance, cast_nonce, cast_code, cast_storage

交易: cast_call, cast_send, cast_publish, cast_tx, cast_receipt, cast_run, cast_estimate, cast_logs

编码/解码: cast_abi_encode, cast_abi_decode, cast_calldata, cast_calldata_decode, cast_sig, cast_sig_event, cast_4byte, cast_4byte_decode

公用设施: cast_to_wei, cast_from_wei, cast_to_hex, cast_to_dec, cast_to_base, cast_keccak, cast_resolve_name, cast_lookup_address, cast_compute_address, cast_create2, cast_interface, cast_age, cast_wallet_new, cast_wallet_address, cast_wallet_sign, cast_format_bytes32, cast_parse_bytes32, cast_concat_hex

铁砧工具

工具 说明
anvil_start 启动本地以太坊节点
anvil_stop 停止正在运行的节点
anvil_status 检查节点状态
anvil_mine 矿块
anvil_setBalance 设置账户余额
anvil_setCode 设置合约字节码
anvil_setStorageAt 设置存储槽值
anvil_impersonateAccount 冒充账户
anvil_stopImpersonatingAccount 停止冒充
anvil_snapshot 创建状态快照
anvil_revert 恢复到快照
anvil_setNextBlockTimestamp 设置下一个块时间戳
anvil_increaseTime 增加阻塞时间
anvil_setAutomine 切换自动挖矿
anvil_reset 重置叉状态
anvil_getAccounts 列出开发帐户

凿子工具

工具 说明
chisel_eval 评估坚固性表达式
chisel_run 运行Solidity语句
chisel_list 列出已保存的会话
chisel_load 加载会话
chisel_view 查看会话源
chisel_clear_cache 清除缓存

帮助工具

工具 说明
forge_help 获取forge CLI帮助(支持子命令)
cast_help 获取cast CLI帮助(支持子命令)
anvil_help 获取铁砧CLI帮助
chisel_help 获取chief CLI帮助
foundry_version 获取已安装的Foundry版本
foundry_list_commands 列出工具的可用命令

可用资源

资源 URI 描述
配置 foundry://config 项目基金会.toml
重新映射 foundry://remappings 导入重新映射
合同 foundry://contracts .sol文件列表
ABI foundry://abi/{contract} ABI合同
字节码 foundry://bytecode/{contract} 合约字节码
存储布局 foundry://storage-layout/{contract} 存储布局
方法ID foundry://method-identifiers/{contract} 功能选择器
天然气估算 foundry://gas-estimates/{contract} 天然气估算
文件 foundry://docs 官方铸造文件
文档链接 foundry://docs/links 文档URL

可用提示

提示 描述
deploy_contract 合同部署指南
debug_test 帮助调试失败的测试
write_test 为合同生成测试
explain_storage 解释存储布局
gas_optimization 气体优化评审
security_review 安全审查清单
fork_test 分叉状态测试
create_script 创建部署脚本
lookup_docs 查找命令文档

发展

# Clone the repository
git clone https://github.com/maxencerb/foundry-mcp.git
cd foundry-mcp

# Install dependencies
bun install

# Run in development mode
bun run dev

# Type check
bun run typecheck

# Test with MCP Inspector
bun run inspect

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加变更集: bunx changeset
  4. 提交拉取请求

安全通知

⚠️ 切勿将私钥用于真实资金 使用此MCP服务器时。LLM可能会出错并发送意外的交易。仅用于具有测试帐户的测试和开发。

文档

许可证

麻省理工学院