Skip to main content
Glama

Multi-Agent-Entwicklungsautomatisierungssystem – Agentische CI/CD-Pipeline

Eine automatisierte agentische CI/CD-Pipeline, die FastAPI, Claude-basierte Agenten und das Model Context Protocol (MCP) verwendet, um GitHub-Pull-Requests automatisch zu analysieren, Unit-Tests auszuführen und Dateien zu linten.

Projektarchitektur

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

Funktionen & MCP-Tools

  • BaseAgent: Führt eine Tool-Aufruf-Schleife unter Verwendung der Anthropic API (Claude 3.5 Sonnet) aus, um rekursiv Codebasis-Informationen zu sammeln.

  • ReviewerAgent: Führt Code-Reviews an PR-Diffs durch, um Korrektheitsfehler, Sicherheitslücken und Probleme mit der Codequalität zu finden.

  • MCP-Tools:

    • fetch_pr_diff: Ruft geänderte Dateien und Patches für einen GitHub-PR ab.

    • search_codebase: Durchsucht lokale Dateien mithilfe von Mustern oder Textsuche.

    • run_tests: Führt Unit-Tests mit pytest im Ziel-Repository aus.

    • lint_code: Führt den Ruff-Linter auf Zieldateien aus.

Installation und Einrichtung

  1. Repository klonen (sobald es auf GitHub gepusht wurde).

  2. Virtuelle Umgebung erstellen und aktivieren:

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # Linux/macOS:
    source .venv/bin/activate
  3. Abhängigkeiten installieren:

    pip install -r requirements.txt
  4. Umgebungsvariablen konfigurieren: Erstellen Sie eine .env-Datei aus der Vorlage und füllen Sie Ihre Schlüssel aus:

    cp .env.example .env

    Fügen Sie Ihren ANTHROPIC_API_KEY und optional GITHUB_TOKEN hinzu.

Ausführen des Projekts

FastAPI-App ausführen

uvicorn app.main:app --reload

Greifen Sie auf die API-Dokumentation unter http://localhost:8000/docs zu.

MCP-Server ausführen

Um den MCP-Server direkt auszuführen:

python mcp_server/server.py

Tests ausführen

Um alle Tests auszuführen und zu überprüfen, dass das System funktioniert:

python -m pytest

Related MCP Connectors

Related MCP Servers