返回市场
锻造-MCP服务器

锻造-MCP服务器

作者:PraneshASP215 星标更新:2025-08-03

项目介绍

Foundry MCP 服务器

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

Foundry MCP 演示

概述

此服务器连接 LLM 助手到 Foundry 生态系统,使它们能够:

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

特性

网络交互

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

合约交互

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

Solidity 开发

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

实用功能

  • 计算合约地址
  • 检查合约字节码大小
  • 估算 Gas 成本
  • 在单位之间转换(例如十六进制到十进制)
  • 生成钱包
  • 获取事件日志
  • 查找函数和事件签名

智能合约分析(Heimdall)

  • 将 EVM 字节码反汇编成可读的操作码
  • 解码原始调用数据而无需 ABI
  • 将 EVM 字节码反编译成 Solidity 源码和 ABI
  • 为 EVM 字节码生成可视化控制流图
  • 详细检查带有调用数据解码和跟踪分析的交易

使用方法

该服务器设计为 MCP 客户端使用的 MCP 工具提供者。当连接到客户端时,它使客户端(如 Claude 桌面版、Cursor、客户端等)能够直接执行 Solidity 和链上操作。

要求

手动设置

  1. 确保在系统中安装了 Foundry 工具(Forge、Cast、Anvil):

    curl -L https://foundry.paradigm.xyz | bash
    foundryup
    
  2. 克隆并构建服务器。

    bun i && bun build ./src/index.ts --outdir ./dist --target node
    
  3. 更新客户端配置(例如:Claude 桌面版):

 "mcpServers": {
    "foundry": {
      "command": "node",
      "args": [
        "path/to/foundry-mcp-server/dist/index.js"
      ],
      "env" :{
        "PRIVATE_KEY": "0x1234",
      }
    }
 }

[!NOTE] 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:用于交易的私钥(可选)

[!CAUTION] 不要添加包含主网资金的密钥。尽管代码安全地使用它,LLMs 可能会幻觉并发送恶意交易。 仅用于测试/开发目的。不要信任 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、十六进制)之间转换
  • compute_address:计算将要部署的合约的地址
  • contract_size:获取已部署合约的字节码大小
  • estimate_gas:估算交易的 Gas 成本

Heimdall 分析

  • heimdall_disassemble:将 EVM 字节码反汇编成可读的操作码
  • heimdall_decode:解码原始调用数据而无需 ABI
  • heimdall_decompile:将 EVM 字节码反编译成 Solidity 源码和 ABI
  • heimdall_cfg:为 EVM 字节码生成可视化控制流图
  • heimdall_inspect:详细检查以太坊交易

在 Claude 桌面应用中的使用 🎯

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

替代文本

现在 Claude 将完全访问 foundry-mcp 服务器。如果你将下面的例子插入到 Claude 桌面应用中,你应该能看到 foundry-mcp 服务器工具的实际操作。

示例

  1. 交易分析
你能分析一下这个交易并解释它做了什么吗?
https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
  1. 查询余额
查询主网 ETH 和 USDT 的余额,对于钱包 0x195F46025a6926968a1b3275822096eB12D97E70。
  1. 发送交易
在主网上将 0.5 USDC 转移到 0x195F46025a6926968a1b3275822096eB12D97E70。
  1. 部署合约/运行脚本
将模拟的 ERC20 合约部署到本地 Anvil 实例,并将其命名为“Fire Coin”。

致谢 ✨

免责声明

软件按原样提供。不保证、陈述或担保,无论是明示还是暗示,关于软件的安全性或正确性。它们未经审计,因此无法保证它们将按预期工作,用户可能会遇到延迟、故障、错误、遗漏、传输信息丢失或资金损失。创作者不对上述任何情况负责。用户应谨慎行事,并自担风险使用。