Foundry MCP Server

Integrations

  • Provides integration with Node.js runtime environment to execute the MCP server and its Solidity development features.

  • Enables Solidity development capabilities including creating, editing, and deploying smart contracts, running scripts, and installing dependencies through the Foundry toolchain.

Foundry MCP 服务器

一个简单、轻量且快速的 MCP(模型上下文协议)服务器,使用 Foundry 工具链(Forge、Cast 和 Anvil)提供 Solidity 开发功能。

概述

该服务器将 LLM 助理连接到 Foundry 生态系统,使他们能够:

  • 与节点交互(本地 Anvil 实例或远程 RPC 端点)
  • 分析智能合约和区块链数据
  • 使用 Cast 执行常见的 EVM 操作
  • 管理、部署和执行 Solidity 代码和脚本
  • 使用持久的 Forge 工作区

特征

网络互动

  • 启动和管理本地 Anvil 实例
  • 连接到任何远程网络(只需指定 RPC)
  • 获取网络/链信息

合约交互

  • 调用合约函数(只读)
  • 向合约发送交易(如果配置了PRIVATE_KEY
  • 获取交易收据
  • 读取合约存储
  • 分析交易痕迹
  • 从区块浏览器检索合约 ABI 和源代码

Solidity 开发

  • 维护专用的 Forge 工作区
  • 创建和编辑 Solidity 文件
  • 安装依赖项
  • 运行 Forge 脚本
  • 部署合约

实用函数

  • 计算合约地址
  • 检查合约字节码大小
  • 估算燃气费用
  • 单位转换(十六进制到十进制等)
  • 生成钱包
  • 获取事件日志
  • 查找函数和事件签名

用法

该服务器旨在为 MCP 客户端提供 MCP 工具。连接到客户端后,它可使客户端(Claude Desktop、Cursor Client 等)直接执行 Solidity 和链上操作。

要求

手动设置

  1. 确保您的系统上安装了 Foundry 工具(Forge、Cast、Anvil):
    curl -L https://foundry.paradigm.xyz | bash foundryup
  2. 克隆并构建服务器。
    bun i && bun build
  3. 更新您的客户端配置(例如:Claude 桌面):
"mcpServers": { "foundry": { "command": "node", "args": [ "path/to/foundry-mcp-server/dist/index.js" ], "env" :{ "PRIVATE_KEY": "0x1234", } } }

PRIVATE_KEY是可选的

使用 NPM 包进行设置

  • 即将推出

配置

服务器支持以下环境变量:

  • RPC_URL :未指定时使用的默认 RPC URL(可选)
  • PRIVATE_KEY :用于交易的私钥(可选)

注意:请勿添加包含主网资金的密钥。即使代码安全地使用了 LLM,LLM 也可能产生幻觉并发送恶意交易。请仅将其用于测试/开发目的。切勿信任 LLM!

工作区

服务器在~/.mcp-foundry-workspace维护一个持久的 Forge 工作区,用于存储所有 Solidity 文件、脚本和依赖项。

工具

  • 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、hex)
  • compute_address :计算将要部署的合约的地址
  • contract_size :获取已部署合约的字节码大小
  • estimate_gas交易的 gas 成本

在 Claude 桌面应用程序中的使用

安装完成并配置好 Claude 桌面应用程序后,您必须完全关闭并重新打开 Claude 桌面应用程序才能查看 tavily-mcp 服务器。您应该在应用程序左下方看到一个锤子图标,表示可用的 MCP 工具,您可以点击该锤子图标查看可用工具的更多详细信息。

现在,Claude 将拥有对 foundry-mcp 服务器的完全访问权限。如果您将以下示例插入 Claude 桌面应用程序,您将看到 foundry-mcp 服务器工具的运行。

示例

  1. 交易分析
Can you analyze the transaction and explain what it does? https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
  1. 查询余额
Query the mainnet ETH and USDT balances for the wallet 0x195F46025a6926968a1b3275822096eB12D97E70.
  1. 发送交易
Transfer 0.5 USDC to 0x195F46025a6926968a1b3275822096eB12D97E70 on Mainnet.
  1. 部署合约/运行脚本
Deploy a mock ERC20 contract to a local anvil instance and name it "Fire Coin".

致谢✨

免责声明

本软件按原样提供。对于软件的安全性或正确性,我们不提供任何明示或暗示的保证、陈述或担保。软件未经审核,因此无法保证其能够按预期运行,用户可能会遇到延迟、故障、错误、遗漏、传输信息丢失或资金损失。软件开发者对上述任何情况概不负责。用户应谨慎使用并自行承担风险。

ID: w4d49ya711