# BUBU Brain — Referenz für KI-Agents

Version 1.7.1 | 2026-10-12

BUBU BRAIN — BETRIEBSANWEISUNG
MCP: https://bubu-brain.com/mcp
Auth: Authorization: Bearer <BUBU_API_KEY> oder x-api-key: <BUBU_API_KEY>.
Key im Credential-Speicher des Clients hinterlegen.
1. MCP-Verbindung initialisieren, tools/list laden und die Eingabeschemas verwenden. Client-Präfixe anhand des ursprünglichen Tool-Namens zuordnen.
2. bubu_health aufrufen und Status anzeigen.
3. Jede zugängliche User-Nachricht und eigene sichtbare Antwort mit bubu_ingest_turn vollständig wortgetreu speichern, einschließlich Zeilenumbrüchen und Codeblöcken. Keine Zusammenfassung oder Relevanzfilter.
4. Passwörter, Tokens, API-Keys, leere Nachrichten und interne System-/Runtime-Kontextblöcke ausschließen. Speicherfehler melden.
5. Eindeutige session_id pro Konversation. turn_id={session_id}-{YYYYMMDDTHHMM}-{role}; bei mehreren Turns derselben Rolle pro Minute eindeutigen Suffix ergänzen. role=user|assistant|system. timestamp als ISO-8601 mit Zeitzone. Bei Retry identische IDs und identischen Inhalt verwenden.
6. bubu_recall mit konkreten Keywords. Bei Bedarf zweiter Abruf ±30 Minuten um die Trefferzeit: from=t-30min, to=t+30min. window und from/to getrennt verwenden. Suche: unscharfer Wortabgleich.
7. bubu_write für eigenständige Notizen, Fakten und Entscheidungen. bubu_verify für Integritätsprüfung. Vor bubu_correct bisherigen Text, Entry-ID und vollständigen Ersatztext zur Bestätigung vorlegen.
8. Export, Löschung, Consent-Verwaltung und Einschränkungen im Dashboard durchführen.
9. Mindestens 500 ms Abstand zwischen Calls. Bei Rate-Limit pausieren; Retries begrenzen.
10. Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
STARTERGEBNIS: Health-Status und verfügbare BUBU-Tools.

## MCP-Verbindung

HTTPS POST, JSON-RPC 2.0. Protokollversion 2025-03-26. Content-Type: application/json. Bei Streamable HTTP Accept: application/json, text/event-stream. MCP-Initialisierung und Session-Handling durch den Client durchführen. Wenn der Server eine Mcp-Session-Id zurückgibt, in nachfolgenden Requests übernehmen. Nach erfolgreicher initialize-Antwort notifications/initialized senden; danach tools/list und tools/call.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-03-26",
    "capabilities": {},
    "clientInfo": {
      "name": "bubu-agent",
      "version": "1.0"
    }
  }
}
```

```json
{"jsonrpc": "2.0", "method": "notifications/initialized"}
```

```json
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
```

## bubu_health

Betriebszustand des Memory-Service prüfen.

Parameter: keine. arguments = {}.

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "bubu_health",
    "arguments": {}
  }
}
```

Rückgabe: Status: ok oder degraded.

## bubu_stats

Sessions und Nachrichten im aktiven Memory-Fenster zählen.

Parameter: keine. arguments = {}.

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "bubu_stats",
    "arguments": {}
  }
}
```

Rückgabe: Anzahl Sessions und Nachrichten: total, visible, restricted, deleted. Nicht verfügbare Werte: n/a. Keine Speichergröße.

## bubu_list_consents

Consent und effektive Berechtigungen der Verbindung anzeigen.

Parameter: keine. arguments = {}.

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "tools/call",
  "params": {
    "name": "bubu_list_consents",
    "arguments": {}
  }
}
```

Rückgabe: Consent-Scopes, Art.-9-Status, Grant-Zeit, Ablauf, Widerruf und Connection-Permissions. Ein Consent pro Kern, gültig für dessen Verbindungen.

## bubu_recall

