@just-jelly/mcp-server
Provides RPC endpoint configuration for deploying and interacting with fhEVM contracts on Sepolia, enabling reliable blockchain access.
Integrates OpenZeppelin's confidential contract standards and patterns, including ERC-7984, with generated contract templates and reference documentation.
Generates complete React frontend dApps for interacting with fhEVM contracts, including balance reveal and transfer UI components.
Generates Vite build configuration with required CORS headers for fhEVM WASM support, enabling fast and correct frontend setup.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@just-jelly/mcp-serverscaffold an fhEVM token project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zama fhEVM AI Agent Skill Package
Give any AI coding assistant — Claude, Cursor, Windsurf, Copilot, Cline, Codex — accurate fhEVM knowledge and real executable tools for building confidential smart contracts on Zama's fhEVM.
This package has three parts that work together:
An MCP server — a real npm package your AI agent can call to scaffold projects, compile contracts, deploy to Sepolia, check wallet balances, look up protocol addresses, verify contracts, encrypt values, check ACL, run tests, and decode errors
Rules files — drop-in config for every major AI coding tool so it stops hallucinating fhEVM code
Error decoder — a catalog of every known fhEVM error with root cause and exact fix
npm: @just-jelly/mcp-server — v2.2.6 — 32 tools
1. MCP Server
The MCP server is an npm package. Pick one of two ways to use it:
Option A — npx (no install, always latest)
npx -y @just-jelly/mcp-serverUse this config in your AI tool:
{
"mcpServers": {
"fhevm": {
"command": "npx",
"args": ["-y", "@just-jelly/mcp-server"],
"env": {
"FHEVM_PRIVATE_KEY": "0x_your_deployer_private_key",
"FHEVM_RPC_URL": "https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY",
"ETHERSCAN_API_KEY": "optional_for_auto_verification"
}
}
}
}Option B — Global install (faster startup, no npx delay)
npm install -g @just-jelly/mcp-serverThen use fhevm-mcp as the command instead of npx:
{
"mcpServers": {
"fhevm": {
"command": "fhevm-mcp",
"args": [],
"env": {
"FHEVM_PRIVATE_KEY": "0x_your_deployer_private_key",
"FHEVM_RPC_URL": "https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY",
"ETHERSCAN_API_KEY": "optional_for_auto_verification"
}
}
}
}Connect to your AI tool
The two key fields:
FHEVM_PRIVATE_KEYandFHEVM_RPC_URLlive in the MCP configenvblock — you never need a.envfile in your project. When deploy/test tools run Hardhat, these are automatically forwarded to the subprocess.RPC URL: Use a private RPC endpoint (Alchemy, Infura, QuickNode). The public BlastAPI fallback works for basic contract calls but rate-limits
eth_getBalance. A free Alchemy Sepolia key is all you need.Prefer not to hardcode? Set the vars in your shell profile (
export FHEVM_PRIVATE_KEY=0x...in~/.zshrc) and use a tiny wrapper script instead. See DEPLOYMENT.md for the exact pattern.
AI Tool | Where to put the config |
Claude Desktop (Mac) |
|
Claude Desktop (Windows) |
|
Claude Code CLI |
|
Cursor |
|
Windsurf |
|
OpenAI Codex |
|
Cline (VS Code) | Cline sidebar → Settings → MCP Servers |
31 Tools
Wallet & Config
Tool | What it does |
| Generate exact config JSON for any AI tool — shows where to paste your FHEVM_PRIVATE_KEY |
| Check ETH balance on Sepolia — auto-derives address from FHEVM_PRIVATE_KEY |
| All 5 Sepolia faucets with daily limits and requirements |
Protocol Addresses
Tool | What it does |
| Full Sepolia address book: core fhEVM, Zama tokens, all 8 cToken wrappers, staking, governance, fees |
| Verify deployed contract source on Etherscan (uses ETHERSCAN_API_KEY from config) |
| Polling script + test pattern for FHE.requestDecryption() async callbacks |
| Complete TypeScript for mint→wrap→transfer→balance on any cToken wrapper |
Project Setup
Tool | What it does |
| Creates a complete Hardhat project — 4 templates: minimal, token, voting, auction |
| Generate hardhat.config.ts with all correct settings |
| Generate Vite config with required CORS headers for fhEVM WASM |
| Scan package.json for common fhEVM dependency errors |
Compile & Deploy
Tool | What it does |
| Compiles contracts, returns fhEVM-specific error explanations |
| Deploys to Sepolia or localhost — FHEVM_PRIVATE_KEY forwarded automatically |
| Runs tests with fhEVM failure analysis (mock + Sepolia modes) |
Code Generation
Tool | What it does |
| Generates full contracts for 9 patterns: token, vault, voting, auction, payroll, lending, identity, game, erc7984 |
| Test boilerplate with encrypt/decrypt patterns |
| Complete React dApp with CORS config, balance reveal, transfer UI |
Encryption
Tool | What it does |
| Generates complete frontend + Node.js encryption code for any type |
| Packs multiple values into one input proof (gas efficient) |
| Reads a ciphertext handle + generates full re-encryption frontend code |
| Calls any view function on a deployed contract via your FHEVM_RPC_URL |
ACL
Tool | What it does |
| Live on-chain ACL check — is this address allowed to use this handle? |
| Returns production Solidity for 6 ACL scenarios |
Analysis & Errors
Tool | What it does |
| Static analysis — finds missing |
| Decodes any fhEVM error → root cause + exact fix (55+ patterns, all Solidity custom errors) |
Network & Gas
Tool | What it does |
| All Sepolia/mainnet addresses + SDK initialization code |
| Gas cost model + optimization strategies |
Tutorials
Tool | What it does |
| Step-by-step tutorials: quickstart, token, voting, frontend, re-encryption, on-chain-decryption, testing, deployment, OpenZeppelin |
| Deep reference for every FHE type — euint8→256, ebool, eaddress, casting, ops table |
| Architecture diagram, async flow, gas model, mock vs Sepolia |
| New — ERC-7984 + OZ Confidential Contracts reference: standard overview, IConfidentialERC20 interface, all OZ base contracts (Mintable/WithErrors/Votes/Vesting), wrap/unwrap Gateway pattern, PLACEHOLDER events, testing, migration from ERC-20 |
| List all 32 tools with descriptions |
Related MCP server: Heim MCP
2. Rules Files
Drop-in rules for every major AI coding tool. Copy the right file(s) into your fhEVM project and the AI immediately knows how to write correct confidential contracts.
zama-fhevm-skill/
├── SKILL.md → Claude Code (load as a skill)
├── CLAUDE.md → Claude Code (auto-loaded in project)
├── AGENTS.md → OpenAI Codex (auto-loaded in project)
├── .cursor/rules/
│ ├── fhevm-core.mdc → Cursor — always active (alwaysApply: true)
│ ├── fhevm-solidity.mdc → Cursor — activates on *.sol files
│ ├── fhevm-frontend.mdc → Cursor — activates on src/**/*.{ts,tsx}
│ └── fhevm-testing.mdc → Cursor — activates on *.test.{ts,js}
├── .windsurfrules → Windsurf (auto-loaded in project)
├── .github/copilot-instructions.md → GitHub Copilot (auto-loaded in project)
└── .clinerules/fhevm.md → Cline / RooCode (auto-loaded in project)Copy what you need:
# Cursor
cp -r zama-fhevm-skill/.cursor your-project/.cursor
# Windsurf
cp zama-fhevm-skill/.windsurfrules your-project/.windsurfrules
# GitHub Copilot
cp -r zama-fhevm-skill/.github your-project/.github
# OpenAI Codex
cp zama-fhevm-skill/AGENTS.md your-project/AGENTS.md
# Cline
cp -r zama-fhevm-skill/.clinerules your-project/.clinerules
# Claude Code
cp zama-fhevm-skill/CLAUDE.md your-project/CLAUDE.mdWhat the rules teach every AI tool
The rules enforce 10 patterns that AI consistently gets wrong without them:
FHE.allowThis()after every ciphertext assignment — without this the next tx reverts withACL: Not allowedFHE.fromExternal(enc, proof)to verify inputs before useFHE.select(condition, a, b)for branching —if(ebool)is a compile errorInitialize mapping slots before first FHE operation —
bytes32(0)reverts immediatelyevmVersion: "cancun"in hardhat.config.ts — missing this breaks deploymentInherit the correct network config contract per chain
chai@^4only — v5 breaks@fhevm/hardhat-plugin@fhevm/hardhat-pluginmust be the first import in hardhat.config.tsPlaintext divisors only —
FHE.div(a, 100)notFHE.div(a, b)Fresh
inputProofper transaction — reusing a proof fails ZK verification
3. Error Decoder
zama-fhevm-skill/errors/ERRORS.md — 55+ fhEVM errors across 13 categories, each with root cause, exact code fix, and prevention rule. Sourced from real fhEVM Solidity contract source (FHE.sol, ACL.sol, InputVerifier.sol).
Also available as the decode_fhevm_error MCP tool — your AI can call it live during development.
13 categories:
ACL / access control errors
Handle and zero-handle errors (
HandlesAlreadySavedForRequestID,NoHandleFoundForRequestID,UnsupportedHandleType)Input proof / ZK verification errors (
InputLengthAbove64Bytes/128Bytes/256Bytes,InvalidKMSSignatures)Input length / type errors — real Solidity custom errors from fhEVM source
Decryption / KMS / callback errors
Hardhat and compilation errors
Solidity type errors
Gas / computation errors
Frontend SDK / WASM errors
Testing errors
Deployment / network errors
OpenZeppelin confidential contracts errors
MCP server / config errors
Sepolia Addresses
Core fhEVM
Contract | Address |
ACL |
|
KMS Verifier |
|
Input Verifier |
|
Chain ID |
|
Relayer |
|
Confidential Token Wrappers (Mock — freely mintable underlying)
Symbol | Wrapper Address |
|
|
|
|
|
|
|
|
|
|
Use get_protocol_addresses for the full book including staking, governance, and fee contracts.
License
BSD-3-Clause-Clear — same as Zama's fhEVM codebase.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/juSt-jeLLy/zama-fhevm-skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server