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).
- sol2flow-Cloud: sonst nichts. Nutzen Sie den gehosteten Server unter
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.
| Einstellung | Standard | Was sie bewirkt |
|---|---|---|
SOL2FLOW_URL | https://app.sol2flow.com | Ihr 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_ORIGINS | nur localhost | Assistenten im Browser: die Origins, die den Server aufrufen dürfen (* für alle). Desktop- und Kommandozeilen-Assistenten brauchen das nicht |
TRUST_PROXY_HOPS | 0 | Die Anzahl der Proxys davor, um die IP-Adresse der Person in X-Forwarded-For zu finden |
FORWARD_CLIENT_IP | false | Diese 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_ONLY | false | Alle Tools ausblenden, die etwas ändern |
LOG_LEVEL | info | debug 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
| Tool | Was es tut |
|---|---|
whoami | Ihr Konto, der Schlüssel, die sol2flow-Version und Ihre Workspaces |
list_workspaces, list_boards, get_board | Workspaces, Boards und ein Board mit seinen Listen und Aufgaben |
search | Boards und Aufgaben nach Name, Schlüssel (PRD-12) oder Text, wie die Suche in der App |
list_tasks | Aufgaben nach Board, Liste, Zuständigen, Label, Text, Fälligkeit oder letzter Änderung |
get_task | Eine Aufgabe mit Beschreibung, Checkliste, Verknüpfungen und den neuesten Kommentaren |
list_labels, list_people | Labels und Mitglieder des Workspaces |
list_time_entries, get_timer | Gebuchte Zeit und Ihr laufender Timer |
list_notifications, list_my_invitations | Ihre Benachrichtigungen und offenen Einladungen |
create_task, update_task, move_task | Aufgaben anlegen, ändern (Felder, Labels, Zuständige, Liste) und verschieben, auch auf ein anderes Board |
archive_task, unarchive_task | Eine Aufgabe archivieren und zurückholen |
add_comment, add_checklist_items, update_checklist_item | Kommentare und Checklisten |
link_tasks, unlink_tasks | Blockiert, wird blockiert von, hängt zusammen mit, dupliziert |
log_time, start_timer, stop_timer, update_time_entry | Zeiterfassung |
mark_notifications_read, respond_to_invitation | Benachrichtigungen und Einladungen |
create_board, create_list, create_label | Boards, 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 sagt | Was 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 nicht | Starten 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.