Skip to content

Repository files navigation

Oura Logo

Oura — Loop Engine

Oura (Ouroboros) es un servidor MCP para iteración inteligente automatizada.
La serpiente que refina código a través de ciclos infinitos de mejora.

VersionRustLicenseTestsClippy

Características

  • Loop Engine: iteraciones automáticas con detección de convergencia
  • Feedback multi-fuente: tests, lint, typecheck, custom
  • Sub-agentes: Security Auditor, Refactor Engine, Anti-deletion Guard, Code Optimizer
  • Integración GitHub: PRs, workflows, actions, auto-commit, multi-repo
  • Plugin system: hooks extensibles para eventos del loop
  • Synapsis bridge: persistencia en Synapsis memory + task orchestration
  • Config: TOML + env vars (OURA_*)

Arquitectura

Oura Architecture

Oura está compuesto por 14 módulos organizados en capas:

CapaMódulosResponsabilidad
Transportemcp/mod.rsProtocolo JSON-RPC 2.0 sobre stdio
Dispatchmcp/handlers.rs, mcp/resources.rsEnrutamiento de 20 herramientas MCP
Motorengine.rs, feedback.rsBucle de iteración con detección de convergencia
Análisisagents.rs, profile.rsSeguridad, refactor, perfil de proyecto
Utilidadesfs_utils.rs, config.rs, events.rs, error.rs, types.rs, traits.rsSoporte: paths seguros, config, eventos, tipos

Instalación

cargo install --path .

O descarga el binario de releases.

Configuración

# Iniciar config por defecto
oura --init
# O usar env varsexport OURA_GITHUB_TOKEN=ghp_xxx
export OURA_GITHUB_OWNER=MethodWhite
export OURA_GITHUB_REPO=my-project
export OURA_MAX_ITERATIONS=50

Config file (~/.config/oura/config.toml)

[loop_engine]
max_iterations = 20convergence_threshold = 90.0feedback_sources = ["test", "lint"]
[github]
enabled = truedefault_owner = "MethodWhite"default_repo = "my-project"auto_commit = trueauto_pr = true
[synapsis]
enabled = trueendpoint = "http://localhost:7438"

Uso con MCP

Añade a opencode.json / claude-code.json / cursor.json:

{
"mcpServers": {
"oura": {
"type": "stdio",
"command": "/path/to/oura"
}
}
}

Herramientas MCP (20)

ToolDescripción
oura_start_loopInicia loop de iteración con goal
oura_iterateEjecuta un paso manual
oura_loop_statusEstado del loop actual
oura_loop_stopDetiene el loop
oura_resultsResultados acumulados
oura_configureActualiza configuración (maxIterations, threshold, workingDirectory)
oura_working_dirCambia el directorio de trabajo
oura_plugin_loadCarga un plugin
oura_plugin_listLista plugins cargados
oura_analyze_securityAuditoría de seguridad (9 patrones)
oura_analyze_codeAnálisis de clean code
oura_analyze_projectEscanea estructura del proyecto
oura_check_integrityVerifica integridad de símbolos
oura_guard_destructiveProtege contra operaciones destructivas
oura_cleanupLimpia artefactos temporales
oura_versionVersión e información de build
oura_updateActualiza Oura desde git + cargo build
oura_profileDetecta perfil del proyecto
oura_verifyVerifica licencias y dependencias
mcp_callLlama a tools de otros servidores MCP

Calidad

MétricaValor
Tests58 pasando
Cobertura clippy0 warnings
unwrap() en producción0
Deuda técnica corregida~55 issues
LenguajeRust 1.86+
LicenciaMIT

Licencia

MIT — ver LICENSE.


Hecho con 🐍 por MethodWhite

About

Oura — MCP server for intelligent iterative looping.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages