Recon Chimera Scaffold
Estrutura suítes de teste de fuzzing Chimera para contratos inteligentes Solidity com propriedades invariantes, handlers e configurações de fuzzer.
Documentação
@recon-fuzz-mcp/chimera
Servidor MCP que gera suítes de teste de fuzzing Chimera para contratos inteligentes Solidity. Gera projetos prontos para compilar com propriedades, handlers e configurações de fuzzer.
Ferramentas
| Ferramenta | Entrada | Retorno |
|---|---|---|
scaffold_project | contract_name, functions[] | Projeto Chimera completo (Setup, Properties, TargetFunctions, BeforeAfter, CryticTester + configs) |
generate_properties | contract_source, protocol_type | 8-15 propriedades invariantes curadas com esqueletos Solidity |
get_template | template_name | Projeto Chimera completo pronto para compilar para um tipo de protocolo padrão |
explain_pattern | pattern_name | Explicação detalhada com exemplos de código |
Tipos de protocolo
erc20, vault, lending, amm, governance, staking
Padrões
actors, ghosts, cross-contract, setup-layering
Instalação
Claude Code
claude mcp add chimera-scaffold -- npx @recon-fuzz-mcp/chimera
Claude Desktop
Adicione a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
Cursor
Adicione a .cursor/mcp.json no seu projeto:
{
"mcpServers": {
"chimera-scaffold": {
"command": "npx",
"args": ["@recon-fuzz-mcp/chimera"]
}
}
}
Nenhuma chave de API necessária. O servidor roda inteiramente localmente, sem chamadas de rede.
Desenvolvimento local
git clone https://github.com/Recon-Fuzz/recon-mcp-chimera.git
cd recon-mcp-chimera
npm install
npm run build
Teste se 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
Arquitetura
- Sem chamadas de rede — tudo é templates em memória e geração de strings
src/templates/base.ts— Geradores de arquivos Solidity (Setup, BeforeAfter, Properties, TargetFunctions, CryticTester)src/templates/configs.ts— Geradores de configuração de fuzzer (foundry.toml, echidna.yaml, medusa.json)src/properties/— Catálogos de propriedades curadas por tipo de protocolo (8-15 propriedades cada)src/patterns/— Explicações de padrões com exemplos completos de código Soliditysrc/tools/— Implementações de ferramentas MCP
Privacidade
Este servidor roda inteiramente offline. Sem chamadas de rede, sem leitura de variáveis de ambiente, sem gravação de dados em disco, sem telemetria. Toda a geração de templates acontece em processo.