Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.Jrigada/foundry-zksync

NPM · FOUNDRY-ZKSYNC-MCP

Expose foundry-zksync (forge, cast, anvil-zksync) tools for zkSync Era development

Available components

0 this week 76 Trust /100

Last scanned (7 hours ago)

Scores higher than 53% of npm servers

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency44
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4095 tokens (~195/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "clean" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 +1
    • Stability: 0.97 → pass security
  • 2 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 27 Oct 26 +1
    • Stability: 0.97 → pass security
  • 26 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 20 Oct 26 +1
    • Stability: 0.97 → pass security
  • 19 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +2
    • Stability: 0.87 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/foundry-zksync-mcp@0.2.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 93 packages
Packages resolved 93
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 21 exposed · ~4,095 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
anvil_zksync ~181

Start or check a local anvil-zksync development node. Supports forking from mainnet/testnet. Default port: 8011.

NameTypeReqDescription
accountsnumber–Number of funded accounts to generate (default: 10)
actionstringyes'start' launches anvil-zksync in the background and returns when ready. 'check' tests if anvil-zksync is reachable at the given port.
balancenumber–ETH balance for each generated account in ether (default: 10000)
forkBlockNumbernumber–Block number to fork from (requires forkUrl)
forkUrlstring–RPC URL to fork from, e.g. https://mainnet.era.zksync.io
portnumber–Port to listen on (default: 8011)

No output schema declared.

No examples provided.

cast_abi_decode ~111

Decode ABI-encoded hex data back into human-readable values (cast abi-decode)

NameTypeReqDescription
datastringyesHex-encoded ABI data to decode (0x-prefixed)
inputboolean–If true, decode as input data (function args). If false/omitted, decode as output data (return values).
signaturestringyesSolidity function signature whose output types to decode against, e.g. "balanceOf(address)(uint256)" or "transfer(address,uint256)"

No output schema declared.

No examples provided.

cast_abi_encode ~87

ABI-encode values for a given Solidity function/constructor signature (cast abi-encode)

NameTypeReqDescription
argsarrayyesValues to encode, matching the signature types in order, e.g. ["0x1234...", "1000000"]
signaturestringyesSolidity function or constructor signature, e.g. "constructor(address,uint256)" or "transfer(address,uint256)"

No output schema declared.

No examples provided.

cast_balance ~89

Query the ETH balance of an address (cast balance)

NameTypeReqDescription
addressstringyesAddress to query the balance of
blockTagstring–Block to query at, e.g. "latest", "pending", or a block number
etherboolean–If true, format the output in ether instead of wei
rpcUrlstringyesRPC URL of the network

No output schema declared.

No examples provided.

cast_call ~134

Read-only call to a deployed contract — no gas spent, no state change (cast call)

NameTypeReqDescription
argsarray–Function arguments in order, e.g. ['0x1234...']
blockTagstring–Block to query at, e.g. "latest", "pending", or a block number
rpcUrlstringyesRPC URL of the zkSync network to call against
signaturestringyesFunction signature with return type, e.g. "balanceOf(address)(uint256)" or "name()(string)"
tostringyesAddress of the contract to call

No output schema declared.

No examples provided.

cast_calldata_decode ~70

Decode raw transaction calldata (with 4-byte selector) into function arguments (cast calldata-decode)

NameTypeReqDescription
calldatastringyesRaw transaction calldata (0x-prefixed, includes the 4-byte selector)
signaturestringyesFunction signature, e.g. "transfer(address,uint256)"

No output schema declared.

No examples provided.

cast_nonce ~88

Query the transaction nonce of an address (cast nonce). Note: on zkSync this returns the TX nonce only, not the deploy nonce.

NameTypeReqDescription
addressstringyesAddress to query the nonce of
blockTagstring–Block to query at, e.g. "latest", "pending", or a block number
rpcUrlstringyesRPC URL of the network

No output schema declared.

No examples provided.

cast_send ~414

Send a state-changing transaction to a deployed contract (cast send)

NameTypeReqDescription
accountstring–Named keystore account from ~/.foundry/keystores (recommended for production). Create one with: cast wallet import <name> --interactive
argsarray–Function arguments in order
awsboolean–Sign with AWS KMS (requires AWS_KMS_KEY_ID env var)
fromstring–Sender address, used with --unlocked or hardware wallets. Maps to --from for cast/deploy, --sender for forge script.
gasLimitstring–Gas limit override
gcpboolean–Sign with Google Cloud KMS (requires GCP_PROJECT_ID, GCP_LOCATION, GCP_KEY_RING, GCP_KEY_NAME, GCP_KEY_VERSION env vars)
keystorestring–Path to an encrypted keystore JSON file
keystorePasswordstring–Keystore password (prefer passwordFile to keep it out of process args)
ledgerboolean–Sign with a Ledger hardware wallet
passwordFilestring–Path to a file containing the keystore password
privateKeystring–Raw private key for signing. Only use for local development with well-known test keys (e.g. anvil-zksync accounts). For production, use 'account' (named keystore) or hardware wallets instead.
rpcUrlstringyesRPC URL of the zkSync network
signaturestringyesFunction signature, e.g. "transfer(address,uint256)"
tostringyesAddress of the contract to send the transaction to
trezorboolean–Sign with a Trezor hardware wallet
unlockedboolean–Use eth_sendTransaction with --from address (no local signing). For nodes that manage keys natively.
valuestring–ETH value to send with the transaction, e.g. "0.1ether" or amount in wei

No output schema declared.

No examples provided.

clean ~93

Remove build artifacts (out/ and zkout/) from a foundry project (forge clean)

NameTypeReqDescription
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory

No output schema declared.

No examples provided.

compile ~130

Compile a foundry-zksync project (forge build --zksync). Check foundry.toml for [profile.X.zksync] sections — if zkSync sources live under a specific profile (e.g. 'zksync'), pass that as the profile argument.

NameTypeReqDescription
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory

No output schema declared.

No examples provided.

deploy ~564

Deploy a contract to a zkSync network (forge create --zksync). Returns structured output with contract address, tx hash, and deployer.

NameTypeReqDescription
accountstring–Named keystore account from ~/.foundry/keystores (recommended for production). Create one with: cast wallet import <name> --interactive
awsboolean–Sign with AWS KMS (requires AWS_KMS_KEY_ID env var)
broadcastboolean–If true, actually broadcast the deployment transaction on-chain. Without this, forge create runs in dry-run mode.
constructorArgsarray–Constructor arguments, each as a separate string. Solidity types are ABI-encoded by forge, e.g. ['0xaddr', '100', 'hello']
contractPathstringyesContract identifier in the form src/MyContract.sol:MyContract
extraArgsarray–Additional CLI flags, each as a separate array element
fromstring–Sender address, used with --unlocked or hardware wallets. Maps to --from for cast/deploy, --sender for forge script.
gcpboolean–Sign with Google Cloud KMS (requires GCP_PROJECT_ID, GCP_LOCATION, GCP_KEY_RING, GCP_KEY_NAME, GCP_KEY_VERSION env vars)
keystorestring–Path to an encrypted keystore JSON file
keystorePasswordstring–Keystore password (prefer passwordFile to keep it out of process args)
ledgerboolean–Sign with a Ledger hardware wallet
passwordFilestring–Path to a file containing the keystore password
privateKeystring–Raw private key for signing. Only use for local development with well-known test keys (e.g. anvil-zksync accounts). For production, use 'account' (named keystore) or hardware wallets instead.
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory
rpcUrlstringyesRPC URL of the target zkSync network
trezorboolean–Sign with a Trezor hardware wallet
unlockedboolean–Use eth_sendTransaction with --from address (no local signing). For nodes that manage keys natively.
verifierUrlstring–Block explorer verification API URL (e.g. https://api-era.zksync.network/api)
verifyboolean–If true, verify the contract on a block explorer after deployment

No output schema declared.

No examples provided.

explain ~134

Explain raw output from foundry-zksync: error messages, logs, or transactions. Matches against a knowledge base of known zkSync gotchas and returns actionable advice. Use context='general' for background on what foundry-zksync is and how it works.

NameTypeReqDescription
contextstring–Hint for what kind of text this is. 'general' prepends foundry-zksync background context. Defaults to general.
rawTextstringyesRaw text to explain — can be an error message, forge log output, transaction hash, ABI-encoded data, or a general question about foundry-zksync

No output schema declared.

No examples provided.

gas_report ~171

Run tests and generate a gas usage report (forge test --zksync --gas-report). Note: zkSync gas values are aggregate-only (no computation/pubdata breakdown).

NameTypeReqDescription
contractFilterstring–Regex passed to --match-contract to filter which contracts appear in the report
filterstring–Regex passed to --match-test to filter which test functions run
pathFilterstring–Glob passed to --match-path to filter which test files run
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory

No output schema declared.

No examples provided.

get_zksync_docs ~155

Look up foundry-zksync documentation by topic. Returns URLs to the foundry-zksync book for installation, config, testing, deployment, cheatcodes, nonces, factory deps, paymasters, verification, and more. Use topic='list' to see all available topics.

NameTypeReqDescription
topicstringyesTopic to look up in the foundry-zksync book. Examples: 'installation', 'forge-test', 'cheatcodes', 'deployment', 'config', 'zksync-config', 'nonces', 'factory-deps', 'paymaster', 'verification', 'cas…

No output schema declared.

No examples provided.

init ~126

Scaffold a new foundry project and add [profile.default.zksync] config (forge init)

NameTypeReqDescription
namestring–Project name (used as directory name if projectPath is the parent)
noCommitboolean–If true, skip the initial git commit (--no-commit)
noGitboolean–If true, skip git initialization (--no-git)
projectPathstringyesAbsolute path where the new project should be created
templatestring–GitHub template to use, e.g. 'PaulRBerg/foundry-template'

No output schema declared.

No examples provided.

install ~102

Install dependencies for a foundry project (forge install)

NameTypeReqDescription
dependenciesarray–Dependencies to install, e.g. ['OpenZeppelin/openzeppelin-contracts', 'transmissions11/solmate']. If omitted, installs all existing dependencies from foundry.toml.
noCommitboolean–If true, passes --no-commit to skip creating a git commit for the install
projectPathstringyesAbsolute path to the foundry project directory

No output schema declared.

No examples provided.

read_foundry_toml ~96

Read and return the contents of foundry.toml from a project. Useful for inspecting profiles, zkSync config, library links, and other settings.

NameTypeReqDescription
projectPathstringyesAbsolute path to the foundry project directory
summaryboolean–If true, return a summary highlighting zkSync-relevant config (profiles, zksolc version, compile mode, libraries) instead of raw TOML.

No output schema declared.

No examples provided.

run_script ~532

Run a forge script targeting zkSync (forge script --zksync)

NameTypeReqDescription
accountstring–Named keystore account from ~/.foundry/keystores (recommended for production). Create one with: cast wallet import <name> --interactive
awsboolean–Sign with AWS KMS (requires AWS_KMS_KEY_ID env var)
broadcastboolean–If true, passes --broadcast to actually send transactions on-chain
extraArgsarray–Additional CLI flags, each as a separate array element, e.g. ['--verify', '--etherscan-api-key', 'abc']
fromstring–Sender address, used with --unlocked or hardware wallets. Maps to --from for cast/deploy, --sender for forge script.
gcpboolean–Sign with Google Cloud KMS (requires GCP_PROJECT_ID, GCP_LOCATION, GCP_KEY_RING, GCP_KEY_NAME, GCP_KEY_VERSION env vars)
keystorestring–Path to an encrypted keystore JSON file
keystorePasswordstring–Keystore password (prefer passwordFile to keep it out of process args)
ledgerboolean–Sign with a Ledger hardware wallet
passwordFilestring–Path to a file containing the keystore password
privateKeystring–Raw private key for signing. Only use for local development with well-known test keys (e.g. anvil-zksync accounts). For production, use 'account' (named keystore) or hardware wallets instead.
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory
rpcUrlstring–RPC URL to fork from or broadcast to
scriptPathstringyesPath to the Solidity script file, e.g. script/Deploy.s.sol
senderstring–Address to use as msg.sender for the script simulation (--sender). Useful for dry-run without a signing key.
slowboolean–If true, sends transactions sequentially (--slow). Required on ZK chains which do not support transaction batching.
trezorboolean–Sign with a Trezor hardware wallet
unlockedboolean–Use eth_sendTransaction with --from address (no local signing). For nodes that manage keys natively.

No output schema declared.

No examples provided.

snapshot ~188

Create or compare gas snapshots (forge snapshot --zksync). Use diff=true to compare against existing .gas-snapshot, check=true to fail on changes.

NameTypeReqDescription
checkboolean–If true, compare against existing snapshot and fail if any gas values changed
contractFilterstring–Regex passed to --match-contract to filter which test contracts run
diffboolean–If true, compare against the existing .gas-snapshot file and show differences
filterstring–Regex passed to --match-test to filter which test functions run
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory

No output schema declared.

No examples provided.

test ~232

Run tests in a foundry-zksync project (forge test --zksync). Check foundry.toml for [profile.X] sections — if the test directory differs per profile (e.g. profile 'zksync' has test = 'zksync/tests'), pass the correct profile argument.

NameTypeReqDescription
contractFilterstring–Regex passed to --match-contract to filter which test contracts run
filterstring–Regex passed to --match-test to filter which test functions run
pathFilterstring–Glob passed to --match-path to filter which test files run, e.g. 'test/unit/*'
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory
verbosityinteger–Verbosity level (0-5), maps to -v through -vvvvv. Higher = more trace output

No output schema declared.

No examples provided.

verify ~398

Verify a deployed contract on a block explorer (forge verify-contract --zksync). Supports Etherscan (requires API key) and zkSync Explorer (no key needed).

NameTypeReqDescription
compilerVersionstring–Compiler version used for deployment, e.g. v0.8.26+commit.8a97fa7a
constructorArgsstring–ABI-encoded constructor arguments (hex string, no 0x prefix)
contractAddressstringyesDeployed contract address to verify
contractPathstringyesContract identifier, e.g. src/MyContract.sol:MyContract
etherscanApiKeystring–Etherscan API key (required when verifier is 'etherscan')
extraArgsarray–Additional CLI flags
numOptimizationsnumber–Number of optimization runs used during compilation
profilestring–Foundry profile to use (maps to FOUNDRY_PROFILE env var). Selects a [profile.<name>] section from foundry.toml, e.g. 'zksync', 'ci', 'production'.
projectPathstringyesAbsolute path to the foundry project directory
retriesinteger–Number of verification retries (default: 2, max: 10). Minimum is 1. Forge retries on transient failures.
verifierstringyesVerification backend. 'etherscan' requires an API key, 'zksync' uses the zkSync Explorer (no API key needed).
verifierUrlstringyesVerifier API URL. Etherscan mainnet: https://api-era.zksync.network/api, Etherscan testnet: https://api-sepolia-era.zksync.network/api, Explorer mainnet: https://explorer.zksync.io/contract_verificat…

No output schema declared.

No examples provided.

Install

How do I install the io.github.Jrigada/foundry-zksync MCP server?

io.github.Jrigada/foundry-zksync runs locally as an npm package, launched with npx -y foundry-zksync-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · foundry-zksync-mcp

# add to Claude Code
claude mcp add jrigada-foundry-zksync -- npx -y foundry-zksync-mcp
Common questions

What is the io.github.Jrigada/foundry-zksync MCP server?

io.github.Jrigada/foundry-zksync is an MCP server listed in the public MCP registry as io.github.Jrigada/foundry-zksync. Expose foundry-zksync (forge, cast, anvil-zksync) tools for zkSync Era development. This page covers its npm package (foundry-zksync-mcp).

Is the io.github.Jrigada/foundry-zksync MCP server safe to use?

io.github.Jrigada/foundry-zksync scores 76 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.Jrigada/foundry-zksync MCP server expose?

io.github.Jrigada/foundry-zksync exposes 21 tools: init, install, clean, compile, test, and 16 more. Their descriptions and schemas cost roughly 4,095 tokens of context every time the server is loaded.

Is the io.github.Jrigada/foundry-zksync MCP server still maintained?

io.github.Jrigada/foundry-zksync is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.Jrigada/foundry-zksync MCP server under?

io.github.Jrigada/foundry-zksync declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.