使用说明
@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
贡献
- 分叉存储库
- 创建要素分支
- 添加变更集:
bunx changeset - 提交拉取请求
安全通知
⚠️ 切勿将私钥用于真实资金 使用此MCP服务器时。LLM可能会出错并发送意外的交易。仅用于具有测试帐户的测试和开发。
文档
许可证
麻省理工学院
