Probleme mit einem MCP-Server beheben, der nicht startet oder keine Aufgabe lösen kann

Von solvethree5 Min. Lesezeit

Beginnen Sie mit solvethree_capabilities, das keinen API-Schlüssel benötigt. Wenn es antwortet, ist der Server gestartet und die MCP-Verbindung funktioniert. Ändern Sie die Starteinstellungen dann nicht weiter, sondern prüfen Sie stattdessen Zugangsdaten, Proxy und Aufgabeneingaben.

Auf dieser Seite

Das Startprogramm außerhalb des Hosts ausführen

Führen Sie das bereitgestellte Startprogramm in einem Terminal auf dem Rechner aus, auf dem Ihr MCP-Host läuft. Verwenden Sie für eine kontrollierte Reproduktion Node.js 22 und das mitgelieferte npx; prüfen Sie, ob nicht versehentlich ein älteres, separat installiertes Startprogramm verwendet wird.

Lokalen MCP-Launcher prüfen
node --version
npx --yes --package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz solvethree-mcp
# The process waits for JSON-RPC on stdin. Silence is not a failed startup.
# Use the MCP host to initialize and list tools. Press Ctrl-C to stop this check.
# Never paste an API key or proxy password into troubleshooting logs.

Ein Prozess, der ohne Ausgabe geöffnet bleibt, hängt nicht unbedingt. Dies ist ein lokaler stdio-Server: Er wartet auf MCP-JSON-RPC-Nachrichten über stdin. Verwenden Sie Ihren MCP-Host, um die Verbindung zu initialisieren und die Tools aufzulisten; das alleinige Ausführen der ausführbaren Datei führt diesen Handshake nicht durch.

Falls der Prozess beendet wird, lesen Sie zuerst den Startfehler. Ein Fehler wegen einer nicht gefundenen ausführbaren Datei deutet auf die Installation oder PATH hin; ein Fehler beim Paketdownload tritt vor dem Lösen von Aufgaben auf. Beides ist kein Hinweis auf einen ungültigen API-Schlüssel, Proxy oder ein fehlerhaftes Website-Profil.

Wenn es im Terminal funktioniert, aber nicht im Host

Registrieren Sie solvethree als lokalen stdio-Server, nicht als entfernten HTTP-Endpunkt. Der Host sollte npx mit den im Startprogrammbeispiel angegebenen Argumenten ausführen. Es gibt keinen gehosteten MCP-Endpunkt.

Der Host findet npx nicht.

Vergleichen Sie den PATH des Hosts mit dem PATH Ihres Terminals. Eine Desktopanwendung erbt Ihre Shell-Konfiguration möglicherweise nicht.

Probiere Folgendes: Machen Sie das Verzeichnis mit npx für den Host verfügbar oder konfigurieren Sie den absoluten Pfad zu derselben ausführbaren Datei, die lokal funktioniert hat.

Der Host verwendet eine andere Version von Node.js oder npx.

Prüfen Sie, welche ausführbaren Dateien der Host tatsächlich findet, nicht nur, welche Versionen Ihr Terminal verwendet.

Probiere Folgendes: Verweisen Sie den Host auf die getestete Installation. Starten Sie den Host neu, nachdem Sie seine Umgebung geändert haben.

Die Initialisierung meldet fehlerhaftes JSON oder unerwartete Ausgaben.

Suchen Sie nach Shell-Bannern, Wrapper-Meldungen oder Debug-Ausgaben, die auf stdout geschrieben werden.

Probiere Folgendes: Reservieren Sie stdout für MCP-JSON-RPC. Leiten Sie Diagnoseausgaben an stderr, wo der Host sie erfassen kann, ohne sie als Protokollverkehr zu behandeln.

Der Host wartet beim Start nicht lange genug.

Prüfen Sie das Startprotokoll und unterscheiden Sie zwischen einem langsamen Start und einem bereits beendeten Prozess.

Probiere Folgendes: Verwenden Sie für eine Konfiguration im Codex-Stil den dokumentierten startup_timeout_sec-Wert von 60. Längeres Warten behebt weder eine fehlende ausführbare Datei noch einen expliziten Startfehler.

Der Host meldet, dass ein solvethree-Tool nicht registriert ist.

Bestätigen Sie, dass der Server initialisiert wurde, und prüfen Sie die bei der Erkennung zurückgegebenen Tools.

Probiere Folgendes: Korrigieren Sie die Serverregistrierung oder verbinden Sie sich erneut und führen Sie die Tool-Erkennung nochmals aus. Ein fehlendes Tool ist weder ein API-Authentifizierungsfehler noch ein fehlgeschlagener Lösungsvorgang.

Der Server stellt solvethree_capabilities, solvethree_create_recaptcha, solvethree_create_kasada, solvethree_create_tmpt und solvethree_get_task bereit. Wenn die Erkennung erfolgreich ist, der Host aber einen dieser Namen nicht aufrufen kann, beheben Sie diese Unstimmigkeit, bevor Sie Aufgabenanfragen senden.

