Skip to main content
Glama

Sistema de automatización de desarrollo multiagente — Pipeline de CI/CD agéntico

Un pipeline de CI/CD agéntico y automatizado que utiliza FastAPI, agentes impulsados por Claude y el Protocolo de Contexto de Modelo (MCP) para analizar automáticamente las solicitudes de extracción de GitHub, ejecutar pruebas unitarias y aplicar el linter a los archivos.

Arquitectura del proyecto

devagent/
├── agents/             # Claude-powered agents
│   ├── base_agent.py      # Base agent with tool execution loop
│   ├── reviewer_agent.py  # Reviewer agent parsing PR diffs
│   └── prompts.py         # System prompts
├── app/                # FastAPI application
│   ├── api/routes/        # API endpoints (health)
│   ├── services/          # Claude integration service
│   ├── config.py          # Settings and environment config
│   └── main.py            # FastAPI main entrypoint
├── mcp_server/         # MCP Server
│   ├── server.py          # MCPServer registration and endpoints
│   └── tools/             # MCP tools (fetch_pr_diff, lint, run_tests, search)
├── tests/              # Test suite (pytest)
│   ├── test_agents.py
│   ├── test_health.py
│   └── test_mcp_tools.py
├── .env.example        # Environment template
├── .gitignore          # Git ignore files
└── requirements.txt    # Python dependencies

Related MCP server: code-review-mcp-server

Funcionalidades y herramientas MCP

  • BaseAgent: Ejecuta un bucle de llamada a herramientas utilizando la API de Anthropic (Claude 3.5 Sonnet) para recopilar información de la base de código de forma recursiva.

  • ReviewerAgent: Realiza revisiones de código sobre los diffs de PR en busca de errores de correctitud, vulnerabilidades de seguridad y problemas de calidad del código.

  • Herramientas MCP:

    • fetch_pr_diff: Recupera los archivos modificados y los parches de un PR de GitHub.

    • search_codebase: Busca archivos locales mediante patrones o búsqueda de texto.

    • run_tests: Ejecuta pruebas unitarias con pytest dentro del repositorio de destino.

    • lint_code: Ejecuta el linter Ruff en los archivos de destino.

Instalación y configuración

  1. Clona el repositorio (una vez subido a GitHub).

  2. Crea y activa un entorno virtual:

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # Linux/macOS:
    source .venv/bin/activate
  3. Instala las dependencias:

    pip install -r requirements.txt
  4. Configura las variables de entorno: Crea un archivo .env a partir de la plantilla y completa tus claves:

    cp .env.example .env

    Añade tu ANTHROPIC_API_KEY y, opcionalmente, GITHUB_TOKEN.

Ejecución del proyecto

Ejecutar la aplicación FastAPI

uvicorn app.main:app --reload

Accede a la documentación de la API en http://localhost:8000/docs.

Ejecutar el servidor MCP

Para ejecutar el servidor MCP directamente:

python mcp_server/server.py

Ejecutar las pruebas

Para ejecutar todas las pruebas y verificar que el sistema funciona:

python -m pytest

Related MCP Connectors

Related MCP Servers