Keyword-Suche mit unscharfem Wortabgleich. Keine semantische Suche. Bei sehr langen Einträgen sind ungefähr die ersten 16.000 Zeichen durchsuchbar; zurückgegeben wird der vollständige Text. Sortierung nach Score: User-Nachrichten vor Assistant-Nachrichten, längere Texte leicht höher; bei Gleichstand neueste zuerst. Leere Query: neueste Einträge zuerst.

| Parameter | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
| query | string | ja | — | Keywords; leer für neueste Einträge. |
| limit | integer | nein | 5 | 1–100 Treffer pro Seite. |
| offset | integer | nein | 0 | Übersprungene Treffer; maximal 900. |
| window | enum | nein | — | 1h, 1d, 1w, 30d, all; nicht mit from/to. |
| from | string / ISO-8601 | nein | — | Beginn des Zeitfensters; nicht mit window. |
| to | string / ISO-8601 | nein | — | Ende des Zeitfensters; nicht mit window. |

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "tools/call",
  "params": {
    "name": "bubu_recall",
    "arguments": {
      "query": "Budget Projekt",
      "limit": 5,
      "window": "30d"
    }
  }
}
```

Rückgabe: Gesamtzahl Treffer, nächster Offset, vollständiger Text, Speicherzeitpunkt, Rolle, Session und Entry-ID. Wenn vorhanden: turn_id, occurred_at sowie Korrekturzeit und Korrekturgrund.

## bubu_ingest_turn

Gesprächs-Turn wortgetreu speichern. Jede Nachricht erhält eine eindeutige Turn-ID. Wiederholung mit gleicher Session-ID, Turn-ID und identischem Inhalt wird im aktiven Memory-Fenster dedupliziert. Gleiche ID mit anderem Inhalt: IDEMPOTENCY_CONFLICT.

| Parameter | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
| session_id | string | ja | — | Eindeutige Konversations-ID. |
| turn_id | string | ja | — | Eindeutige Turn-ID innerhalb der Session. |
| role | enum | ja | — | user, assistant, system. |
| content | string | ja | — | Vollständiger Originaltext einschließlich Zeilenumbrüchen und Codeblöcken. |
| timestamp | string / ISO-8601 | nein | — | Zeitpunkt des Turns; separat als occurred_at gespeichert. |
| project_id | string | nein | — | Projektlabel; wird nur beim Erstellen der Session gesetzt. Kein Recall-Filter. |

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "bubu_ingest_turn",
    "arguments": {
      "session_id": "agent-2026-10-12",
      "turn_id": "agent-2026-10-12-20261012T1826-user",
      "role": "user",
      "content": "Budget bleibt bei 12.000 €.",
      "timestamp": "2026-10-12T18:26:00Z"
    }
  }
}
```

Rückgabe: stored oder already_stored, entry_id, Speicherzeit, Turn-Zeit falls übergeben, SHA-256 des empfangenen Inhalts.

## bubu_write

Eigenständige Notiz, Entscheidung oder Fakt speichern. Gesprächs-Turns mit bubu_ingest_turn speichern. Ohne sourceId wird die feste Notiz-Session mcp-notes des Kerns verwendet.

| Parameter | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
| content | string | ja | — | Wortgetreuer Inhalt. |
| type | string | nein | message | Darf nicht user, assistant oder system sein. |
| sourceId | string | nein | — | Muss eine bestehende Session-ID sein. |
| idempotency_key | string | nein | — | Maximal 200 Zeichen. Gleicher Key und gleicher Inhalt innerhalb von 60 Sekunden: Retry-Schutz. Gleicher Key mit anderem Inhalt wird neu gespeichert. |

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 8,
  "method": "tools/call",
  "params": {
    "name": "bubu_write",
    "arguments": {
      "content": "Projektbudget: 12.000 €",
      "type": "note",
      "idempotency_key": "budget-20261012-01"
    }
  }
}
```

Rückgabe: stored oder already_stored und entry_id. Identischer Inhalt in derselben Session wird innerhalb von 60 Sekunden nur einmal gespeichert.

## bubu_verify

Integrität prüfen. Ohne Parameter: aktueller Fingerprint über alle Einträge des aktiven Memory-Fensters und Vergleich mit dem zuletzt gespeicherten Fingerprint. Bei neuen, korrigierten oder aus dem Fenster fallenden Einträgen ändert sich der Fingerprint.

| Parameter | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
| entry_id | string | nein | — | Entry-ID aus Recall oder Ingest; nicht mit sessionId/timestamp. |
| sessionId | string | nein | — | Nur zusammen mit timestamp. |
| timestamp | string / ISO-8601 | nein | — | Speicherzeitpunkt eines Recall-Treffers; nur mit sessionId. |

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 9,
  "method": "tools/call",
  "params": {
    "name": "bubu_verify",
    "arguments": {
      "entry_id": "ENTRY_ID_AUS_RECALL"
    }
  }
}
```

