# GitHub Copilot

Verbinden Sie VS Code und GitHub Copilot über die gehostete OAuth-Konfiguration, wenn der Host dies unterstützt.

- Canonical: https://docs.xmemo.dev/de/docs/mcp/copilot
- Locale: de-DE
- Content-Locale: de-DE
- Canonical-Content-Digest: 89da3a37e97e05ec3cbc29a8fa3f11b3cedd4385b04602234bbe99594d360d2a
- Edition-Digest: ce851e4ef6ab92f5a5f11abdf0c124ab7a6f870a3be3f885b61e50ea66877855
- Source-Revision: sha256:79ae0e28c58efc497cff8929ba46d7fb7bcfdbf5c9e0b86c939e6f7182cd270b

## Voraussetzungen

Verwenden Sie VS Code mit GitHub Copilot Chat und MCP-Unterstützung. Schnittstelle und Voraussetzungen:

- Konkrete Schnittstelle: VS Code mit der GitHub Copilot Chat-Erweiterung (Editor-OAuth-Pfad).
- Konfigurationsdatei: %APPDATA%\Code\User\mcp.json (Windows), ~/Library/Application Support/Code/User/mcp.json (macOS) oder ~/.config/Code/User/mcp.json (Linux).
- Verwendet den Schlüssel servers anstelle von mcpServers.
- Endpunkt: https://xmemo.dev/mcp.
- Konto: Gültiges XMemo-Konto unter https://xmemo.dev.

## Installation / Einrichtung

Bearbeiten Sie Ihre VS Code-Benutzerkonfiguration mcp.json unter dem Schlüssel servers und fügen Sie die gehostete XMemo-URL hinzu. Verwenden Sie hier nicht die Copilot CLI-Konfiguration; deren direkter Pfad hat eine eigene Route (/docs/mcp/copilot-cli):

- Halten Sie den Editor-Eintrag nur als URL.
- Der erste Tool-Aufruf öffnet Browser-OAuth.
- Fügen Sie diesem VS Code-Eintrag keinen Authorization-Header hinzu.

## Anmeldedaten festlegen

Kein Schlüssel — schließen Sie Browser-OAuth in VS Code / GitHub Copilot Chat ab. Setzen Sie kein XMEMO_KEY und fügen Sie kein Bearer-Token in mcp.json ein:

```text
No XMEMO_KEY
Complete browser OAuth in VS Code / GitHub Copilot Chat
```

## XMEMO_AGENT_INSTANCE_ID generieren / bestätigen

Der geprüfte VS Code-OAuth-Eintrag hat keinen clientseitigen Identitäts-Header. Fügen Sie kein XMEMO_AGENT_INSTANCE_ID zu mcp.json hinzu; bestätigen Sie, dass dieser OAuth-Pfad seine über die Autorisierung verwaltete Zuordnung verwendet.

## Bestehenden Konfigurationsblock beibehalten

Verwenden Sie den geprüften VS Code / GitHub Copilot-Konfigurationsblock. Behalten Sie den Schlüssel servers und die reine URL-OAuth-Form bei; kopieren Sie nicht die Copilot CLI-Bearer-Konfiguration hinein:

```json
{
  "servers": {
    "xmemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```

## Client neu starten

Laden Sie das VS Code-Fenster neu (Developer: Reload Window) oder starten Sie die MCP-Verbindung nach dem Speichern von mcp.json neu, damit Copilot die aktuelle Serverdefinition liest.

## Mit einem echten Recall-Aufruf testen

Führen Sie den ersten MCP-Aufruf schreibgeschützt 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 Form)

Ein erfolgreicher Aufruf gibt die unten stehende öffentliche bewertete 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>
```

## Erste nützliche Aufgabe: Synthetischer Speicherlebenszyklus

Führen Sie die vollständige synthetische Speicheraufgabe in GitHub Copilot Chat aus:

- 1. Synthetischen Fakt speichern: Bitten Sie Copilot Chat, die Konvention ("Demo project timestamps use UTC.") unter "projects/demo-onboarding/conventions" zu speichern.
- 2. Zustandsloser Übergang: Öffnen Sie eine neue Chat-Sitzung in GitHub Copilot oder laden Sie das VS Code-Fenster neu.
- 3. Recall mit Quellenzuordnung: Fragen Sie "demo project timestamp format" ab. Bestätigen Sie die zurückgegebenen Felder Reference und Location.
- 4. Speicher korrigieren: Aktualisieren Sie die Konvention mit update_memory auf ISO 8601-Formatierung.
- 5. Optionale Bereinigung: Führen Sie ein Soft-Delete für die Konvention über forget durch, wenn die Überprüfung abgeschlossen ist.

## Funktionen und Profil-Tools

GitHub Copilot in VS Code hat Zugriff auf profilqualifizierte Tools, die im MCP-Dokumentationsvertrag für das generic-public-Profil definiert sind:

- Kern-Speicher-Tools: remember, recall, update_memory, forget, read_memory, explain_memory, search_memory, recall_context.
- Arbeitsbereichs-Tools: get_mcp_identity, get_project_summary, project, todo, open_project_workspace, open_todo_board, ledger, open_ledger.

## Einschränkungen und Grenzen

Betriebliche Grenzen für GitHub Copilot in VS Code:

- Arbeitsbereichsisolation: Operationen sind strikt auf den Arbeitsbereich des autorisierten Benutzers beschränkt.
- Editor/CLI-Trennung: Die VS Code-OAuth-Sitzung wird nicht an externe Terminal-Tools weitergegeben.
- Kein Header-Mischen: Fügen Sie dem servers-Eintrag in mcp.json keine Authorization-Header hinzu.

## Häufige Fehler

VS Code / GitHub Copilot Chat verwendet den Browser-OAuth-Pfad und sollte nicht mit Copilot CLI-Token-Einstellungen debuggt werden:

- invalid_grant — Der OAuth-Autorisierungscode ist ungültig, abgelaufen oder wurde bereits verwendet: Verbinden Sie den VS Code-MCP-Server erneut und autorisieren Sie ihn.
- invalid_target — Die OAuth-Ressource stimmt nicht mit diesem MCP-Server überein: Verbinden Sie sich erneut unter Verwendung von https://xmemo.dev/mcp.
- 403 insufficient_scope — Die Autorisierung umfasst nicht memory:read: Genehmigen Sie den erforderlichen Bereich und verbinden Sie sich erneut.

## Aktualisierung und Entfernung

Wartungsverfahren für GitHub Copilot:

- Aktualisierung: Laden Sie das VS Code-Fenster nach dem Aktualisieren der Konfiguration neu.
- Entfernung: Entfernen Sie den xmemo-Block aus mcp.json und laden Sie das VS Code-Fenster neu.

## VS Code / GitHub Copilot

OAuth client: keep only the hosted server URL in mcp.json; first tool call opens browser OAuth, so no XMEMO_KEY or Authorization header belongs in this file.

```
{
  "servers": {
    "XMemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```
