MCP-Umgebungsvariablen: env, envFile und Platzhalter
MCP-Variablen richtig zuordnen: Prozessumgebung, env und Clientplatzhalter unterscheiden. Mit Cursor-Beispiel ohne Geheimwerte und konkretem Prüfablauf.
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
| Ebene | Bedeutung | Prüffrage |
|---|---|---|
| Prozessumgebung | Werte beim Start des Programms | Wie wurde der Editor geöffnet? |
| env im Serverblock | Umgebung des gestarteten Servers | Stimmt der Variablenname? |
| Clientplatzhalter | Wird durch den Client aufgelöst | Unterstü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
Notieren Sie den benötigten Variablennamen aus der Serverdokumentation. Großschreibung und Schreibweise gehören zum Namen.
Starten Sie den Server mit dem ausdrücklichen Testpfad. Legen Sie ein erfundenes Testobjekt an und kontrollieren Sie dessen Rückgabe nach einem Neustart.
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.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.
- Cursor: variables and envFile
Abrufbefehl anzeigen
curl -s https://cursor.com/docs/mcp - Memory: storage configuration
Abrufbefehl anzeigen
curl -s https://github.com/modelcontextprotocol/servers/tree/main/src/memory