Rückgabe: Fingerprint und Prüfergebnis intact oder MISMATCH. Einzelprüfung berechnet die ID aus Session, Rolle, aktuellem Text und Zeitstempel neu und vergleicht sie mit der gespeicherten ID.

## bubu_correct

Eintrag korrigieren. Vor Aufruf ursprünglichen Text, Entry-ID und neuen vollständigen Text anzeigen; konkrete Korrektur bestätigen lassen. Eingeschränkte und gelöschte Einträge können nicht korrigiert werden.

| Parameter | Typ | Pflicht | Standard | Beschreibung |
|---|---|---|---|---|
| entry_id | string | ja | — | ID aus Recall, nicht die Listenposition. |
| content | string | ja | — | Vollständiger korrigierter Text. |
| reason | string | nein | Art. 16 DSGVO | Grund der Korrektur. |

Request:
```json
{
  "jsonrpc": "2.0",
  "id": 10,
  "method": "tools/call",
  "params": {
    "name": "bubu_correct",
    "arguments": {
      "entry_id": "ENTRY_ID_AUS_RECALL",
      "content": "Projektbudget: 15.000 €",
      "reason": "Bestätigte Korrektur"
    }
  }
}
```

Rückgabe: previous_text, new_text und new_id. Die Entry-ID ändert sich; die alte ID adressiert den Eintrag nicht mehr. Originaltext bleibt gespeichert, Recall und Export liefern künftig den korrigierten Text. Korrekturgrund, Zeit und Verbindung werden aufgezeichnet.

## Recall-Zeitfenster

Trefferzeit 2026-10-12T18:26:00Z → from=2026-10-12T17:56:00Z, to=2026-10-12T18:56:00Z. window dabei weglassen. Entry-ID statt Treffer-Listenposition verwenden.

## Fehlercodes

- -32001 UNAUTHORIZED: Key/Header prüfen.
- -32002 NO_CONSENT: Consent im Dashboard prüfen/erteilen.
- -32003 RATE_LIMITED: pausieren, Call-Abstand erhöhen.
- -32603 INTERNAL_ERROR: Health prüfen; begrenzt erneut versuchen.
- IDEMPOTENCY_CONFLICT: gleicher Turn-Schlüssel mit anderem Inhalt; nicht als erfolgreichen Retry behandeln.

## REST

REST-Basis: https://bubu-brain.com/api/*
JWKS: https://auth.bubu-brain.com/.well-known/jwks.json
Auth: Authorization: Bearer <token> oder x-api-key: <token>.

| Endpunkt | Methode | Auth |
|---|---|---|
| /health | GET | keine |
| /api/health | GET | Bearer |

## Client-Profile

### Hermes

Direkter Remote-MCP-Zugang mit eigener Agent-Konfiguration.

Ergänze mcp_servers.bubu in Hermes config.yaml mit url und dem Authorization-Header aus ${BUBU_API_KEY}. Erhalte bestehende Server und starte eine neue Session.

Konfiguration: Hermes config.yaml — bestehenden Block ergänzen
```
mcp_servers:
  bubu:
    url: "https://bubu-brain.com/mcp"
    headers:
      Authorization: "Bearer ${BUBU_API_KEY}"
```

### OpenClaw

Ausgehender Streamable-HTTP-Server in der OpenClaw-MCP-Registry.

