# Gitea MCP-Server für Cursor

Damit der Agent **strukturierte Tools** nutzen kann (`gitea_list_issues`, `gitea_close_issue`, …), registrierst du diesen MCP-S **lokal** in Cursor.

## 1. Abhängigkeit

```powershell
pip install -r scripts/gitea/requirements-mcp.txt
```

Oder: `pip install "mcp>=1.2.0"`

## 2. Secrets

Wie beim CLI: **`GITEA_*` in der Repo-Root `.env`** (wird von `gitea_lib` geladen), **oder** dieselben Variablen in der MCP-`env` (siehe unten).

**Niemals** Tokens in Git committen.

## 3. Cursor MCP konfigurieren

**Variante A – UI:** Einstellungen → **MCP** / Tools → Server hinzufügen → Typ „Command“:

- **Command:** `python` (oder voller Pfad zu `python.exe`)
- **Args:** vollständiger Pfad zu `mcp_server_gitea.py`, z. B.  
  `C:\Dev\mitai-jinkendo\scripts\gitea\mcp_server_gitea.py`
- **Working directory (optional):** `C:\Dev\mitai-jinkendo\scripts\gitea`
- **Env:** nur nötig, wenn du **keine** `.env` im Repo nutzt:

```text
GITEA_BASE_URL=http://192.168.2.144:3000
GITEA_OWNER=Lars
GITEA_REPO=mitai-jinkendo
GITEA_TOKEN=…
```

**Variante B – JSON:** Datei `~/.cursor/mcp.json` (Benutzer) oder projektbezogen laut Cursor-Doku. Beispielinhalt siehe **`.cursor/mcp.json.example`** im Repo (Platzhalter, ohne echtes Token).

Cursor nach Änderung **vollständig neu starten**.

## 4. Netzwerk

Die Gitea-URL muss von deinem Rechner erreichbar sein (z. B. `192.168.2.144:3000` im LAN).

## 5. Repo-Zugriff

- **API:** Tool `gitea_get_repo_file` (Dateiinhalt / Metadaten).
- **Git (lokal):** unverändert `git pull` / Agent liest Workspace-Dateien – dafür brauchst du kein MCP.

## Bereitgestellte Tools (Kurzüberblick)

| Tool | Zweck |
|------|--------|
| `gitea_list_issues` | Issues listen, optional alle Seiten |
| `gitea_get_issue` | Ein Issue mit Body |
| `gitea_comment_issue` | Kommentar |
| `gitea_patch_issue` | Titel und/oder **Beschreibung** des Issues ändern (PATCH) |
| `gitea_create_issue` | Neu anlegen |
| `gitea_close_issue` / `gitea_reopen_issue` | Status |
| `gitea_get_repo_file` | Datei remote via API |

**MCP vs. CLI:** Sehr lange Issue-Bodies oder Vorlagen aus Datei → `python scripts/gitea/gitea_api.py issues edit … --body-file` (siehe README). Kurze Updates direkt im Agent → `gitea_patch_issue`.

## Issue-Triage durch den Agent

Sinnvoller Ablauf: Issues listen → je Issue **Code/Commits prüfen** → bei eindeutig erledigt: kurzer Kommentar + **close**; bei teilweise: Kommentar mit Checkboxen; bei unklar: nur Kommentar, **nicht** schließen.

Autonom alles schließen ist fehleranfällig; klare Regeln oder manuelle Freigabe für `close` empfohlen.
