Zum Hauptinhalt springen

MCP-Server (KI-Assistenten)

Mit dem MCP-Server von sol2flow arbeiten KI-Assistenten mit Ihren Boards und Aufgaben: „Was steht heute bei mir an?“, „Leg eine Aufgabe für den Login-Fehler an und weise sie Ben zu“, „Verschieb PRD-12 nach Erledigt und buche 1 h 30 min“. Er spricht das Model Context Protocol, das Claude Desktop, Claude Code, Cursor, VS Code und viele andere Assistenten verstehen.

Der Server nutzt die REST-API mit Ihrem persönlichen API-Schlüssel. Der Assistent kann also genau das, was Sie in der App können, nicht mehr: Ihre Rollen, der Zugriff des Schlüssels (Vollzugriff oder Nur lesen), der Plan Ihrer Organisation und der Schalter REST-API des Workspaces gelten genau wie für die API.

Was Sie brauchen​

  • Einen API-Schlüssel: Kontomenü (unten links) → API-Schlüssel → API-Schlüssel erstellen (API-Schlüssel). Wählen Sie Vollzugriff, wenn der Assistent etwas ändern soll, Nur lesen, wenn er nur nachsehen soll. Der Schlüssel wird einmal angezeigt: Kopieren Sie ihn.
  • Die REST-API muss verfügbar sein: In der sol2flow-Cloud enthält der Plan Ihrer Organisation sie; auf Ihrer eigenen Instanz hat ein Administrator API-Schlüssel erlauben eingeschaltet (Instanz-Einstellungen); und im Workspace ist REST-API an (Einstellungen → Workspace → Zugriff & Integrationen, Workspaces).
  • Eines davon:
    • sol2flow-Cloud: sonst nichts. Nutzen Sie den gehosteten Server unter https://mcp.sol2flow.com/mcp.
    • Auf Ihrem Computer: Node.js 22 oder neuer. Ihr Assistent startet den Server mit npx -y @sol2flow/mcp; das funktioniert für die sol2flow-Cloud und für Ihre eigene Instanz.
    • Ihre eigene Instanz: der Server als Docker-Container neben sol2flow (Self-Hosting).

Ihren Assistenten verbinden​