Öffne /settings/mcp in der OpenClaw Control UI. Ergänze einen ausgehenden BUBU-MCP-Server mit https://bubu-brain.com/mcp und transport=streamable-http sowie Authorization-Bearer-Header. Prüfe den Eintrag mit openclaw mcp status --verbose und die Verbindung mit openclaw mcp doctor bubu --probe.

Konfiguration: OpenClaw — mcp.servers
```
{
  "mcp": {
    "servers": {
      "bubu": {
        "url": "https://bubu-brain.com/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer YOUR_API_KEY"
        }
      }
    }
  }
}
```

### ChatGPT

BUBU Brain als App verbinden und für den Chat aktivieren.

Verbinde die BUBU-BRAIN-App im App-Bereich und aktiviere sie für diese Unterhaltung. Verwende ihre BUBU-Tools. Hinterlege die Betriebsregeln optional in den Projektanweisungen.

### Claude

Claude Web/Desktop über einen verbundenen BUBU-Connector.

Füge in den Claude-Connector-Einstellungen einen Remote-MCP-Connector mit https://bubu-brain.com/mcp hinzu. Schließe den angebotenen Authentifizierungsablauf ab und aktiviere den Connector im Chat.

### Claude Code

Remote-HTTP-MCP mit Secret-Referenz in der Konfiguration.

Ergänze bubu in der Projektdatei .mcp.json mit type=http, url und Authorization: Bearer ${BUBU_API_KEY}. Setze BUBU_API_KEY in der Umgebung des Clients. Prüfe die Verbindung mit /mcp.

Konfiguration: .mcp.json — bestehenden Block ergänzen
```
{
  "mcpServers": {
    "bubu": {
      "type": "http",
      "url": "https://bubu-brain.com/mcp",
      "headers": {
        "Authorization": "Bearer ${BUBU_API_KEY}"
      }
    }
  }
}
```

### Gemini CLI

Gemini mit HTTP-MCP-Client, statt bloßem Text-Chat.

Setze BUBU_API_KEY in der Shell-Umgebung. Registriere BUBU mit dem gezeigten gemini mcp add-Befehl für HTTP; die Shell setzt den Header-Wert ein. Prüfe die Verbindung und Tools mit /mcp.

Konfiguration: Shell — HTTP-Server registrieren
```
gemini mcp add --transport http --header "Authorization: Bearer $BUBU_API_KEY" bubu https://bubu-brain.com/mcp
```

### Gemini API

Remote-MCP über die Gemini Interactions API.

Verwende die Gemini Interactions API mit einem Tool vom Typ mcp_server, name=bubu, url=https://bubu-brain.com/mcp und Authorization-Bearer-Header. Lade den BUBU-Key serverseitig aus BUBU_API_KEY. Führe die Betriebsregeln als Systemanweisungen der Anwendung. system_instruction und tools bei jeder Anfrage erneut übergeben.

Konfiguration: Python — Gemini Interactions API
```
from google import genai
import os

client = genai.Client()
result = client.interactions.create(
    model=os.environ["GEMINI_MODEL"],
    input="Call bubu_health.",
    tools=[{
        "type": "mcp_server",
        "name": "bubu",
        "url": "https://bubu-brain.com/mcp",
        "headers": {"Authorization": "Bearer " + os.environ["BUBU_API_KEY"]}
    }]
)
```

### Codex

Remote-MCP mit Bearer-Token aus einer Umgebungsvariablen.

Ergänze mcp_servers.bubu in ~/.codex/config.toml mit url und bearer_token_env_var=BUBU_API_KEY. Setze BUBU_API_KEY in der Client-Umgebung und starte eine neue Session.

Konfiguration: Codex config.toml — bestehenden Block ergänzen
```
[mcp_servers.bubu]
url = "https://bubu-brain.com/mcp"
bearer_token_env_var = "BUBU_API_KEY"
```

### Cursor

MCP-Server in Cursor mit Umgebungsreferenz für den Key.

Ergänze bubu in .cursor/mcp.json oder ~/.cursor/mcp.json mit url und Authorization: Bearer ${env:BUBU_API_KEY}. Setze die Umgebungsvariable vor dem Client-Start. Aktiviere den Server und verwende die Tools im Agent-Modus.

