# Copilot sieht deinen Workspace. Maguyva kartiert das Repo.

Canonical source: https://maguyva.ai/de/for-vscode

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Der Agent in VS Code liest die Dateien, die du anhängst, und die, die er selbst findet. Maguyva indexiert das ganze Repo und liefert es über MCP aus, sodass der Agent vor dem Bearbeiten fragt, wo ein Symbol liegt und wer es aufruft.

> Ein servers-Eintrag in .vscode/mcp.json: eine URL und ein Authorization-Header.

## Was VS Code wissen muss

Vier Fakten speziell zu VS Code.

### .vscode/mcp.json

Server stehen unter `servers`, nicht unter `mcpServers`. Für alle Workspaces führst du `MCP: Open User Configuration` aus und fügst denselben Eintrag in die `mcp.json` deines Profils ein.

### type: http

VS Code verbindet sich per Streamable HTTP mit dem Endpunkt von Maguyva und weicht nur dann auf SSE aus, wenn ein Server es nicht unterstützt. Lokal läuft nichts.

### Eine Umgebungsvariablen-Referenz

Der Header lautet `Bearer ${env:MAGUYVA_API_KEY}`. VS Code löst ihn aus der Umgebung auf, in der es gestartet wurde, also bleibt der Schlüssel aus der Datei, die du committest. Lieber eine Abfrage? Eine Input-Variable fragt einmal und speichert den Schlüssel.

### Workspace Trust

Server in `.vscode/mcp.json` starten ohne eigene Rückfrage, sobald du dem Workspace vertraust, und im eingeschränkten Modus nie. Mit Configure Tools in der Chat-Eingabe schaltest du einzelne Tools ein oder aus.

## Benutzerdefinierte Anweisungen sind eine Arbeitsvereinbarung. Nutze sie.

```text
# .github/copilot-instructions.md
- Führe npm test aus, bevor du eine Änderung für fertig erklärst.
- Bearbeite nie generierte Dateien unter src/gen/.
```

VS Code liest projektweite Anweisungen aus `.github/copilot-instructions.md` oder `AGENTS.md` und gezielte aus `.github/instructions/*.instructions.md`-Dateien mit einem `applyTo`-Muster. Nutze sie für:

- Build-, Test- und Lint-Befehle.
- Konventionen, die der Agent immer wieder falsch macht.
- Ordner, die der Agent in Ruhe lassen soll.

Anweisungen sagen dem Agenten, wie er arbeiten soll. Sie können ihm nicht sagen, welche von viertausend Dateien den Typ importieren, den er gleich umbenennt.

## Wo der Blick auf den Workspace endet

Drei Dinge, die der Agent aus seinen offenen Dateien nicht lernen kann.

### // Angehängt ist nicht alles

Der Agent arbeitet mit dem, was du anhängst, und dem, was seine Suchen liefern. Der Aufrufer in einem anderen Paket, der nach der Änderung bricht, stand auf keiner der beiden Listen.

### // Ein Texttreffer ist keine Referenz

Die Workspace-Suche findet den String. Sie kann einen echten Aufruf nicht von einem Kommentar, einem Mock oder einer gleichnamigen Methode einer anderen Klasse unterscheiden.

### // Jedes Lesen kostet Kontext

Jede Datei, die der Agent zur Orientierung öffnet, verbraucht Kontext, den er für die Änderung braucht. Eine gerankte Antwort mit file:line kostet weniger als zehn erkundende Lesevorgänge.

## Maguyva als MCP-Server in VS Code

Ein servers-Eintrag gibt dem Agenten:

- **11 Tools für dein indexiertes Repo**: semantische, strukturelle (AST-), Graph- und Textsuche, plus Symbol-Lookup, Abhängige und Dateiabruf.
- **Antworten mit Dateipfaden und Zeilennummern**: über 285+ Sprachen, damit der Agent gleich die richtige Datei öffnet.
- **Tools, die nur lesen**: Die Tools von Maguyva fragen den Index ab. Keines bearbeitet deine Dateien, also geht es bei jeder Freigabe ums Lesen, nicht ums Schreiben.

> VS Code gibt dem Agenten *deinen Workspace*.
> Maguyva gibt dem Agenten *eine Karte des Repos*.

## Zwei Workflows

Erst die Karte fragen, dann editieren.

### 01. Die Tests finden, bevor sich ein Parser ändert

```text
vscode agent> welche Tests decken parseConfig ab?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ Der Agent führt nach der Änderung diese beiden Dateien aus, nicht die ganze Suite.
[exit 0]
```

Die Antwort nennt die zwei Testdateien, die den Parser erreichen, also prüft der Agent die Änderung dort, wo sie brechen kann.

### 02. Eine Umbenennung abschätzen, bevor die erste Änderung fällt

```text
vscode agent> benenne OrderStatus.PENDING in OrderStatus.QUEUED um

find_symbol("OrderStatus", references)
  23 Referenzen in 9 Dateien

→ Der Agent plant einen Durchgang über neun Dateien.
[exit 0]
```

Die Zahl der Referenzen kommt vor der Änderung, nicht erst, wenn der Typprüfer scheitert.

## Einrichtung in VS Code

Drei Schritte. Free-Stufe: 3 Repositories, Bis zu 50K indexierte Repo-Zeilen, keine Kreditkarte.

### 01. Ein Repo auf maguyva.ai indexieren

Wähl eins, das du schon kennst, damit du die Antworten bewerten kannst.

### 02. Maguyva zu .vscode/mcp.json hinzufügen

`.vscode/mcp.json`

```json
{
  "servers": {
    "maguyva": {
      "type": "http",
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Schlüssel setzen und den Server starten

Setze `MAGUYVA_API_KEY` in der Umgebung, aus der du VS Code startest, und starte den Server über die Code Lens über seinem Eintrag. Stell dem Agenten eine Frage, deren Antwort du schon kennst.

Die [MCP-Doku](https://code.visualstudio.com/docs/agent-customization/mcp-servers) von VS Code behandelt Input-Variablen, das portable .mcp.json-Format und das Vertrauen in Server.

## Indexiere ein Repo, das du schon kennst.

Verbinde VS Code über MCP und stell eine Frage, die du überprüfen kannst.