Ersetzen Sie sf_… durch Ihren Schlüssel. Für Ihre eigene Instanz ergänzen Sie SOL2FLOW_URL mit deren Adresse (zum Beispiel https://flow.example.com); ohne sie nutzt der Server die sol2flow-Cloud.

Claude Code​

# der gehostete Server (sol2flow-Cloud)
claude mcp add --transport http sol2flow https://mcp.sol2flow.com/mcp --header "Authorization: Bearer sf_…"

# oder auf Ihrem Computer, für jede Instanz
claude mcp add sol2flow --env SOL2FLOW_URL=https://flow.example.com --env SOL2FLOW_API_KEY=sf_… -- npx -y @sol2flow/mcp

Claude Desktop​

Settings → Developer → Edit Config öffnet claude_desktop_config.json. Fügen Sie hinzu:

{
"mcpServers": {
"sol2flow": {
"command": "npx",
"args": ["-y", "@sol2flow/mcp"],
"env": { "SOL2FLOW_URL": "https://app.sol2flow.com", "SOL2FLOW_API_KEY": "sf_…" }
}
}
}

Starten Sie Claude Desktop neu. Die Tools von sol2flow erscheinen im Tool-Menü eines neuen Chats.

Cursor​

In ~/.cursor/mcp.json (alle Projekte) oder .cursor/mcp.json (ein Projekt) entweder derselbe Eintrag unter mcpServers wie für Claude Desktop oder der gehostete Server:

{
"mcpServers": {
"sol2flow": { "url": "https://mcp.sol2flow.com/mcp", "headers": { "Authorization": "Bearer sf_…" } }
}
}

VS Code​

In .vscode/mcp.json (oder MCP: Open User Configuration für alle Workspaces). VS Code fragt einmal nach dem Schlüssel und bewahrt ihn in seinem Geheimnisspeicher auf, er steht also nicht in der Datei:

{
"inputs": [{ "type": "promptString", "id": "sol2flow-key", "description": "sol2flow API key", "password": true }],
"servers": {
"sol2flow": {
"type": "http",
"url": "https://mcp.sol2flow.com/mcp",
"headers": { "Authorization": "Bearer ${input:sol2flow-key}" }
}
}
}

Stattdessen auf Ihrem Computer: "type": "stdio", "command": "npx", "args": ["-y", "@sol2flow/mcp"], "env": { "SOL2FLOW_URL": "https://flow.example.com", "SOL2FLOW_API_KEY": "${input:sol2flow-key}" }.

Andere Assistenten​

Jeder MCP-Client funktioniert: Entweder er startet npx -y @sol2flow/mcp mit den Umgebungsvariablen SOL2FLOW_API_KEY (und SOL2FLOW_URL), oder er verbindet sich mit einem HTTP-Server (https://mcp.sol2flow.com/mcp oder Ihrem eigenen) mit dem Header Authorization: Bearer sf_….

Die Konnektoren von Claude.ai und ChatGPT (im Browser) melden sich mit OAuth statt mit einem Schlüssel an. Das kommt in einer späteren Version; nutzen Sie bis dahin einen der Assistenten oben.

Self-Hosting​

Mit Ihrem eigenen sol2flow können Sie den HTTP-Server daneben betreiben, sodass sich alle auf Ihrer Instanz mit ihrem eigenen Schlüssel mit einer Adresse verbinden. Das Image ist ghcr.io/sol2flow/mcp (amd64 und arm64). Zum Beispiel in der Docker-Compose-Datei, die sol2flow betreibt (dessen Dienst app heißt):

services:
mcp:
image: ghcr.io/sol2flow/mcp:latest
restart: unless-stopped
read_only: true
environment:
SOL2FLOW_URL: http://app:3000 # sol2flow, wie es dieser Container erreicht
ALLOWED_HOSTS: mcp.example.com # der Hostname, mit dem sich alle verbinden
TRUST_PROXY_HOPS: '1' # ein Reverse Proxy davor
FORWARD_CLIENT_IP: 'true'
ports: ['127.0.0.1:3005:3000']

Stellen Sie ihn hinter Ihren Reverse Proxy mit HTTPS (wie sol2flow selbst, siehe Reverse Proxy); alle nutzen dann https://mcp.example.com/mcp.

EinstellungStandardWas sie bewirkt
SOL2FLOW_URLhttps://app.sol2flow.comIhr sol2flow. Von Ihnen festgelegt: Niemand kann den Server anderswohin lenken
ALLOWED_HOSTS—Die Hostnamen (oder host:port), auf die der Server antwortet, durch Kommas getrennt. Setzen Sie sie: Sie schützen vor DNS-Rebinding
ALLOWED_ORIGINSnur localhostAssistenten im Browser: die Origins, die den Server aufrufen dürfen (* für alle). Desktop- und Kommandozeilen-Assistenten brauchen das nicht
TRUST_PROXY_HOPS0Die Anzahl der Proxys davor, um die IP-Adresse der Person in X-Forwarded-For zu finden
FORWARD_CLIENT_IPfalseDiese IP-Adresse an sol2flow weitergeben, damit Rate-Limits und „Zuletzt verwendet von“ die Person sehen, nicht den Server
SOL2FLOW_WORKSPACE—Ein Standard-Workspace (sein Slug)
READ_ONLYfalseAlle Tools ausblenden, die etwas ändern
LOG_LEVELinfodebug ergänzt eine Zeile pro API-Anfrage
LOG_FILE—Das Log zusätzlich in tägliche Dateien neben diesem Pfad schreiben (z. B. /data/logs/mcp.log; /data/logs beschreibbar für Benutzer 1001 einhängen)
SENTRY_DSN—Fehlerverfolgung (Sentry, Bugsink oder GlitchTip); oder SENTRY_DSN_FILE

Der Container läuft als Benutzer 1001, funktioniert mit schreibgeschütztem Dateisystem, antwortet auf GET /healthz und hat einen Health-Check. Er speichert keine Daten: Sie können mehrere betreiben und ihn jederzeit neu starten oder ersetzen.

Was der Assistent kann​

ToolWas es tut
whoamiIhr Konto, der Schlüssel, die sol2flow-Version und Ihre Workspaces
list_workspaces, list_boards, get_boardWorkspaces, Boards und ein Board mit seinen Listen und Aufgaben
searchBoards und Aufgaben nach Name, Schlüssel (PRD-12) oder Text, wie die Suche in der App
list_tasksAufgaben nach Board, Liste, Zuständigen, Label, Text, Fälligkeit oder letzter Änderung
get_taskEine Aufgabe mit Beschreibung, Checkliste, Verknüpfungen und den neuesten Kommentaren
list_labels, list_peopleLabels und Mitglieder des Workspaces
list_time_entries, get_timerGebuchte Zeit und Ihr laufender Timer
list_notifications, list_my_invitationsIhre Benachrichtigungen und offenen Einladungen
create_task, update_task, move_taskAufgaben anlegen, ändern (Felder, Labels, Zuständige, Liste) und verschieben, auch auf ein anderes Board
archive_task, unarchive_taskEine Aufgabe archivieren und zurückholen
add_comment, add_checklist_items, update_checklist_itemKommentare und Checklisten
link_tasks, unlink_tasksBlockiert, wird blockiert von, hängt zusammen mit, dupliziert
log_time, start_timer, stop_timer, update_time_entryZeiterfassung
mark_notifications_read, respond_to_invitationBenachrichtigungen und Einladungen
create_board, create_list, create_labelBoards, Listen und Labels

Es gibt kein Tool zum Löschen: Archivieren ist der sichere Weg und lässt sich rückgängig machen. Freigaben, Mitglieder, Webhooks, Importe und Anhänge bleiben in der App.

Zwei fertige Prompts sind dabei, die viele Assistenten als Befehle anzeigen: plan_my_day (ein Tagesplan aus Ihren Aufgaben, Fälligkeiten und Benachrichtigungen) und board_standup (was sich auf einem Board bewegt hat, was in Arbeit, blockiert oder überfällig ist).

Worauf Sie sich beziehen: Sie und der Assistent können verwenden, was Sie in der App sehen. Aufgaben über ihren Schlüssel (PRD-12, auch den alten Schlüssel einer Aufgabe, die auf ein anderes Board verschoben wurde) oder ihren Link; Boards über Schlüssel oder Namen; Listen und Labels über den Namen; Personen als „me“, über Benutzernamen oder Namen. Beschreibungen und Kommentare sind in beide Richtungen Markdown.

Der Standard-Workspace: Sind Sie in einem Workspace, nutzt der Assistent immer diesen. Bei mehreren durchsucht er für einen Aufgabenschlüssel alle und fragt sonst, welcher gemeint ist; oder Sie legen einen Standard fest, mit SOL2FLOW_WORKSPACE (auf Ihrem Computer) oder ?workspace=<slug> am Ende der HTTP-Adresse (https://mcp.sol2flow.com/mcp?workspace=acme).

Nur-Lese-Modus​

Soll ein Assistent nur nachsehen, nutzen Sie einen Schlüssel mit Nur lesen: Jede Änderung wird mit einer klaren Meldung abgelehnt. Ab sol2flow 1.8 erkennt ein Server auf Ihrem Computer den Nur-Lese-Schlüssel auch und blendet die Tools aus, die etwas ändern, sodass der Assistent es gar nicht erst versucht. Sie können sie für jeden Schlüssel selbst ausblenden: READ_ONLY=true (auf Ihrem Computer) oder ?read_only=1 am Ende der HTTP-Adresse.

API-Limits​

Jeder Tool-Aufruf ist eine oder mehrere API-Anfragen, und sie zählen wie jede andere Nutzung der API: 600 Anfragen pro 10 Minuten pro Schlüssel, davon höchstens 120 Änderungen, und in der sol2flow-Cloud die täglichen API-Anfragen Ihres Plans. Die meisten Tools brauchen eine Anfrage; get_task braucht drei (die Aufgabe, ihre Verknüpfungen und Kommentare), get_board zwei bis vier, create_task und update_task ein paar mehr, um Listen, Labels und Personen nachzuschlagen. Einen Aufgabenschlüssel oder Board-Namen nachzuschlagen kostet beim ersten Mal eine Suche; das Ergebnis wird 10 Minuten gemerkt. Ist ein Limit erreicht, erfährt der Assistent, wie lange er warten muss.

Fehlerbehebung​

Der Assistent erhält eine Meldung, mit der er etwas anfangen kann, und sagt Ihnen meist, was nicht stimmt. Die häufigsten (die Meldungen sind Englisch):

Die Meldung sagtWas zu tun ist
„sol2flow refused the API key“Der Schlüssel ist falsch, abgelaufen oder widerrufen. Erstellen Sie einen neuen und tragen Sie ihn in Ihrem Assistenten ein
„No sol2flow API key is configured“Setzen Sie SOL2FLOW_API_KEY oder für den HTTP-Server den Header Authorization: Bearer
„API keys are switched off on this sol2flow instance“Ein Administrator hat API-Schlüssel erlauben ausgeschaltet (Instanz-Einstellungen)
„API access is switched off for this workspace“Ein Workspace-Admin schaltet REST-API unter Zugriff & Integrationen ein
„The organization's plan doesn't include the REST API“Ein Eigentümer oder Admin der Organisation stuft den Plan hoch
„The organization's workspaces are read-only“Das Abonnement ist überfällig oder beendet; Lesen funktioniert weiter
„This API key is read-only“Nutzen Sie einen Schlüssel mit Vollzugriff, oder lassen Sie ihn bewusst auf Nur lesen
„You don't have permission for this“Ihre Rolle erlaubt es nicht, z. B. können Betrachter und Gäste nichts bearbeiten
„Not found, or you don't have access to it“Prüfen Sie Schlüssel oder Namen; sol2flow verrät nie, ob etwas existiert, das Sie nicht öffnen können
„The task is archived and read-only“Holen Sie sie zuerst aus dem Archiv (der Assistent kann das mit unarchive_task)
„sol2flow's rate limit is reached“ / „API requests per day“Warten Sie die genannte Zeit
„may or may not have been applied“Eine Änderung bekam nicht rechtzeitig eine Antwort. Prüfen Sie die Aufgabe, bevor Sie erneut fragen: Änderungen werden nie automatisch wiederholt
„This sol2flow instance … is too old“Die Instanz braucht für dieses Tool ein Update
Die Tools erscheinen nichtStarten Sie den Assistenten nach einer Konfigurationsänderung neu; prüfen Sie, ob npx (Node.js 22+) installiert ist

Datenschutz​

  • Der MCP-Server speichert nichts: keine Schlüssel, keine Aufgaben, keine Inhalte. Jede Anfrage an den gehosteten Server bringt ihren eigenen Schlüssel mit und ist vergessen, sobald sie beantwortet ist.
  • Sein Log enthält den Namen des Tools, das Ergebnis, die Dauer, die IP-Adresse, von der die Anfrage kam (HTTP-Server), und die ersten 8 Zeichen des Schlüssels (den öffentlichen Teil aus der Liste der API-Schlüssel) — nie den Schlüssel, was der Assistent angefragt hat oder was sol2flow geantwortet hat.
  • Was der Assistent an seinen KI-Anbieter sendet, ist eine Sache zwischen Ihnen und diesem Anbieter: Der MCP-Server beantwortet nur die Fragen des Assistenten, mit dem, was Ihr Schlüssel sehen darf. Nutzen Sie einen Schlüssel mit Nur lesen oder schränken Sie ein, was Sie fragen, wenn das für einen Workspace wichtig ist.