Konfiguration: Cursor mcp.json — bestehenden Block ergänzen
```
{
  "mcpServers": {
    "bubu": {
      "url": "https://bubu-brain.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BUBU_API_KEY}"
      }
    }
  }
}
```

### GitHub Copilot / VS Code

MCP-Client des Editors; Tool-Zugriff im Agent-Modus.

Registriere mit MCP: Add Server in VS Code einen HTTP-Server mit https://bubu-brain.com/mcp. Ergänze Authorization als Bearer-Header über einen geschützten Input. Die Projektkonfiguration verwendet servers in .vscode/mcp.json. Aktiviere den Server und die Tools im Agent-Chat.

Konfiguration: .vscode/mcp.json
```
{
  "inputs": [
    {
      "type": "promptString",
      "id": "bubu-key",
      "description": "BUBU API key",
      "password": true
    }
  ],
  "servers": {
    "bubu": {
      "type": "http",
      "url": "https://bubu-brain.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:bubu-key}"
      }
    }
  }
}
```

### Windsurf / Cascade

MCP-Integration der installierten Cascade-Version.

Ergänze bubu in der Cascade-MCP-Konfiguration mcp_config.json mit serverUrl und Authorization: Bearer ${env:BUBU_API_KEY}. Setze die Umgebungsvariable vor dem Client-Start und aktualisiere die MCP-Tools in Cascade.

Konfiguration: Konfiguration
```
{
  "mcpServers": {
    "bubu": {
      "serverUrl": "https://bubu-brain.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BUBU_API_KEY}"
      }
    }
  }
}
```

### LM Studio

Remote-MCP mit Bearer-Header über die LM-Studio-API.

Verwende LM Studio ab 0.4.0. Aktiviere Allow per-request MCPs in den Server Settings. Sende an /api/v1/chat eine integrations-Konfiguration mit type=ephemeral_mcp, server_label=bubu, server_url=https://bubu-brain.com/mcp und dem Authorization-Bearer-Header. Wähle ein Tool-fähiges Modell. Das Health-Beispiel erlaubt nur bubu_health. Für Memory-Betrieb die benötigten Tools in allowed_tools aufnehmen.

Konfiguration: JSON — POST /api/v1/chat
```
{
  "model": "YOUR_LOADED_MODEL",
  "input": "Call bubu_health.",
  "integrations": [
    {
      "type": "ephemeral_mcp",
      "server_label": "bubu",
      "server_url": "https://bubu-brain.com/mcp",
      "allowed_tools": [
        "bubu_health"
      ],
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  ]
}
```

### n8n

Auto-Store über Workflow-Schritte statt einer reinen Chat-Regel.

Verwende einen MCP Client Tool-Node ab typeVersion 1.1. Wähle serverTransport=httpStreamable und endpointUrl=https://bubu-brain.com/mcp explizit. Hinterlege Bearer-Authentifizierung als Credential und verbinde den Node mit dem AI Agent. Erfasse User- und Assistant-Turns in Workflow-Schritten mit stabilen Session-/Turn-IDs und identischen Retry-IDs. Die typeVersion bezeichnet die Node-Version.

### Eigener Agent / andere KI-Suite

Für LangGraph, SDK-Agents oder lokale Modelle mit MCP-Host.

Verbinde den MCP-Client der Host-Anwendung über Streamable HTTP mit https://bubu-brain.com/mcp und Bearer-Authentifizierung. Initialisiere die Session, lade tools/list und stelle die Tools dem Agenten bereit. Erfasse User- und Assistant-Turns in einem Lifecycle-Hook mit stabilen IDs, mindestens 500 ms Abstand und idempotenten Retries.



## Dauerhafte Regeln je Client

### Hermes

Ablageort: .hermes.md / AGENTS.md

Geltung: Projektkontext der aktiven Hermes-Session

