mcpField
F
foundry-zksync

foundry-zksync

本地服务
github.com/Jrigada开发工具135 周前更新

关于 foundry-zksync

foundry-zksync 是面向 zkSync Era 开发者的 MCP 服务,将 foundry-zksync 命令行工具提供给 AI 助手。它涵盖合约构建、测试、部署、交互及错误和文档查询。

主要功能

  1. 01初始化并配置 zkSync 项目
  2. 02编译、测试和部署合约
  3. 03调用合约并发送交易
  4. 04查询余额与交易 nonce
  5. 05分析 Gas 用量并生成基准
  6. 06查询文档并解释常见错误

适用场景

  1. 01创建新的 zkSync Foundry 项目
  2. 02在 AI 助手中运行合约测试
  3. 03部署合约并验证源码
  4. 04检查交易、余额或 Gas 用量

MCP 相关

通过 MCP 向 AI 客户端暴露 foundry-zksync 的 forge、cast 和 anvil-zksync 工具,包括项目操作、合约调用及本地开发节点管理。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jrigada-foundry-zksync": {
"command": "npx",
"args": [
"-y",
"foundry-zksync-mcp"
]
}
}
}
启动命令npx -y foundry-zksync-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfoundry-zksync-mcp0.2.3

工具

21

收录的工具列表 · 更新于 2 周前

参数类型必填说明
namestring否项目名称(如果 projectPath 是父目录,则用作目录名称)
noGitboolean否如果为 true,则跳过 git 初始化(--no-git)
noCommitboolean否如果为 true,则跳过初始 git 提交(--no-commit)
templatestring否要使用的 GitHub 模板,例如 'PaulRBerg/foundry-template'
projectPathstring是创建新项目的绝对路径

详细介绍

foundry-zksync-mcp

一个 MCP(Model Context Protocol)服务,可向 Claude 等 AI 助手提供 foundry-zksync CLI 工具。

工具

工具描述
initforge init,自动配置 zkSync
compileforge build --zksync
testforge test --zksync,支持过滤和详细程度选项
run_scriptforge script --zksync,支持广播、发送者和慢速模式
deployforge create --zksync,支持结构化输出解析
verifyforge verify-contract --zksync(Etherscan 和 zkSync Explorer)
install使用 forge install 管理依赖项
clean使用 forge clean 移除构建产物
gas_report使用 forge test --gas-report 分析 Gas 用量
snapshot使用 forge snapshot 进行 Gas 基准测试
read_foundry_toml读取并检查项目配置
explain将错误/日志与 zkSync 常见问题知识库进行匹配
cast_abi_encodecast abi-encode
cast_abi_decodecast abi-decode
cast_calldata_decodecast calldata-decode
cast_call使用 cast call 进行只读合约交互
cast_send使用 cast send 发送状态变更交易
cast_balance使用 cast balance 查询 ETH 余额
cast_nonce使用 cast nonce 查询交易 nonce
get_zksync_docs按主题查找 foundry-zksync 文档
anvil_zksync启动或检查本地 anvil-zksync 开发节点

先决条件

快速开始(npx)

无需安装——使用 npx 直接运行:

claude mcp add foundry-zksync -- npx -y foundry-zksync-mcp

或者添加到 claude_desktop_config.json / ~/.claude.json:

{
  "mcpServers": {
    "foundry-zksync": {
      "command": "npx",
      "args": ["-y", "foundry-zksync-mcp"]
    }
  }
}

从源代码安装

git clone https://github.com/Jrigada/foundry-zksync-mcp.git
cd foundry-zksync-mcp
npm install
npm run build

然后在 Claude Code 中注册:

claude mcp add foundry-zksync node /absolute/path/to/foundry-zksync-mcp/dist/index.js

密钥管理

所有签名工具(deploy、cast_send、run_script)均支持多种钱包方式。请根据安全需求选择:

本地开发(anvil-zksync)

在本地使用众所周知的测试密钥进行开发时,可直接使用 privateKey:

privateKey: "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"

这些是 anvil-zksync 的默认测试账户,不持有任何真实资产。

警告: 切勿将 privateKey 用于持有真实资金的密钥。MCP 工具参数对 AI 助手可见,也可能会被记录。

生产环境推荐:命名密钥库

密钥在磁盘上加密——只有账户名称会通过 MCP 传递。

# Import a private key into a named keystore (interactive, key never shown)
cast wallet import deployer --interactive

# List your keystores
ls ~/.foundry/keystores/

然后在任何签名工具中使用 account: "deployer"。Forge 会在运行时提示输入密码,你也可以使用 passwordFile 指定密码文件。

密钥库文件

如果你已有加密的密钥库 JSON 文件(例如来自 Geth 或 MetaMask 导出):

keystore: "/path/to/keystore.json"
passwordFile: "/path/to/password.txt"
硬件钱包
ledger: true    # Ledger
trezor: true    # Trezor
云 KMS
aws: true       # AWS KMS (set AWS_KMS_KEY_ID env var)
gcp: true       # Google Cloud KMS (set GCP_PROJECT_ID, GCP_LOCATION, etc.)
签名方式概览
方式密钥暴露情况最适用场景
硬件钱包无(密钥不会离开设备)高价值生产环境
云 KMS无(密钥存储在 HSM 中)自动化生产环境
命名密钥库(account)不会通过 MCP 暴露(在磁盘上加密)常规生产用途
密钥库文件不会通过 MCP 暴露(在磁盘上加密)现有工作流
privateKey对 AI 助手可见仅限使用测试密钥进行本地开发

项目结构

src/
  index.ts              MCP server entry point, registers all 21 tools
  knowledge.ts          Knowledge base (45+ entries) and system addresses
  tools/
    shared.ts           Profile field and env builder shared across forge tools
    init.ts             forge init with zkSync config
    compile.ts          forge build --zksync
    test.ts             forge test --zksync
    run_script.ts       forge script --zksync
    deploy.ts           forge create --zksync (structured output)
    verify.ts           forge verify-contract --zksync
    install.ts          forge install
    clean.ts            forge clean
    gas_report.ts       forge test --gas-report
    snapshot.ts         forge snapshot
    read_foundry_toml.ts  Read project config
    explain.ts          Error/log explanation with knowledge base
    get_zksync_docs.ts  Documentation lookup with embedded content
    cast_abi_encode.ts  cast abi-encode
    cast_abi_decode.ts  cast abi-decode
    cast_calldata_decode.ts  cast calldata-decode
    cast_call.ts        cast call
    cast_send.ts        cast send
    cast_balance.ts     cast balance
    cast_nonce.ts       cast nonce
    anvil_zksync.ts     anvil-zksync node management
  __tests__/            133 tests (vitest)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。