Sovyn mit Manus verbinden
Damit Manus deine App zu Sovyn umziehen kann, verbindest du die beiden einmalig miteinander. Manus nennt so eine Verbindung „MCP“ oder „Connector“. Das dauert etwa zwei Minuten, du brauchst dafür keinen Code.
Einrichten
Abschnitt betitelt „Einrichten“-
Zugangsschlüssel in Sovyn erstellen
Melde dich bei Sovyn an und öffne oben rechts dein Konto-Menü. Wähle API-Keys, oder geh direkt auf die API-Key-Seite.
Klick auf API-Key erstellen, gib einen Namen ein, zum Beispiel
Manus-Connector, und bestätige mit API-Key erstellen. Kopier den neuen Schlüssel mit Key kopieren. Er beginnt mitsovyn_.Screenshot folgtSovyn, API-Keys-Seite: neu erstellter Schlüssel mit „Key kopieren“-Knopf (Schlüssel unkenntlich gemacht) -
Connector-Einstellungen in Manus öffnen
Öffne in Manus die Settings und dort Connectors. Klick auf Add connectors, wechsle auf den Reiter Custom MCP und wähle Add custom MCP server → Direct configuration.
Screenshot folgtManus, Settings → Connectors → Custom MCP: Knopf „Add custom MCP server“ -
Felder ausfüllen
Feld in Manus Was du einträgst Server Name SovynTransport Type HTTPServer URL die Adresse unten Custom Header – Name x-api-keyCustom Header – Wert dein Schlüssel aus Schritt 1 Server URL https://app.sovyn.eu/api/mcpAchte beim Header-Namen auf die genaue Schreibweise:
x-api-key, klein geschrieben, mit Bindestrichen.Screenshot folgtManus, ausgefülltes Formular „Direct configuration“: Server Name Sovyn, Transport HTTP, Server URL, Header x-api-key (Wert unkenntlich gemacht) -
Notiz einfügen (empfohlen)
Kopier den folgenden Text in das Feld Note. Er erklärt Manus, wie es mit Sovyn zusammenarbeiten soll, damit der Umzug ohne Rückfragen durchläuft.
Note Sovyn migriert vibe-coded Apps (Manus, Lovable, Supabase, generisch) aufeinen EU-Stack: Code-Migration (Auto-Merge in den Default-Branch),EU-Provisionierung, Daten-Cutover. Nutze diesen Connector, wenn der Userseine App zu Sovyn migrieren will.Vorgehen: Lies zuerst die Resource sovyn://migration-guide. Rufe dannsovyn_get_context auf (bei genau einem Team: ohne Rückfrage verwenden)und folge danach strikt dem next_action-Hint aus sovyn_get_status.Geteiltes Repo (wichtigste Regel):Sovyn schreibt selbst in das GitHub-Repo — sovyn_migrate_code mergt denCodemod über die GitHub-API in den Default-Branch. Deine Arbeitskopieerfährt davon nichts. Deshalb: vor JEDER Änderung, jedem Commit undjedem Push (auch Dependency-Update oder Lockfile) erst fetchen und aufden Default-Branch rebasen. Diesen Branch niemals force-pushen — daslöscht den Migrations-Commit, das Repo fällt auf den Stand vor derMigration zurück und der nächste Deploy liefert genau diesen Stand aus.Ein abgelehnter Non-Fast-Forward-Push ist die Schutzfunktion, keinHindernis: pullen, rebasen, erneut pushen.Wichtig:- Der App-Code muss auf GitHub liegen — falls nicht, erst dorthin pushen.- Die Installation der Sovyn-GitHub-App (sovyn_github_install_link) istein Browser-Klick, den nur der User machen kann: Link geben, aufBestätigung warten.- Polle sovyn_get_status alle 15-30 Sekunden; Analyse/Migration/Provisionierung dauern jeweils Minuten — nicht vorzeitig aufgeben.- Daten-Cutover hängt vom Stack ab (next_action sagt welches Tool):- Manus (call_sovyn_migrate_data): DB-Zugangsdaten alsmysql://user:pass@host:port/db-URL übergeben; falls unbekannt, Userfragen. Nutzt die App Dateien (services.storage), werden sie im selbenSchritt in den EU-Bucket kopiert — Voraussetzung: BUILT_IN_FORGE_API_URL/KEY gesetzt (aus der Manus-App-Umgebung auslesen, nicht erfinden).- Lovable/Supabase (call_sovyn_restore_backup): kein Connection-String —stattdessen backupUrl, eine öffentliche https://-URL des DB-Exports(pg_dump, ggf. .zip). Ist das Ziel schon befüllt, schlägt der Job mitDOWN_MIGRATE_TARGET_NOT_EMPTY fehl → mit reset=true erneut aufrufen.- Bei confirm_deploy_plan (generische Apps): die in planNeedsReviewgelisteten Felder via sovyn_confirm_deploy_plan bestätigen (Sicheresselbst, Unsicheres beim User erfragen), dann provisionieren.- Bei inspect_log_and_retry: logTail/error lesen, Behebbares fixen,Schritt wiederholen. Bei unsupported_app oder missing_target_db:abbrechen und dem User das Problem erklären.- Nach next_action=done: Deploy-URL melden. Hat die App Auth und wurdenDaten migriert, dann das Nutzer-Onboarding treiben — migrierte Nutzerkönnen sich nicht neu registrieren, sie übernehmen ihr Konto per Einmal-Claim-Link. sovyn_list_claimable_users aufrufen; bei case=single sofortsovyn_issue_claim_links (ohne Rückfrage, Link wird automatisch gemailt),bei case=multiple die Auswahl mit dem User bestätigen. Jeden Link an diejeweilige Person übergeben. -
Speichern
Klick auf Save. Manus prüft die Verbindung und zeigt danach die Sovyn-Werkzeuge an, zum Beispiel
sovyn_get_contextundsovyn_get_status. Dann ist alles bereit.Screenshot folgtManus, Connector „Sovyn“ verbunden, Liste der Sovyn-Werkzeuge sichtbar
Umzug starten
Abschnitt betitelt „Umzug starten“Öffne in Manus das Projekt deiner App und schreib in den Chat:
Migriere meine App zu Sovyn.Ab hier arbeiten Manus und Sovyn zusammen. Jeder Schritt dauert ein paar Minuten, Manus meldet sich zwischendurch. An zwei Stellen brauchen sie dich:
- GitHub freigeben: Beim ersten Mal gibt dir Manus einen Link zur Sovyn-GitHub-App. Öffne ihn, bestätige die Installation und sag Manus Bescheid. Liegt deine App noch nicht auf GitHub, kümmert sich Manus vorher darum.
- Daten übernehmen: Kennt Manus die Zugangsdaten deiner Datenbank nicht, fragt es dich danach.
Am Ende nennt dir Manus die Adresse, unter der deine App jetzt bei Sovyn läuft. Hat deine App eine Anmeldung, bekommen deine Nutzer einen persönlichen Link, mit dem sie ihr bestehendes Konto übernehmen. Niemand muss sich neu registrieren.
Wichtig: Umzug nicht überschreiben
Abschnitt betitelt „Wichtig: Umzug nicht überschreiben“Sovyn speichert den umgezogenen Code direkt in deinem GitHub-Projekt. Schlägt Manus später vor, GitHub zu „überschreiben“, einen „Force-Push“ zu machen oder „den Sandbox-Stand auf GitHub zu übertragen“, dann lehne ab. Das würde den Umzug rückgängig machen.
Wenn etwas nicht klappt
Abschnitt betitelt „Wenn etwas nicht klappt“Manus meldet beim Speichern einen Fehler oder „Unauthorized“
Abschnitt betitelt „Manus meldet beim Speichern einen Fehler oder „Unauthorized““Prüfe die Server URL und den Header-Namen x-api-key auf Tippfehler und ob
der Schlüssel vollständig eingefügt ist (er beginnt mit sovyn_). Ein
Schlüssel ist ein Jahr gültig. Ist er abgelaufen oder widerrufen, erstell
einen neuen und ersetz ihn in Manus.
Manus benutzt Sovyn im Chat nicht
Abschnitt betitelt „Manus benutzt Sovyn im Chat nicht“Prüfe, ob der Connector „Sovyn“ in Manus eingeschaltet ist, und nenne Sovyn in deiner Nachricht ausdrücklich, zum Beispiel „Migriere meine App mit dem Sovyn-Connector“.
Es hängt seit langer Zeit
Abschnitt betitelt „Es hängt seit langer Zeit“Analyse, Umzug und Einrichtung dauern jeweils einige Minuten. Frag Manus nach dem Stand („Wie ist der Status bei Sovyn?“). Kommst du nicht weiter, schreib uns an hallo@sovyn.eu.