- Den BUBU-Abschnitt in der bereits geladenen Projekt-Kontextdatei ergänzen.
- .hermes.md hat Vorrang vor AGENTS.md; eine neue höher priorisierte Datei kann bisherige Projektanweisungen verdrängen.
- Eine neue Session starten, damit geänderte Projektanweisungen geladen werden.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### OpenClaw

Ablageort: AGENTS.md im konfigurierten Agent-Workspace

Geltung: Der Agent, dessen Workspace diese AGENTS.md verwendet

- Den tatsächlichen Workspace des ausgewählten Agenten verwenden; nicht automatisch den Standard-Workspace annehmen.
- BUBU-Betriebsregeln in AGENTS.md ergänzen. SOUL.md bleibt für Identität und Ton vorgesehen.
- Eine neue Session starten und prüfen, ob die ergänzten Anweisungen im Agent-Kontext ankommen.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### ChatGPT

Ablageort: Projektanweisungen des BUBU-Projekts

Geltung: Chats innerhalb des ausgewählten ChatGPT-Projekts

- Das gewünschte Projekt öffnen und den BUBU-Regeltext in dessen Anweisungen ergänzen.
- Die BUBU-App zusätzlich verbinden und für die Unterhaltung aktivieren.
- Eine neue Unterhaltung im Projekt starten und den echten Health-Aufruf prüfen.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Claude

Ablageort: Projektanweisungen in Claude

Geltung: Chats im ausgewählten Claude-Projekt

- BUBU-Regeln in die Anweisungen des Projekts aufnehmen; bestehende Anweisungen erhalten.
- Den BUBU-Connector separat verbinden und im Chat bereitstellen.
- Im Projekt eine neue Unterhaltung öffnen und prüfen, ob BUBU-Tools tatsächlich verfügbar sind.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Claude Code

Ablageort: CLAUDE.md / ~/.claude/CLAUDE.md

Geltung: Projektweit mit CLAUDE.md; persönlich projektübergreifend mit ~/.claude/CLAUDE.md

- Projektbezogene BUBU-Regeln in CLAUDE.md ergänzen; persönliche Regeln optional in ~/.claude/CLAUDE.md.
- MCP-Verbindung und Secret-Referenz separat konfigurieren; keine Keys in die Regeldatei schreiben.
- Eine neue Session starten und die geladenen Anweisungen kontrollieren.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Gemini CLI

Ablageort: GEMINI.md

Geltung: Hierarchischer Kontext der Gemini-CLI-Umgebung

- Die passende projektbezogene GEMINI.md ergänzen; globale und übergeordnete Kontextdateien beachten.
- Mit /memory reload neu laden und mit /memory show den tatsächlich geladenen Text prüfen.
- BUBU-MCP weiterhin separat in settings.json konfigurieren.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Gemini API

Ablageort: system_instruction jeder Gemini-Interactions-Anfrage

Geltung: Anfragen dieser Gemini-API-Anwendung

- Regeltext als system_instruction jeder Anfrage übergeben, auch bei previous_interaction_id.
- BUBU als mcp_server mit URL und Bearer-Header in tools aufnehmen.
- User- und Assistant-Turns im Lifecycle der Anwendung erfassen.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Codex

Ablageort: AGENTS.md / ~/.codex/AGENTS.md

Geltung: Projektanweisungen oder persönliche globale Codex-Anweisungen

- BUBU-Regeln im passenden AGENTS.md-Abschnitt ergänzen; engere Unterverzeichnisregeln berücksichtigen.
- AGENTS.override.md und bestehende Vorrangregeln prüfen, bevor eine zusätzliche Datei angelegt wird.
- Eine neue Session starten. MCP und bearer_token_env_var separat in config.toml konfigurieren.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Cursor

Ablageort: .cursor/rules/bubu-memory.mdc

Geltung: Cursor Agent im Projekt; Always Apply

- Eine neue Cursor-Regel über die Regelverwaltung anlegen oder die .mdc-Datei im Projekt ergänzen.
- Das enthaltene Frontmatter mit alwaysApply: true erhalten, wenn die Regel immer gelten soll.
- Die geladene Regel im Agent-Kontext prüfen; die MCP-Konfiguration bleibt in mcp.json.

