Sie verbinden einen KI-Client in drei Schritten mit dem Evalanche-MCP: API-Zugang anlegen, Bearer Token abrufen, Token im KI-Client hinterlegen.
Hinweis!
Der Evalanche-MCP unterstützt ausschließlich das aktuelle MCP-Protokoll Streamable HTTP. Ältere Transportwege wie SSE werden nicht unterstützt. Ein OAuth-Log-in im Browser ist nicht möglich. Die Anmeldung erfolgt über einen Bearer Token.
Voraussetzungen
- MCP-Server-URL Ihrer Instanz:
https://<IHRE-DOMAIN>/api/mcp - Für Claude Desktop: Node.js 18 oder höher
1. API-Zugang anlegen
- Öffnen Sie Einstellungen → Applikationen und Zugänge.
- Legen Sie einen neuen Zugang vom Typ API (REST) an.
- Vergeben Sie einen eindeutigen Namen, zum Beispiel
MCP – Claude Desktop – Max Muster. - Speichern Sie den Zugang. Das System erzeugt eine Client ID und ein Client Secret.
Warnung!
Das Client Secret wird nur einmal angezeigt. Speichern Sie es in einem Passwort-Manager. Legen Sie pro Person und KI-Client einen eigenen Zugang an.
2. Bearer Token abrufen
Fordern Sie mit Client ID und Client Secret einen Token an (OAuth 2.0 Client Credentials).
macOS und Linux
curl -X POST \ -H "Accept: application/json" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "scope=api:restpreview&client_id=<CLIENT-ID>&client_secret=<CLIENT-SECRET>" \ "https://<IHRE-DOMAIN>/api/auth/v1/flow/client"
Windows PowerShell
$body = @{
scope = "api:restpreview"
client_id = "<CLIENT-ID>"
client_secret = "<CLIENT-SECRET>"
}
(Invoke-RestMethod -Method Post `
-Uri "https://<IHRE-DOMAIN>/api/auth/v1/flow/client" `
-ContentType "application/x-www-form-urlencoded" `
-Body $body).access_tokenAntwort
{
"access_token": "<ACCESS-TOKEN>",
"token_type": "Bearer",
"expires_in": <SEKUNDEN>
}Kopieren Sie den Wert aus access_token. expires_in gibt die Gültigkeit in Sekunden an.
3. Token im KI-Client hinterlegen
Claude Desktop
- Öffnen Sie in Claude Desktop Einstellungen → Entwickler → Konfiguration bearbeiten. Dadurch öffnet sich die Datei
claude_desktop_config.json. - Fügen Sie den folgenden Eintrag ein und ersetzen Sie Domain und Token.
- Speichern Sie die Datei und starten Sie Claude Desktop neu.
{
"mcpServers": {
"evalanche-core": {
"command": "npx",
"args": [
"-y",
"mcp-remote@0.15.2",
"https://<IHRE-DOMAIN>/api/mcp",
"--protocol",
"auto",
"--transport",
"http-only",
"--header",
"Authorization: Bearer <TOKEN_EINSETZEN>"
]
}
}
}| Parameter | Bedeutung |
|---|---|
mcp-remote@0.15.2 | Verbindet Claude Desktop mit dem Remote-Server. Die feste Version verhindert unerwartete Änderungen. |
--transport http-only | Erzwingt Streamable HTTP. Ohne diesen Parameter versucht der Client zusätzlich SSE. |
--protocol auto | Handelt die Protokollversion automatisch mit dem Server aus. |
--header | Übergibt den Bearer Token bei jedem Aufruf. |
Nach dem Neustart erscheint evalanche-core unter den Konnektoren. Testen Sie die Verbindung mit: „Zeig mir meine Mailing-Vorlagen.“
Claude Code
claude mcp add --transport http evalanche-core https://<IHRE-DOMAIN>/api/mcp \ --header "Authorization: Bearer <TOKEN_EINSETZEN>"
Cursor
{
"mcpServers": {
"evalanche-core": {
"url": "https://<IHRE-DOMAIN>/api/mcp",
"headers": { "Authorization": "Bearer <TOKEN_EINSETZEN>" }
}
}
}VS Code
{
"servers": {
"evalanche-core": {
"type": "http",
"url": "https://<IHRE-DOMAIN>/api/mcp",
"headers": { "Authorization": "Bearer <TOKEN_EINSETZEN>" }
}
}
}Warnung!
Tragen Sie nur den Token ein, nie das Client Secret. Konfigurationsdateien mit Token gehören nicht in Repositories oder geteilte Ordner.
4. Token erneuern
Nach Ablauf von expires_in antwortet der MCP mit HTTP 401. Rufen Sie einen neuen Token wie in Schritt 2 ab, tauschen Sie ihn in der Konfiguration aus und starten Sie den KI-Client neu.
Eigene Agents und Backend-Integrationen
Ihre Anwendung ruft den Token selbst per POST /api/auth/v1/flow/client ab, sendet ihn bei jedem MCP-Aufruf mit und erneuert ihn kurz vor Ablauf oder nach HTTP 401 automatisch.
import os, time, requests
AUTH_URL = "https://<IHRE-DOMAIN>/api/auth/v1/flow/client"
_token, _expires_at = None, 0
def get_token():
global _token, _expires_at
if _token and time.time() < _expires_at - 60:
return _token
r = requests.post(AUTH_URL, data={
"scope": os.environ["MCP_SCOPE"],
"client_id": os.environ["MCP_CLIENT_ID"],
"client_secret": os.environ["MCP_CLIENT_SECRET"],
}, headers={"Accept": "application/json"}, timeout=10)
r.raise_for_status()
data = r.json()
_token, _expires_at = data["access_token"], time.time() + data["expires_in"]
return _tokenFehlerbehebung
| Meldung | Ursache und Lösung |
|---|---|
invalid_client | Client ID oder Client Secret falsch. Zugangsdaten prüfen. |
invalid_scope | Scope ungültig. Verwenden Sie api:restpreview. |
HTTP 401 | Token fehlt oder ist abgelaufen. Neuen Token abrufen. |
HTTP 403 | Dem Zugang fehlt die Berechtigung für die Funktion. |
| Verbindung bricht ab / Protokollfehler | --transport http-only fehlt oder eine veraltete mcp-remote-Version wird genutzt. Konfiguration wie oben übernehmen. |
npx nicht gefunden | Node.js ist nicht installiert. Node.js 18 oder höher installieren und Client neu starten. |
| Keine Tools sichtbar | Server-URL, JSON-Syntax und Header prüfen. KI-Client neu starten. |