Zum Inhalt springen

Blog

MCP-Umgebungsvariablen: env, envFile und Platzhalter

MCP-Variablen richtig zuordnen: Prozessumgebung, env und Clientplatzhalter unterscheiden. Mit Cursor-Beispiel ohne Geheimwerte und konkretem Prüfablauf.

Veröffentlicht am · von tracevero · Lesezeit 3 Minuten (528 Wörter)

Ein Variablenname in einer Anleitung bedeutet noch nicht, dass Ihr Server den Wert erhält. Zwischen einer Datei, dem geöffneten Editor und dem gestarteten Prozess liegen unterschiedliche Übergaben. Zeichnen Sie für eine fehlende Einstellung den Weg vom Ursprung bis zum Verbraucher nach. Prüfen Sie zuerst mit einem unkritischen Wert, etwa einem Testpfad. Damit lässt sich die Übergabe untersuchen, ohne persönliche Schlüssel in Fehlerberichte oder öffentliche Formulare zu kopieren.

Drei Ebenen auseinanderhalten

Woher kommt der Wert?
EbeneBedeutungPrüffrage
ProzessumgebungWerte beim Start des ProgrammsWie wurde der Editor geöffnet?
env im ServerblockUmgebung des gestarteten ServersStimmt der Variablenname?
ClientplatzhalterWird durch den Client aufgelöstUnterstützt er diese Syntax?

Cursor dokumentiert ${env:NAME} sowie ${workspaceFolder} und für lokale stdio-Server eine envFile-Option. Daraus folgt keine allgemeine MCP-Syntax für jeden Client. Prüfen Sie die Clientreferenz und die Herstellerdokumentation des tatsächlich gestarteten Programms. Eine Datei namens .env wirkt nur, wenn eine beteiligte Komponente sie ausdrücklich einliest. Ein im Terminal gesetzter Wert muss nicht in einem bereits geöffneten Editor angekommen sein.

Mit einem Speicherpfad statt einem Schlüssel beginnen

Das folgende Cursor-Beispiel setzt einen nicht geheimen Pfad direkt im Serverblock. Erstellen Sie zuerst das Testverzeichnis und ersetzen Sie den Beispielwert. So prüfen Sie zunächst die einfachere Übergabe: Konfiguration an Server. Erst wenn dieser Weg funktioniert, lohnt sich eine zusätzliche Variablenauflösung. Die Memory-Anleitung erklärt, wie Sie die Speicherdatei durch Schreiben, Neustarten und erneutes Lesen prüfen.

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ],
      "env": {
        "MEMORY_FILE_PATH": "/absolute/path/mcp-test/memory.jsonl"
      }
    }
  }
}

Die Übergabe schrittweise prüfen

Konfiguration nachvollziehbar prüfen 1. Ursprung Wert festlegen 2. Client Auflösung prüfen 3. Server Wirkung beobachten
Vorgeschlagener Prüfablauf für Ihre Umgebung.
  1. Notieren Sie den benötigten Variablennamen aus der Serverdokumentation. Großschreibung und Schreibweise gehören zum Namen.

  2. Starten Sie den Server mit dem ausdrücklichen Testpfad. Legen Sie ein erfundenes Testobjekt an und kontrollieren Sie dessen Rückgabe nach einem Neustart.

  3. Ersetzen Sie in Cursor erst dann den festen Pfad durch ${env:MCP_TEST_MEMORY_PATH}. Setzen Sie diese Variable in der Umgebung, aus der Cursor gestartet wird, auf denselben Testpfad.

  4. Beenden und öffnen Sie den betroffenen Client erneut. Wiederholen Sie denselben Test und vergleichen Sie die tatsächlich verwendete Datei. Dokumentieren Sie den Variablennamen und das Ergebnis, keine Geheimwerte.

Leere Werte und falsche Erwartungen erkennen

Unterscheiden Sie „Variable fehlt“, „Variable ist leer“ und „Variable enthält einen Platzhalter als Text“. Das sind unterschiedliche Befunde. Eine Anmeldung kann trotz vorhandener Variable scheitern, wenn Konto oder Rechte nicht passen; dafür gibt es die gezielte Fehlersuche. Der Konverter weist Clientplatzhalter bewusst ab. Er kann nicht wissen, ob dieselbe Zeichenfolge im Zielclient denselben Ordner oder Wert bezeichnet.

Lädt jeder Server automatisch .env?
Nein. Prüfen Sie, welche Komponente die Datei liest, aus welchem Verzeichnis sie sie lädt und wann dies geschieht.
Kann ich envFile für eine HTTP-Verbindung nutzen?
Cursor dokumentiert diese Option für stdio. Übertragen Sie sie nicht ungeprüft auf einen entfernten Server.
Warum reicht ein neues Terminal nicht?
Der schon laufende Editor ist ein anderer Prozess. Prüfen Sie seine Startumgebung und öffnen Sie ihn für den Gegenversuch neu.
Soll ich den Wert zur Fehlersuche veröffentlichen?
Bei Geheimwerten genügt der Name mit dem Befund fehlend, leer oder gesetzt. Testen Sie den Übergabeweg mit einem unkritischen Ersatzwert.

Herstellerquellen, abgerufen am 1. Oktober 2026. Die Prüfabläufe sind redaktionelle Vorschläge.

  1. Cursor: variables and envFile
    Abrufbefehl anzeigencurl -s https://cursor.com/docs/mcp
  2. Memory: storage configuration
    Abrufbefehl anzeigencurl -s https://github.com/modelcontextprotocol/servers/tree/main/src/memory

Weiter zur Anwendung

Alle Beiträge

tracevero · https://tracevero.de/blog/mcp-umgebungsvariablen