About Chimera Scaffold
Chimera Scaffold is a local MCP server for Solidity developers building Chimera fuzzing suites. It generates compile-ready project files, invariant properties, and fuzzer configurations for six protocol types.
Key features
- 01Scaffold complete Chimera projects
- 02Generate invariant property skeletons
- 03Provide protocol-specific templates
- 04Explain Solidity testing patterns
- 05Generate fuzzer configuration files
Use cases
- 01Create a fuzzing suite for a Solidity contract
- 02Start invariant testing for a vault or lending protocol
- 03Review actor, ghost, or cross-contract patterns
MCP support
The MCP server exposes tools to scaffold projects, generate properties, retrieve templates, and explain patterns. It runs locally without network calls.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| functions | array | Yes | Array of function signatures, e.g. ["deposit(uint256)", "withdraw(uint256)"] |
| contract_name | string | Yes | Name of the contract to scaffold tests for |
Details
From the project README@recon-fuzz-mcp/chimera
MCP server that scaffolds Chimera fuzzing test suites for Solidity smart contracts. Generates ready-to-compile projects with properties, handlers, and fuzzer configs.
Tools
| Tool | Input | Returns |
|---|---|---|
scaffold_project | contract_name, functions[] | Full Chimera project (Setup, Properties, TargetFunctions, BeforeAfter, CryticTester + configs) |
generate_properties | contract_source, protocol_type | 8-15 curated invariant properties with Solidity skeletons |
get_template | template_name | Complete ready-to-compile Chimera project for a standard protocol type |
explain_pattern | pattern_name | Detailed explanation with code examples |
Protocol types
erc20, vault, lending, amm, governance, staking
Patterns
actors, ghosts, cross-contract, setup-layering
Installation
Claude Code
claude mcp add chimera-scaffold -- npx @recon-fuzz-mcp/chimera
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
No API key needed. The server runs entirely locally with no network calls.
Local development
git clone https://github.com/Recon-Fuzz/recon-mcp-chimera.git
cd recon-mcp-chimera
npm install
npm run build
Test it works
# List tools
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node dist/index.js
# Scaffold a vault project
echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"scaffold_project","arguments":{"contract_name":"SimpleVault","functions":["deposit(uint256)","withdraw(uint256)"]}},"id":2}' | node dist/index.js
# Get a lending template
echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_template","arguments":{"template_name":"lending"}},"id":3}' | node dist/index.js
Architecture
- No network calls — everything is in-memory templates and string generation
src/templates/base.ts— Solidity file generators (Setup, BeforeAfter, Properties, TargetFunctions, CryticTester)src/templates/configs.ts— Fuzzer config generators (foundry.toml, echidna.yaml, medusa.json)src/properties/— Curated property catalogs per protocol type (8-15 properties each)src/patterns/— Pattern explanations with full Solidity code examplessrc/tools/— MCP tool implementations
Privacy
This server runs entirely offline. No network calls, no environment variables read, no data written to disk, no telemetry. All template generation happens in-process.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.