Zum Hauptinhalt springen

Konfiguration

Der Server, das plane-mcp-Binary und die plane-CLI lesen dieselben vier Einstellungen:

EinstellungFlagStandardBedeutung
PLANE_API_KEY--api-keykeiner (erforderlich)der Plane-API-Schlüssel, gesendet als X-Api-Key
PLANE_BASE_URL--base-urlhttps://api.plane.sodie Plane-Instanz: Plane Cloud oder deine selbst gehostete URL
PLANE_WORKSPACE--workspacekeinerein Standard-Arbeitsbereich: mit ihm ist slug bei jedem Tool optional
PORT--port3766der Port des HTTP-Servers auf 127.0.0.1

Jede wird aus dem ersten von Folgendem übernommen: ein Flag, die Umgebung, die gespeicherte Datei, der Standard. Die Auflösung liegt in resolveMcpConfig (src/mcp/config.ts).

Die gespeicherte Datei​

plane mcp config speichert die Einstellungen in einer Pro-Benutzer-.env:

BetriebssystemPfad
Linux~/.config/plane/.env (unter Beachtung von XDG_CONFIG_HOME)
macOS~/Library/Application Support/plane/.env
Windows%APPDATA%\plane\.env

PLANE_CONFIG (oder --config) zeigt stattdessen auf eine andere Datei. Die PID-Datei und das Log des Hintergrundservers liegen in einem run/-Ordner daneben.

PLANE_API_KEY=plane_api_0123456789abcdef
PLANE_BASE_URL=https://plane.example.com
PLANE_WORKSPACE=acme
PORT=3766

Jeder plane-Befehl außer plane mcp config und plane mcp uninstall verweigert die Ausführung, bis diese Datei einen API-Schlüssel enthält. Flags und Umgebungsvariablen überschreiben dann die gespeicherten Werte nur für diesen Lauf. plane-mcp und das In-Process-plane <tool> lesen ebenfalls die gespeicherte Datei.

Siehe plane mcp config für die drei Arten, sie zu schreiben.

Aus Code​

Dieselbe Auflösung wird exportiert, für Tools, die die gespeicherte Konfiguration wiederverwenden wollen:

import { configFilePath, readEnvFile, resolveMcpConfig, startPlaneMcpServer } from "@hoyasumii/plane/mcp";

const config = resolveMcpConfig({ env: process.env, file: readEnvFile(configFilePath()) });
if (!config.apiKey) throw new Error("run `plane mcp config` first");

const server = await startPlaneMcpServer(config);
console.log(server.url);