Recon Chimera Scaffold

Scaffolds Chimera fuzzing test suites for Solidity smart contracts with invariant properties, handlers, and fuzzer configs

@recon-fuzz-mcp/chimera

npm License: MIT Node 18+

MCP server that scaffolds Chimera fuzzing test suites for Solidity smart contracts. Generates ready-to-compile projects with properties, handlers, and fuzzer configs.

Tools

ToolInputReturns
scaffold_projectcontract_name, functions[]Full Chimera project (Setup, Properties, TargetFunctions, BeforeAfter, CryticTester + configs)
generate_propertiescontract_source, protocol_type8-15 curated invariant properties with Solidity skeletons
get_templatetemplate_nameComplete ready-to-compile Chimera project for a standard protocol type
explain_patternpattern_nameDetailed 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 examples
  • src/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.

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome