Recon Chimera Scaffold

Tạo khung cho bộ kiểm thử fuzzing Chimera cho hợp đồng thông minh Solidity với các thuộc tính bất biến, trình xử lý và cấu hình fuzzer

GitHubDùng thử MCP nàyĐược tài trợ

Tài liệu

@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.