# Copilot CLI

Konfigurieren Sie den direkten Bearer-Token Copilot CLI MCP-Client mit XMEMO_KEY und stabiler Instanzzuordnung.

- Canonical: https://docs.xmemo.dev/de/docs/mcp/copilot-cli
- Locale: de-DE
- Content-Locale: de-DE
- Canonical-Content-Digest: 3d18b1df6bc7de8f1e1af14a294640eb5bf7a2d0176a2523f2f62b790b975e99
- Edition-Digest: 4ce1e2a6e2b1362195287342ce99ceba8b61686166ede6fb53ee29279c10bb84
- Source-Revision: sha256:96e19501d8a5b0d1cc66043cdcd452344580fd7ffafd84f8562409ac6df29e12

## Voraussetzungen

Verwenden Sie GitHub Copilot CLI mit deren MCP-Konfigurationsunterstützung. Diese Route ist bewusst von der OAuth-Route für VS Code / GitHub Copilot Chat getrennt. Copilot CLI unterstützt benutzerdefinierte HTTP-Header in ~/.copilot/mcp-config.json oder lokale Proxy-Konnektivität über memory-os-cli.

- Endpunkt: https://xmemo.dev/mcp.
- Transport: Streamable HTTP (type: "http" in der Konfiguration) oder lokaler Proxy (xmemo mcp proxy).
- Authentifizierungsmodus: Wenden Sie Authorization über die offizielle MCP-Benutzeroberfläche/CLI von Copilot oder eine unterstützte Secret-Referenz an; gehen Sie nicht von einer Erweiterung von Umgebungsvariablen (${env:…}) in Header-Werten aus.
- Konfigurationsdatei: ~/.copilot/mcp-config.json.
- Bereitschaftsstatus: Die direkte Erweiterung von Umgebungsvariablen in Copilot CLI-Headern ist not-tested; der lokale Proxy-Pfad ist über MCP-SETUP-GUIDE.md von memory-os-cli verifiziert.

## Installation / Einrichtung

Fügen Sie den XMemo-Serverblock unter mcpServers in ~/.copilot/mcp-config.json ein oder führen Sie ihn über den lokalen Proxy von memory-os-cli aus. Verwenden Sie nicht den servers-Schlüsseleintrag von VS Code; Copilot CLI ist ein anderer Client-Pfad.

- Direktes Remote-HTTP: Fügen Sie den XMemo-Block in ~/.copilot/mcp-config.json mit type: "http", url: "https://xmemo.dev/mcp", timeout: 30000 und tools: ["*"] ein.
- Lokaler Proxy-Pfad: Führen Sie xmemo setup copilot aus und lassen Sie xmemo mcp proxy in einem Hintergrundterminal laufen (verankert in MCP-SETUP-GUIDE.md von memory-os-cli).
- Die direkte Erweiterung von Umgebungsvariablen in Headern (${env:XMEMO_KEY}) ist not-tested und wird von Core-Vorlagen nicht unterstützt.

```bash
# Local proxy path (recommended if direct remote HTTP is unsupported):
xmemo login
xmemo setup copilot
xmemo mcp proxy  # keep running in a background terminal
```

## Anmeldedaten festlegen

Legen Sie den Authorization-Header-Wert über die offizielle MCP-Benutzeroberfläche/CLI von Copilot oder eine unterstützte Secret-Referenz fest (ersetzen Sie <replace-with-XMEMO_KEY-or-supported-secret-reference> durch Ihr tatsächliches Token). Bei Verwendung des lokalen Proxys verwaltet xmemo login die Anmeldedaten automatisch.

```bash
# For local proxy:
xmemo login
# For direct configuration, apply token through Copilot CLI or supported secret reference
```

## XMEMO_AGENT_INSTANCE_ID generieren / bestätigen

Generieren Sie einen nicht-geheimen Wert pro lokaler Installation von Copilot CLI, speichern Sie ihn dauerhaft außerhalb von Git und verwenden Sie ihn nach Neustarts wieder, damit die Herkunftszuordnung stabil bleibt.

```bash
export XMEMO_AGENT_INSTANCE_ID='<stable-local-copilot-cli-instance-id>'
# Persist and reuse this value for the same local install
```

## Bestehenden Konfigurationsblock beibehalten

Verwenden Sie den maßgeblichen Copilot CLI-XMemo-Konfigurationsblock, der der Vorlage von Core entspricht (mcp_config.py:267). Wenden Sie den realen Authorization-Wert über die offizielle MCP-Benutzeroberfläche/CLI von Copilot oder eine unterstützte Secret-Referenz an; verlassen Sie sich nicht auf die unbestätigte Header-Erweiterung ${env:XMEMO_KEY}.

```json
{
  "mcpServers": {
    "XMemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp",
      "tools": [
        "*"
      ],
      "timeout": 30000,
      "headers": {
        "Authorization": "Bearer <replace-with-XMEMO_KEY-or-supported-secret-reference>",
        "X-Memory-OS-Agent-ID": "copilot-cli",
        "X-Memory-OS-Agent-Instance-ID": "<stable-local-copilot-cli-instance-id>"
      }
    }
  }
}
```

## Client neu starten

Starten Sie Copilot CLI nach dem Ändern der mcp-config.json neu. Wenn Sie den lokalen Proxy verwenden, stellen Sie sicher, dass 'xmemo mcp proxy' in einem Hintergrundterminal weiterläuft, bevor Sie Copilot CLI neu starten.

## Mit einem echten recall-Aufruf testen

Führen Sie den ersten MCP-Aufruf rein lesend aus. Dies ist ein tatsächlicher recall-Aufruf, kein Platzhalter für eine Statusprüfung, und er schreibt keine Daten in den Speicher.

```text
recall({ query: "connection check", limit: 1 })
```

## Erwartete Antwort (wörtliche Struktur)

Ein erfolgreicher Aufruf gibt die unten dargestellte öffentliche strukturierte Textform zurück; Referenz und Inhalt sind echte Werte aus dem autorisierten Speicherbereich.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## Häufige Fehler

Copilot CLI ist ein direkter Token- oder Proxy-Client; häufige Fehler beziehen sich auf Authentifizierungs-Token, den Proxy-Lebenszyklus oder die Scope-Genehmigung.

- 401 invalid_token — XMEMO_KEY fehlt, ist abgelaufen, widerrufen oder nicht erweitert: Überprüfen Sie die aktive Secret-Referenz oder führen Sie xmemo login für den lokalen Proxy erneut aus.
- 403 insufficient_scope — Das Token gewährt kein memory:read: Stellen Sie ein Token mit dem erforderlichen Geltungsbereich aus.
- Connection refused — Bei Verwendung des lokalen Proxys prüfen Sie, ob xmemo mcp proxy in einem Hintergrundterminal läuft.
- Literal '${env:XMEMO_KEY}' im Header gesendet — Copilot CLI erweitert Umgebungsvariablen in Header-Werten möglicherweise nicht; verwenden Sie die Secret-Referenz oder den lokalen Proxy.
- Ungültige XMEMO_AGENT_INSTANCE_ID-Werte werden auf keine Instanzzuordnung normalisiert, anstatt einen Authentifizierungsfehler auszulösen.

## Copilot CLI

Direct client: set XMEMO_KEY in the user environment or a supported secret reference, then replace the stable instance placeholder before applying the reviewed config.

```
{
  "mcpServers": {
    "XMemo": {
      "type": "http",
      "url": "http://127.0.0.1:8765/mcp"
    }
  }
}
```
