Skip to main content

Zugang im eigenen Netz

Der einfachere der beiden Wege: Das Programm auf dem Arbeitsplatz sendet den API-Schlüssel mit, und der Zugang steht. Es ist nichts weiter einzurichten — der Schlüssel entsteht beim ersten Start.

Wann dieser Weg passt

  • Der Assistent läuft auf einem Rechner im Firmennetz.
  • Es soll nichts von außen erreichbar sein.

Für den ersten Versuch ist das der richtige Weg: kein Webserver davor, keine Freigabe nach außen, jederzeit abschaltbar. Wenn dabei klar wird, dass der Zugang taugt, kann man ihn danach nach außen öffnen.

Was einzutragen ist

Im Assistenten wird hinterlegt:

Angabe Wert
Adresse die in den Einstellungen angezeigte lokale Adresse, endet auf /mcp
Kopfzeile x-api-key mit dem API-Schlüssel aus den Einstellungen

Statt x-api-key geht auch Authorization: Bearer mit demselben Wert. Wie das Feld im jeweiligen Programm heißt, ist unterschiedlich — verwendet wird immer der unveränderte Schlüssel.

Leerzeichen am Anfang oder Ende sind der Klassiker. Den Schlüssel über das Kopiersymbol übernehmen, nicht abschreiben.

Siehe Einstellungen.

Beispiel: Claude Desktop

Claude Desktop bindet Zugänge im eigenen Netz über eine Konfigurationsdatei ein, nicht über die Konnektoren in den Einstellungen — die sind für Adressen aus dem Internet gedacht. Die Verbindung stellt dabei das kleine Hilfsprogramm mcp-remote her: Claude Desktop startet es auf dem Arbeitsplatz, und es reicht die Anfragen mit dem API-Schlüssel an FINN.ghost weiter.

Dafür muss auf dem Arbeitsplatz Node.js installiert sein. mcp-remote selbst wird beim ersten Start automatisch aus dem Internet geladen, eine eigene Installation ist nicht nötig.

Die Konfigurationsdatei

Die Datei liegt unter:

%APPDATA%\Claude\claude_desktop_config.json

Am einfachsten öffnet man sie aus Claude Desktop heraus, über Einstellungen → Entwickler → Konfiguration bearbeiten (englisch Settings → Developer → Edit Config). Darin wird der Abschnitt mcpServers ergänzt:

{
  "mcpServers": {
    "finn": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://<server>:3000/mcp",
        "--header", "X-API-Key:${FINN_TOKEN}"
      ],
      "env": {
        "FINN_TOKEN": "<API-Schlüssel>"
      }
    }
  }
}
Stelle Einzutragen
finn ein frei wählbarer Name, unter dem der Zugang in Claude erscheint
https://<server>:3000/mcp die Adresse aus den Einstellungen von FINN.ghost, unverändert übernommen
<API-Schlüssel> der API-Schlüssel aus den Einstellungen

Steht in der Datei schon etwas, etwa ein Abschnitt preferences, wird mcpServers daneben eingefügt — durch ein Komma getrennt, innerhalb der äußeren geschweiften Klammern. Gibt es mcpServers schon, kommt nur der Eintrag finn dazu. Eine fehlerhafte Datei verwirft Claude Desktop beim Start.

Der Schlüssel steht in env und wird über ${FINN_TOKEN} in die Kopfzeile eingesetzt. Nach dem Doppelpunkt kommt kein Leerzeichen — genau so wie im Beispiel.

Der API-Schlüssel steht in dieser Datei im Klartext. Sie gehört nur auf den eigenen Arbeitsplatz, nicht in ein Netzlaufwerk und nicht in eine Vorlage, die an andere Rechner verteilt wird.

Danach neu starten

Claude Desktop vollständig beenden — auch das Symbol im Infobereich der Taskleiste — und neu starten. Erst dann liest es die Datei neu ein. Unter Einstellungen → Entwickler ist danach zu sehen, ob der Zugang läuft oder mit welchem Fehler er nicht starten konnte.

Wenn das Zertifikat nicht zum Servernamen passt

Mit https prüft mcp-remote das Zertifikat. Ist es auf einen anderen Namen ausgestellt als den, unter dem der Server im eigenen Netz angesprochen wird — etwa auf die öffentliche Domain aus Let's Encrypt, während intern der Rechnername verwendet wird —, kommt keine Verbindung zustande.

Am saubersten ist es, in der Adresse den Namen aus dem Zertifikat zu verwenden, sofern er im eigenen Netz aufgelöst wird. Geht das nicht, lässt sich die Prüfung in env abschalten:

"env": {
  "FINN_TOKEN": "<API-Schlüssel>",
  "NODE_TLS_REJECT_UNAUTHORIZED": "0"
}

Damit ist die Verbindung weiterhin verschlüsselt, aber nicht mehr geprüft: Ein anderer Rechner im Netz, der sich als FINN.ghost ausgibt, bekäme den Schlüssel. Das ist nur im eigenen, vertrauenswürdigen Netz vertretbar — und auch dort eine Notlösung.

Claude Code

Claude Code spricht die Adresse direkt an und braucht mcp-remote nicht. Eingerichtet wird der Zugang einmal auf der Kommandozeile:

claude mcp add --transport http --scope user finn https://<server>:3000/mcp --header "X-API-Key: <API-Schlüssel>"

Mit --scope user gilt er für alle Projekte auf diesem Arbeitsplatz. Angezeigt und neu verbunden wird er in Claude Code über /mcp.

Erkennbar im Protokoll

Jeder Aufruf steht im Protokoll von FINN.ghost, und daran hängt der Name des Programms, das sich verbunden hat — etwa claude-code. Diesen Namen meldet der Assistent beim Verbinden selbst.

Erkennbar ist damit das Programm, nicht die Person und nicht der Arbeitsplatz. Wo mehrere Personen mit demselben Schlüssel arbeiten, ist nicht unterscheidbar, wer eine Abfrage ausgelöst hat.

Weiter

Zugang von außen