foundry-zksync について
foundry-zksync は、zkSync Era の開発者向けに foundry-zksync の CLI ツールを AI アシスタントへ提供する MCP サーバーです。コントラクトのビルド、テスト、デプロイ、操作に加え、エラーやドキュメントの検索にも対応します。
主な機能
- 01zkSync プロジェクトの初期化と設定
- 02コントラクトのコンパイル、テスト、デプロイ
- 03コントラクト呼び出しとトランザクション送信
- 04残高とトランザクション nonce の照会
- 05Gas 使用量の分析とベンチマーク作成
- 06ドキュメント検索と一般的なエラーの解説
活用シーン
- 01新しい zkSync Foundry プロジェクトの作成
- 02AI アシスタント経由でのコントラクトテスト
- 03コントラクトのデプロイとソース検証
- 04トランザクション、残高、Gas 使用量の確認
MCP 対応
forge、cast、anvil-zksync のツールを MCP クライアントに公開し、プロジェクト操作、コントラクトとの対話、ローカル開発ノードの管理を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
21掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | いいえ | プロジェクト名(projectPath が親ディレクトリの場合、ディレクトリ名として使用) |
| noGit | boolean | いいえ | true の場合、git の初期化をスキップします(--no-git) |
| noCommit | boolean | いいえ | true の場合、初回の git コミットをスキップします(--no-commit) |
| template | string | いいえ | 使用する GitHub テンプレート。例:'PaulRBerg/foundry-template') |
| projectPath | string | はい | 新しいプロジェクトを作成する絶対パス |
詳細
foundry-zksync-mcp
Claude などの AI アシスタントに foundry-zksync の CLI ツールを提供する MCP(Model Context Protocol)サーバーです。
ツール
| ツール | 説明 |
|---|---|
init | zkSync 設定を自動適用して forge init を実行 |
compile | forge build --zksync |
test | フィルター/詳細度オプション付きで forge test --zksync を実行 |
run_script | ブロードキャスト、送信者、低速モードを指定して forge script --zksync を実行 |
deploy | 構造化出力の解析を伴う forge create --zksync |
verify | forge verify-contract --zksync(Etherscan と zkSync Explorer) |
install | 依存関係を管理するための forge install |
clean | ビルド成果物を削除する forge clean |
gas_report | ガス使用量を分析する forge test --gas-report |
snapshot | ガスのベンチマークを行う forge snapshot |
read_foundry_toml | プロジェクト設定を読み取り、確認 |
explain | エラー/ログを zkSync 特有の注意点に関するナレッジベースと照合 |
cast_abi_encode | cast abi-encode |
cast_abi_decode | cast abi-decode |
cast_calldata_decode | cast calldata-decode |
cast_call | 読み取り専用のコントラクト操作を行う cast call |
cast_send | 状態を変更するトランザクションを送信する cast send |
cast_balance | ETH 残高を照会する cast balance |
cast_nonce | トランザクションのナンスを照会する cast nonce |
get_zksync_docs | トピック別に foundry-zksync のドキュメントを検索 |
anvil_zksync | ローカルの anvil-zksync 開発ノードを起動または確認 |
前提条件
- Node.js >= 18
- foundry-zksync がインストール済みであること(
foundryup-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)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。