Foundry MCP Server
一个为 Solidity 开发者打造的 Foundry 实验性 MCP 服务器
PraneshASP
README
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 脚本
- 部署合约
实用函数
- 计算合约地址
- 检查合约字节码大小
- 估算 gas 成本
- 在单位之间转换(十六进制到十进制等)
- 生成钱包
- 获取事件日志
- 查找函数和事件签名
用法
该服务器旨在用作 MCP 客户端的 MCP 工具提供程序。 连接到客户端后,它使客户端(claude desktop, cursor, client 等)能够直接执行 Solidity 和链上操作。
要求
- Node.js v18+
- Foundry 工具链 (Forge, Cast, Anvil)
手动设置
-
确保 Foundry 工具(Forge、Cast、Anvil)已安装在您的系统上:
curl -L https://foundry.paradigm.xyz | bash foundryup
-
克隆并构建服务器。
bun i && bun build
-
更新您的客户端配置(例如:Claude desktop):
"mcpServers": {
"foundry": {
"command": "node",
"args": [
"path/to/foundry-mcp-server/dist/index.js"
],
"env" :{
"PRIVATE_KEY": "0x1234",
}
}
}
[!NOTE]
PRIVATE_KEY
是可选的
使用 NPM 包设置
- 即将推出
配置
服务器支持以下环境变量:
RPC_URL
: 未指定时使用的默认 RPC URL(可选)PRIVATE_KEY
: 用于交易的私钥(可选)
[!CAUTION] 不要添加包含主网资金的密钥。 即使代码安全地使用它,LLM 也会产生幻觉并发送恶意交易。 仅用于测试/开发目的。 不要相信 LLM!!
工作区
服务器在 ~/.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 成本
在 Claude Desktop App 中使用 🎯
安装完成后,并且配置了 Claude 桌面应用程序后,您必须完全关闭并重新打开 Claude 桌面应用程序才能看到 tavily-mcp 服务器。 您应该在应用程序的左下角看到一个锤子图标,指示可用的 MCP 工具,您可以单击锤子图标以查看有关可用工具的更多详细信息。
现在 claude 将完全访问 foundry-mcp 服务器。 如果您将以下示例插入到 Claude 桌面应用程序中,您应该会看到 foundry-mcp 服务器工具在运行。
示例
- 交易分析:
你能分析一下这笔交易并解释它的作用吗?
https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
- 查询余额:
查询钱包 0x195F46025a6926968a1b3275822096eB12D97E70 的主网 ETH 和 USDT 余额。
- 发送交易:
在主网上将 0.5 USDC 转账到 0x195F46025a6926968a1b3275822096eB12D97E70。
- 部署合约/运行脚本:
将模拟 ERC20 合约部署到本地 anvil 实例,并将其命名为“Fire Coin”。
致谢 ✨
免责声明
该软件按原样提供。 不对软件的安全性或正确性做出任何明示或暗示的保证、陈述或担保。 它们未经审计,因此无法保证它们会按预期工作,并且用户可能会遇到延迟、故障、错误、遗漏、传输信息丢失或资金损失。 创建者不对上述任何情况负责。 用户应谨慎行事并自行承担风险使用。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。