关于 Foundry MCP Server
Foundry MCP Server 是一个轻量的 MCP 服务,基于 Foundry 工具链(Forge、Cast、Anvil)为 Solidity 开发者提供能力。它将 LLM 助手连接到 Foundry 生态,可与本地 Anvil 节点或远程 RPC 端点交互。项目目前为实验性质。
主要功能
- 01启动和管理本地 Anvil 实例
- 02调用合约只读函数并读取存储
- 03通过 PRIVATE_KEY 发送交易
- 04维护专用 Forge 工作区并运行脚本
- 05借助 Heimdall 反编译和分析字节码
适用场景
- 01让 AI 助手编写、部署和调试 Solidity 合约
- 02分析链上交易的调用数据和执行轨迹
- 03在本地 Anvil 上测试 ERC20 等合约
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端(如 Claude Desktop、Cursor)暴露 Foundry 相关的 Solidity 开发和链上操作能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Foundry MCP 服务
一个简单、轻量且快速的 MCP(Model Context Protocol)服务,使用 Foundry 工具链(Forge、Cast 和 Anvil)提供 Solidity 开发能力。

概述
此服务将大模型助手连接到 Foundry 生态系统,使其能够:
- 与节点交互(本地 Anvil 实例或远程 RPC 端点)
- 分析智能合约和区块链数据
- 使用 Cast 执行常见的 EVM 操作
- 管理、部署和执行 Solidity 代码与脚本
- 使用持久化的 Forge 工作区
功能
网络交互
- 启动和管理本地 Anvil 实例
- 连接到任意远程网络(只需指定 RPC)
- 获取网络/链信息
合约交互
- 调用合约函数(只读)
- 向合约发送交易(需配置
PRIVATE_KEY) - 获取交易收据
- 读取合约存储
- 分析交易跟踪信息
- 从区块浏览器获取合约 ABI 和源代码
Solidity 开发
- 维护专用的 Forge 工作区
- 创建和编辑 Solidity 文件
- 安装依赖项
- 运行 Forge 脚本
- 部署合约
实用功能
- 计算合约地址
- 检查合约字节码大小
- 估算 Gas 费用
- 在单位之间转换(十六进制转十进制等)
- 生成钱包
- 获取事件日志
- 查找函数和事件签名
智能合约分析(Heimdall)
- 将 EVM 字节码反汇编为人类可读的操作码
- 无需 ABI 即可解码原始 calldata
- 将 EVM 字节码反编译为 Solidity 源代码和 ABI
- 为 EVM 字节码生成可视化控制流图
- 详细检查交易,包括 calldata 解码和跟踪分析
用法
此服务旨在作为 MCP 客户端使用的 MCP 工具提供方。连接到客户端后,它可让客户端(Claude 桌面应用、Cursor、客户端等)直接执行 Solidity 和链上操作。
要求
- Node.js v18+
- Foundry 工具链(Forge、Cast、Anvil)
- Heimdall-rs(用于智能合约分析)
手动设置
-
确保系统中已安装 Foundry 工具(Forge、Cast、Anvil):
curl -L https://foundry.paradigm.xyz | bash foundryup -
克隆并构建服务。
bun i && bun build ./src/index.ts --outdir ./dist --target node -
更新客户端配置(例如:Claude 桌面应用):
"mcpServers": {
"foundry": {
"command": "node",
"args": [
"path/to/foundry-mcp-server/dist/index.js"
],
"env" :{
"PRIVATE_KEY": "0x1234",
}
}
}
说明
PRIVATE_KEY为可选项
使用 NPM 包设置
现在可以直接使用 npm 安装并运行此服务:
全局安装
npm install -g @pranesh.asp/foundry-mcp-server
使用 npx 直接运行
npx @pranesh.asp/foundry-mcp-server
MCP 客户端配置
Claude Code
claude mcp add-json foundry-mcp-server '{"type":"stdio","command":"npx","args":["@pranesh.asp/foundry-mcp-server"],"env":{"RPC_URL":"","PRIVATE_KEY":""}}'
其他 MCP 客户端(Cursor、Claude、Windsurf)
添加到 MCP 设置中:
{
"mcpServers": {
"foundry": {
"command": "npx",
"args": ["@pranesh.asp/foundry-mcp-server"],
"env": {
"RPC_URL": "http://localhost:8545",
"PRIVATE_KEY": "0x..."
}
}
}
}
配置
此服务支持以下环境变量:
RPC_URL:未指定时使用的默认 RPC URL(可选)PRIVATE_KEY:用于交易的私钥(可选)
注意
请勿添加持有主网资金的密钥。尽管代码会安全地使用密钥,但大模型可能会产生幻觉并发送恶意交易。 仅将其用于测试/开发。切勿信任大模型!!
提示
遇到
Invalid configuration错误?请检查 JSON 语法——常见问题包括双引号(""KEY"→"KEY")、尾随逗号或未加引号的键。使用echo '...' | jq .验证。
工作区
此服务会在 ~/.mcp-foundry-workspace 中维护一个持久化的 Forge 工作区,用于存放所有 Solidity 文件、脚本和依赖项。
工具
Anvil
anvil_start:启动新的 Anvil 实例anvil_stop:停止正在运行的 Anvil 实例anvil_status:检查 Anvil 是否正在运行并获取其状态
Cast
cast_call:调用合约函数(只读)cast_send:向合约函数发送交易cast_balance:查看某个地址的 ETH 余额cast_receipt:获取交易回执cast_storage:读取指定槽位的合约存储cast_run:在本地环境中运行已发布的交易cast_logs:按签名或主题获取日志cast_sig:获取函数或事件签名的选择器cast_4byte:从 4byte 目录查询函数或事件签名cast_chain:获取当前链的信息
Forge
forge_script:从工作区运行 Forge 脚本install_dependency:为 Forge 工作区安装依赖项
文件管理
create_solidity_file:在工作区中创建或更新 Solidity 文件read_file:读取工作区中文件的内容list_files:列出工作区中的文件
实用工具
convert_eth_units:在 EVM 单位(wei、gwei、hex)之间进行转换compute_address:计算即将部署的合约地址contract_size:获取已部署合约的字节码大小estimate_gas:估算交易的 gas 成本
Heimdall 分析
heimdall_disassemble:将 EVM 字节码反汇编为可读的操作码heimdall_decode:无需 ABI 即可解码原始 calldataheimdall_decompile:将 EVM 字节码反编译为 Solidity 源代码和 ABIheimdall_cfg:为 EVM 字节码生成可视化控制流图heimdall_inspect:详细检查 Ethereum 交易
在 Claude 桌面应用中使用 🎯
安装完成并配置好 Claude 桌面应用后,必须完全退出并重新打开 Claude 桌面应用,才能看到 tavily-mcp 服务。你应该会在应用左下角看到一个锤子图标,表示有可用的 MCP 工具。点击锤子图标即可查看更多可用工具的详细信息。

现在,Claude 将能够完全访问 foundry-mcp 服务。如果你将以下示例输入 Claude 桌面应用,应该就能看到 foundry-mcp 服务工具的运行效果。
示例
- 交易分析:
Can you analyze the transaction and explain what it does?
https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
- 查询余额:
Query the mainnet ETH and USDT balances for the wallet 0x195F46025a6926968a1b3275822096eB12D97E70.
- 发送交易:
Transfer 0.5 USDC to 0x195F46025a6926968a1b3275822096eB12D97E70 on Mainnet.
- 部署合约/运行脚本:
Deploy a mock ERC20 contract to a local anvil instance and name it "Fire Coin".
致谢 ✨
- Model Context Protocol 感谢其提供 MCP 规范
- Anthropic 感谢其提供 Claude Desktop
免责声明
本软件按原样提供。对于软件的安全性或正确性,不作任何明示或暗示的保证、陈述或担保。该软件未经审计,因此无法保证其会按预期运行,用户可能会遇到延迟、故障、错误、遗漏、传输信息丢失或资金损失。创作者不对上述任何情况承担责任。用户应谨慎行事,并自行承担使用风险。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。