Foundry MCP Server 是一个简单、轻量级且快速的 MCP(模型上下文协议)服务器,它借助 Foundry 工具链(Forge、Cast 和 Anvil)提供 Solidity 开发能力。
本服务器旨在作为 MCP 客户端的 MCP 工具提供者。连接到客户端后,它能让客户端(如 Claude 桌面版、Cursor 等)直接执行 Solidity 和链上操作。
curl -L https://foundry.paradigm.xyz | bash
foundryup
bun i && bun build ./src/index.ts --outdir ./dist --target node
"mcpServers": {
"foundry": {
"command": "node",
"args": [
"path/to/foundry-mcp-server/dist/index.js"
],
"env" :{
"PRIVATE_KEY": "0x1234",
}
}
}
⚠️ 重要提示
PRIVATE_KEY是可选的
服务器支持以下环境变量:
RPC_URL:未指定时使用的默认 RPC URL(可选)PRIVATE_KEY:用于交易的私钥(可选)⚠️ 重要提示 不要添加带有主网资金的密钥。即使代码安全地使用它,但大语言模型可能会产生错误输出并发送恶意交易。仅将其用于测试/开发目的,切勿信任大语言模型!
服务器在 ~/.mcp-foundry-workspace 维护一个持久的 Forge 工作区,用于存放所有 Solidity 文件、脚本和依赖项。
PRIVATE_KEY)安装完成并配置好 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".
anvil_start:启动新的 Anvil 实例anvil_stop:停止正在运行的 Anvil 实例anvil_status:检查 Anvil 是否正在运行并获取其状态cast_call:调用合约函数(只读)cast_send:向合约函数发送交易cast_balance:检查地址的 ETH 余额cast_receipt:获取交易收据cast_storage:读取特定插槽的合约存储cast_run:在本地环境中运行已发布的交易cast_logs:按签名或主题获取日志cast_sig:获取函数或事件签名的选择器cast_4byte:从 4byte 目录中查找函数或事件签名cast_chain:获取当前链的信息forge_script:从工作区运行 Forge 脚本install_dependency:为 Forge 工作区安装依赖项create_solidity_file:在工作区创建或更新 Solidity 文件read_file:从工作区读取文件内容list_files:列出工作区中的文件convert_eth_units:在 EVM 单位(wei、gwei、十六进制)之间进行转换compute_address:计算将要部署的合约地址contract_size:获取已部署合约的字节码大小estimate_gas:估算交易的 gas 成本本软件按“原样”提供。对于软件的安全性或正确性,未作出任何明示或暗示的保证、陈述或担保。软件未经审计,因此不能保证其按预期工作,用户可能会遇到延迟、故障、错误、遗漏、传输信息丢失或资金损失等情况。创建者对上述情况不承担任何责任。用户应谨慎使用,并自担风险。