```
---
description: BUBU Brain memory
alwaysApply: true
---

## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### GitHub Copilot / VS Code

Ablageort: .github/copilot-instructions.md

Geltung: Projektweite Copilot-Anweisungen im Repository

- Den BUBU-Abschnitt in .github/copilot-instructions.md ergänzen; vorhandene Projektregeln nicht ersetzen.
- Host- und Editor-Einstellungen für Anweisungsdateien prüfen.
- In einer neuen Agent-Unterhaltung kontrollieren, ob die Datei als Anweisungsquelle verwendet wird.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Windsurf / Cascade

Ablageort: .devin/rules/bubu-memory.md / .windsurf/rules/bubu-memory.md

Geltung: Workspace-Regel für Cascade; Always On

- In der Regelverwaltung die passende Workspace-Regel mit Always On anlegen.
- Aktuelle Builds verwenden .devin/rules; ältere Windsurf-Projekte können .windsurf/rules verwenden. Den geladenen Pfad prüfen.
- Das Frontmatter erhalten und die aktive Runtime prüfen; Devin Local und Cascade können unterschiedliche Regelwege nutzen.

```
---
trigger: always_on
---

## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### LM Studio

Ablageort: system_prompt in POST /api/v1/chat

Geltung: LM-Studio-API-Anfragen der aufrufenden Anwendung

- Regeltext als system_prompt in der API-Anfrage übergeben.
- BUBU mit URL und Bearer-Header in integrations aufnehmen.
- User- und Assistant-Turns im Lifecycle der Anwendung erfassen.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### n8n

Ablageort: System Message des AI-Agent-Nodes

Geltung: Ausführungen dieses Agent-Nodes im Workflow

- Den Regeltext in der System Message des AI-Agent-Nodes ergänzen.
- BUBU-Credential und kompatiblen MCP-Client getrennt verbinden.
- Für vollständige Turn-Erfassung zusätzlich Workflow-Schritte mit stabilen Session-/Turn-IDs verwenden.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

### Eigener Agent / andere KI-Suite

Ablageort: System-/Developer-Anweisungen der Host-Anwendung

Geltung: Der konfigurierte Agent in der Host-Anwendung

- Den Regeltext in den tatsächlich geladenen Anweisungsbereich der Host-Anwendung aufnehmen.
- Den Anweisungsbereich beim Aufbau des Agent-Kontexts laden.
- MCP-Verbindung, Secret-Speicher und Turn-Lifecycle-Hook separat implementieren.

```
## BUBU Brain Memory
- Verwende nur tatsächlich verfügbare BUBU-Tools. Prüfe zu Session-Beginn bubu_health; fehlende Verbindung oder Schreibrechte melden.
- Speichere jede zugängliche User-Nachricht und sichtbare eigene Antwort mit bubu_ingest_turn im vollständigen Originalwortlaut, ohne Zusammenfassung oder Relevanzfilter.
- Keine Passwörter, Tokens, API-Keys, leeren Nachrichten oder internen System-/Runtime-Kontextblöcke speichern. Ausnahmen und Speicherfehler offen melden.
- Verwende eine eindeutige session_id pro Konversation und eine eindeutige turn_id pro Turn. Bei Retry dieselben IDs und denselben Inhalt wiederverwenden. timestamp als ISO-8601 mit Zeitzone.
- Suche mit bubu_recall und konkreten Keywords. Bei Bedarf zweiten Abruf ±30 Minuten um die Trefferzeit setzen; window nicht mit from/to kombinieren.
- bubu_write nur für eigenständige Notizen/Fakten/Entscheidungen. bubu_correct erst nach Bestätigung des alten und neuen vollständigen Texts samt Entry-ID.
- Export, Löschung, Consent-Verwaltung und Einschränkungen ausschließlich im Dashboard; keine entsprechenden MCP-Aufrufe.
- Mindestens 500 ms Abstand zwischen Calls; begrenzte Retries. Erfolg nur nach echtem Tool-Ergebnis melden.
- Vollständige Turn-Erfassung im Lifecycle-Hook oder Workflow der Host-Anwendung ausführen.
```