Wenn die Tools funktionieren, aber die Aufgabenerstellung nicht

  1. 1.

    Die Umgebung des Hostprozesses prüfen

    Stellen Sie SOLVETHREE_API_KEY und SOLVETHREE_PROXY über die Host-Umgebung bereit. Eine in einem separaten Terminal exportierte Variable bedeutet nicht, dass der Host sie lesen kann. In einer Konfiguration im Codex-Stil muss env_vars beide Namen enthalten; diese Durchreichliste liefert ihre Werte nicht mit. Prüfen Sie, ob die Variablen vorhanden sind, ohne den Schlüssel oder die Proxy-Zugangsdaten auszugeben.

  2. 2.

    Proxy dort prüfen, wo das Tool ihn tatsächlich liest

    solvethree_create_recaptcha liest seinen einzigen Proxy aus SOLVETHREE_PROXY. Versuchen Sie nicht, einen fehlenden Umgebungswert durch ein zusätzliches proxy-Argument für dieses Tool zu beheben. Die Proxy-URL sollte HTTP oder HTTPS verwenden und keinen Pfad, keine Abfrage und kein Fragment enthalten.

  3. 3.

    reCAPTCHA-Website-Profil prüfen

    Der durch den API-Schlüssel identifizierte Workspace benötigt ein aktives Profil für die angeforderte Website und den reCAPTCHA-Typ. Prüfen Sie auch die Erfassungsaktion: Ein generisches Hostname-Profil deckt nicht unbedingt jede Aktion ab. Die Angabe von site und action in einer Aufgabe erstellt kein Profil. Nutzen Sie zur Behebung die Seite „Website-Profile“ in der Konsole oder die Anleitung zur Profileinrichtung.

  4. 4.

    Tool-Eingaben prüfen

    Geben Sie für solvethree_create_recaptcha site als Hostnamen sowie action und requestId an. recaptchaType ist optional und hat den Standardwert enterprise-v3. Verwenden Sie für site keine Seiten-URL und fügen Sie diesem Tool keine anderen Aufgabentypen der API hinzu.

Die Ermittlung der verfügbaren Funktionen prüft weder die Authentifizierung noch den Proxy-Zugriff. Ein Authentifizierungs- oder Anfragevalidierungsfehler nach einem erfolgreichen capabilities-Aufruf betrifft die Lösungsanfrage, nicht den Launcher. Behandeln Sie HTTP-Antworten mit nicht erfolgreichem Status, bevor Sie eine Antwort als erfolgreiche Aufgabennutzlast verarbeiten.

Fehlgeschlagene Aufgabe von einem Aufruf mit Zeitüberschreitung unterscheiden

Was das Aufgabenergebnis bedeutet
Was das Aufgabenergebnis bedeutet
ErgebnisNächster Schritt
pending oder solvingDie Aufgabe ist noch nicht abgeschlossen. Rufen Sie sie mit solvethree_get_task ab, statt eine Ersatzaufgabe zu erstellen.
failedLesen Sie errorCode und error und beenden Sie dann die Statusabfragen für diese Aufgabe. Beispielsweise ist site-unreachable ein Aufgabenfehler. Fehlgeschlagene Lösungsversuche werden erstattet; gehen Sie nicht davon aus, dass jeder Fehler unzureichendes Guthaben bedeutet.
readyEine Lösung ist verfügbar. Der MCP-Server steuert keinen Browser und füllt keine Formulare aus. Die Verfügbarkeit der Lösung belegt nicht, dass die Zielwebsite etwas akzeptiert hat.

Eine Zeitüberschreitung des Hosts ist kein Aufgabenstatus. Eine Konfiguration im Codex-Stil verwendet tool_timeout_sec mit dem Wert 100, aber auch eine verlorene Antwort beweist nicht, dass die Aufgabenerstellung fehlgeschlagen ist. Jedes Erstellungstool erfordert requestId und erstellt höchstens eine Aufgabe.

Wenn Sie eine Aufgaben-ID erhalten haben, rufen Sie diese Aufgabe ab. Wiederholen Sie andernfalls dieselbe Erstellungsanfrage mit derselben requestId, um die bestehende Aufgabe wieder abzurufen. Generieren Sie nicht allein wegen einer Zeitüberschreitung des Aufrufs eine neue requestId. Die Wiederverwendung einer ID mit geänderten Aufgabeneingaben führt zu einem Konflikt.

Wenn eine Aufgabe bereit ist, übermitteln Sie ihre Lösung mit der zurückgegebenen Browseridentität und dem erfolgreichen Proxy. Falls die Website die Anfrage dann ablehnt, untersuchen Sie diese Übermittlung statt des MCP-Starts. Behandeln Sie Lösungsdaten vertraulich: Der MCP-Host erhält sie.

Führe deinen ersten Task aus.

Starte mit $5 Workspace-Guthaben.

Workspace erstellen
Probleme mit einem MCP-Server beheben, der nicht startet oder keine Aufgabe lösen kann · solvethree