Authentifizierung
Der CODEFLUSS MCP Server unterstützt zwei Authentifizierungsmethoden: Bearer Token (API-Keys) und Session Cookies. Beide Methoden können je nach Anwendungsfall verwendet werden.
Dual-Auth System
| Methode | Anwendungsfall | Header/Cookie |
|---|---|---|
| Bearer Token | MCP-Clients, API-Integrationen | Authorization: Bearer <token> |
| Session Cookie | Browser-basierte Anwendungen | cf_session=<session_id> |
Bearer Token (API-Keys)
API-Keys sind die empfohlene Methode fĂĽr MCP-Client-Integrationen.
API-Key Formate
cf_live_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Production
cf_test_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Staging/Test
| Präfix | Umgebung | Verwendung |
|---|---|---|
cf_live_ | Production | Live-Daten, echte Projekte |
cf_test_ | Staging | Testdaten, Entwicklung |
Header-Format
Authorization: Bearer cf_live_sk_1234567890abcdefBeispiel: cURL
curl -X POST https://app.codefluss.io/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cf_live_sk_1234567890abcdef" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'Beispiel: JavaScript/TypeScript
const response = await fetch('https://app.codefluss.io/api/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.CODEFLUSS_API_KEY}`,
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'tools/list',
params: {},
}),
});
const result = await response.json();
console.log(result);Beispiel: Python
import requests
response = requests.post(
'https://app.codefluss.io/api/mcp',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer cf_live_sk_1234567890abcdef',
},
json={
'jsonrpc': '2.0',
'id': 1,
'method': 'tools/list',
'params': {},
}
)
print(response.json())Session Cookie
Session-basierte Authentifizierung wird automatisch verwendet, wenn ein Benutzer im CODEFLUSS Dashboard eingeloggt ist.
Cookie-Name
cf_session=eyJhbGciOiJIUzI1NiIs...
Verwendung in fetch (Browser)
// Credentials werden automatisch mitgesendet
const response = await fetch('/api/mcp', {
method: 'POST',
credentials: 'include', // Wichtig fĂĽr Cookie-Auth
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'list_projects',
params: {},
}),
});API-Key Management
Key erstellen
- Dashboard → Einstellungen → API Keys
- Neuen API-Key erstellen klicken
- Namen vergeben (zur Identifikation)
- Optional: Ablaufdatum setzen
- Key kopieren und sicher speichern
Key-Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| Name | Frei wählbar, zur Identifikation |
| Präfix | cf_live_ oder cf_test_ |
| Ablaufdatum | Optional, Standard: kein Ablauf |
| Berechtigungen | Aktuell: voller Zugriff auf eigene Projekte |
| Letzte Nutzung | Wird automatisch aktualisiert |
Key widerrufen
Dashboard → Einstellungen → API Keys → [Key auswählen] → Widerrufen
Warnung: Ein widerrufener Key kann nicht wiederhergestellt werden. Du musst einen neuen Key erstellen.
Sicherheitsempfehlungen
API-Keys sicher speichern
# Umgebungsvariablen verwenden
export CODEFLUSS_API_KEY="cf_live_sk_..."
# .env Datei (nicht committen!)
CODEFLUSS_API_KEY=cf_live_sk_....gitignore Eintrag
# Environment files
.env
.env.local
.env.*.local
# API Keys
**/api-keys.jsonKey-Rotation
Wir empfehlen, API-Keys regelmäßig zu rotieren:
- Neuen Key erstellen
- Anwendungen aktualisieren
- Alten Key widerrufen
Fehler-Responses
UngĂĽltiger oder fehlender Token
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32001,
"message": "Authentication failed",
"data": {
"reason": "Invalid or missing API key"
}
}
}Abgelaufener Token
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32001,
"message": "Authentication failed",
"data": {
"reason": "API key has expired"
}
}
}Widerrufener Token
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32001,
"message": "Authentication failed",
"data": {
"reason": "API key has been revoked"
}
}
}Rate Limiting
API-Anfragen sind rate-limited, um die Stabilität des Dienstes zu gewährleisten:
| Plan | Requests/Minute | Requests/Tag |
|---|---|---|
| Free | 60 | 1.000 |
| Pro | 300 | 10.000 |
| Enterprise | Unbegrenzt | Unbegrenzt |
Bei Überschreitung erhältst du:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32000,
"message": "Rate limit exceeded",
"data": {
"retryAfter": 60
}
}
}Nächste Schritte
- Protokoll - JSON-RPC 2.0 Format und alle Error Codes
- Schnellstart - Erste Schritte mit dem MCP Server