Recon Chimera Scaffold
Genera andamios para suites de pruebas de fuzzing Chimera para contratos inteligentes en Solidity con propiedades invariantes, handlers y configuraciones del fuzzer.
Documentación
@recon-fuzz-mcp/chimera
Servidor MCP que genera suites de pruebas de fuzzing Chimera para contratos inteligentes Solidity. Genera proyectos listos para compilar con propiedades, handlers y configuraciones de fuzzer.
Herramientas
| Herramienta | Entrada | Devuelve |
|---|---|---|
scaffold_project | contract_name, functions[] | Proyecto Chimera completo (Setup, Properties, TargetFunctions, BeforeAfter, CryticTester + configs) |
generate_properties | contract_source, protocol_type | 8-15 propiedades invariantes seleccionadas con esqueletos Solidity |
get_template | template_name | Proyecto Chimera completo listo para compilar para un tipo de protocolo estándar |
explain_pattern | pattern_name | Explicación detallada con ejemplos de código |
Tipos de protocolo
erc20, vault, lending, amm, governance, staking
Patrones
actors, ghosts, cross-contract, setup-layering
Instalación
Claude Code
claude mcp add chimera-scaffold -- npx @recon-fuzz-mcp/chimera
Claude Desktop
Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
Cursor
Añadir a .cursor/mcp.json en tu proyecto:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
No se necesita clave API. El servidor se ejecuta completamente en local sin llamadas de red.
Desarrollo local
git clone https://github.com/Recon-Fuzz/recon-mcp-chimera.git
cd recon-mcp-chimera
npm install
npm run build
Prueba que funciona
# 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
Arquitectura
- Sin llamadas de red — todo son plantillas en memoria y generación de cadenas
src/templates/base.ts— Generadores de archivos Solidity (Setup, BeforeAfter, Properties, TargetFunctions, CryticTester)src/templates/configs.ts— Generadores de configuración de fuzzer (foundry.toml, echidna.yaml, medusa.json)src/properties/— Catálogos de propiedades seleccionadas por tipo de protocolo (8-15 propiedades cada uno)src/patterns/— Explicaciones de patrones con ejemplos completos de código Soliditysrc/tools/— Implementaciones de herramientas MCP
Privacidad
Este servidor se ejecuta completamente sin conexión. Sin llamadas de red, sin lectura de variables de entorno, sin escritura de datos en disco, sin telemetría. Toda la generación de plantillas ocurre en el proceso.