Guide

MCP-Timeout? Erst prüfen, dann die Änderung wiederholen

7 Min. LesezeitVom Delta-MCP-Team

Ihre KI schickt eine Änderung an ein Tool, doch die Antwort auf dem Rückweg ist unterbrochen und mit einem Fragezeichen markiert, daneben die Marken „No reply“ und „Check first“.

Die kurze Antwort

Wenn ein MCP-Tool-Aufruf das Timeout überschreitet, erkennen Sie nicht, ob die Änderung passiert ist. Vielleicht hat Ihre KI nur die Antwort verloren, nicht die Arbeit. Prüfen Sie vor dem Wiederholen im Tool, was es anlegen wollte. Wiederholen Sie nur, wenn es fehlt. Eine Nachricht senden Sie nie von allein erneut.

In diesem Guide

Warum verrät ein Timeout nicht, ob die Änderung passiert ist?

Ihre KI bat ein Tool, eine Änderung vorzunehmen, und wartete dann. Es kam keine Antwort, also hörte Ihre KI-App auf zu warten und meldete einen Fehler. Diese Meldung beschreibt das Warten, nicht die Änderung. Wiederholen Sie eine Änderung, die schon gemacht wurde, und Sie haben zwei Tickets, zwei Seiten oder zwei Nachrichten.

Entwickler nennen eine solche Änderung einen Schreibvorgang. Drei Dinge können passiert sein.

Was passiert sein kann, wenn ein MCP-Tool-Aufruf das Timeout überschritten hat, und was ein Wiederholen in jedem Fall bewirkt
Was passiert istIst die Änderung im Tool?Bei einem Wiederholen
Die Anfrage ist nie angekommen. Nein. Richtig: Die Änderung wird genau einmal gemacht.
Das Tool arbeitet noch. Noch nicht. Sie erscheint, nachdem Ihre KI aufgegeben hat. Die Änderung wird zweimal gemacht, außer eine Wiederholung ist harmlos.
Das Tool ist fertig, und die Antwort ist verloren gegangen. Ja. Die Änderung wird zweimal gemacht, außer eine Wiederholung ist harmlos.

Die MCP-Spezifikation rechnet damit. Ein Client sollte für jede Anfrage ein Timeout setzen und sie bei Ablauf abbrechen und nicht mehr warten. Ein Abbruch ist keine Garantie. Der Server kann ihn ignorieren, wenn die Arbeit schon getan ist oder sich nicht stoppen lässt. Er kann auch erst eintreffen, nachdem die Antwort gesendet wurde.

Auch der API-Leitfaden von Stripe sagt das: Nach einem Verbindungsabbruch wissen Sie vielleicht nicht, ob die Anfrage gelaufen ist. Dort heißt es, auch einen Serverfehler sollten Sie als unbekanntes Ergebnis behandeln.

Was tun Sie nach einem Timeout, Schritt für Schritt?

Gehen Sie die Schritte der Reihe nach durch. Die ersten beiden dauern eine Minute.

  1. Stoppen Sie das WiederholenJetzt

    Sagen Sie Ihrer KI, den Aufruf nicht zu wiederholen: „Wiederholen Sie nicht. Prüfen Sie zuerst, ob er gemacht wurde.“ Ein Wiederholen allein führt dazu, dass eine Änderung zweimal gemacht wird.

  2. Schauen Sie im Tool nach, nicht im Chat1 Minute

    Öffnen Sie das Tool selbst: die Notion-Seite, die GitHub-Issues, den Ordner. Suchen Sie nach dem Titel oder der ID, die Sie angegeben haben. Der Chat weiß nur, dass der Aufruf fehlgeschlagen ist.

  3. Lesen Sie, was Sie finden2 Minuten

    Gefunden und vollständig: Die Änderung ist gemacht. Machen Sie weiter und wiederholen Sie sie nicht.
    Gefunden, halb fertig: Ergänzen Sie den fehlenden Teil mit einer Aktualisierung, nicht mit einem neuen Anlegen.
    Nicht gefunden: Sie ist nie angekommen oder läuft noch. Warten Sie eine Minute und schauen Sie noch einmal nach.

  4. Wiederholen Sie einmal, und nur einen sicheren AufrufDann

    Fehlt sie noch, wiederholen Sie einmal. Die Tabelle unten sagt, welche Aufrufe sich gefahrlos wiederholen lassen. Bevor Sie eine Nachricht senden, prüfen Sie, wo sie ankommt.

  5. Kommt das Timeout immer wieder, beheben Sie die UrsacheDanach

    Ein Aufruf, der immer das Timeout überschreitet, hat ein zu kurzes Limit oder eine zu große Aufgabe. Erhöhen Sie das Limit für diesen Server, oder bitten Sie um weniger pro Aufruf.

Welche Aufrufe lassen sich gefahrlos wiederholen?

Ein Aufruf lässt sich gefahrlos wiederholen, wenn zweimaliges Ausführen dasselbe Ergebnis hat wie einmaliges. Lesevorgänge fallen darunter. Viele Änderungen nicht. Der HTTP-Standard sieht PUT (einen Wert setzen) und DELETE als wiederholbar an, und die Zeilen unten folgen ihm. Die eigene idempotentHint eines Tools oder seine Beschreibung hat Vorrang.

Welche Arten von MCP-Tool-Aufrufen sich nach einem Timeout gefahrlos wiederholen lassen und wie Sie vorher prüfen
Der AufrufEinfach wiederholen?Vorher prüfen durch
Lesen: suchen, auflisten, öffnen Ja. Es ändert nichts. Nichts zu prüfen.
Einen Wert setzen: einen Status, einen Titel, ein Label Meist ja. Denselben Wert zweimal zu setzen ergibt dasselbe Ergebnis, wie bei einem HTTP-PUT. Das Feld lesen. Hat eine Person es seitdem geändert, überschreibt ein Wiederholen ihre Änderung.
Etwas hinzufügen: einen Kommentar, eine Zeile, einen Eintrag Nein. Zweimal ausgeführt steht es zweimal da. Das Element öffnen und nach Ihrem Zusatz suchen.
Anlegen: eine Seite, ein Issue, eine Datei Nein. Ein Wiederholen legt eine zweite an. Suchen nach dem Titel oder der ID, die Sie angegeben haben. Nur wiederholen, wenn nichts passt.
Löschen Meist ja, wenn der Aufruf ein bestimmtes Element nennt, wie bei einem HTTP-DELETE. Nicht „das neueste“: Der zweite Aufruf trifft ein anderes Element. Nach dem Element suchen. Weg heißt erledigt.
Senden: eine Nachricht, eine E-Mail, eine Benachrichtigung Nie von allein. Eine gesendete Nachricht lässt sich nicht zurücknehmen. Prüfen, wo sie ankommt: die gesendeten Nachrichten, den Kanal, die Gegenseite. Wenn Sie es nicht erkennen können, fragen Sie nach, bevor Sie erneut senden.

Kann ein Idempotenz-Schlüssel die Doppelung verhindern?

Manchmal. Ein Idempotenz-Schlüssel ist ein eindeutiges Kennzeichen, das mit einer Anfrage gesendet wird. Kommt dasselbe Kennzeichen zweimal an, führt der Dienst die Arbeit einmal aus und wiederholt seine erste Antwort. Er ist für eine Anfrage gebaut, auf die keine Antwort kam.

  • So funktioniert ein Schlüssel bei Stripe. Die API v1 nimmt einen Schlüssel bei POST-Anfragen an. Sie speichert das erste Ergebnis, auch einen Fehler, und gibt es bei einem Wiederholen mit demselben Schlüssel erneut zurück. Schlüssel bleiben mindestens 24 Stunden erhalten. Derselbe Schlüssel mit anderen Parametern wird abgewiesen.
  • Was ein Wiederholen tun muss. Senden Sie denselben Schlüssel und dieselben Parameter. Stripe sagt, Sie sollen nicht mit einem neuen Schlüssel wiederholen, bevor Sie das erste Ergebnis kennen. Ein neuer Schlüssel bei jedem Versuch bietet keinen Schutz.
  • Was MCP Ihnen bietet. Eine tools/call-Anfrage trägt einen Tool-Namen und seine Argumente. Das Schema der Spezifikation legt dafür keinen Idempotenz-Schlüssel fest. Ein Tool kann trotzdem einen als eigenes Argument annehmen, deshalb lesen Sie seine Argumente.
  • Was ein Tool angeben darf. idempotentHint sagt, dass ein erneuter Aufruf des Tools mit denselben Argumenten keine zusätzliche Wirkung hat. Es ist nur ein Hinweis. Die Spezifikation sagt, Clients sollten Entscheidungen nie auf Hinweise von Servern stützen, denen sie nicht vertrauen.

Ein Schlüssel ist also ein Bonus, kein Plan. Bietet das Tool keinen, schützt Sie die Prüfung oben.

Wie ändern Sie den MCP-Timeout?

Ein zu kurzes Limit bricht ehrliche Arbeit ab. Ein zu langes lässt Sie warten. Wo Sie es einstellen, hängt von Ihrer KI-App ab. Hier sind die Einstellungen von Claude Code.

Die Einstellungen von Claude Code, die einen MCP-Tool-Aufruf begrenzen: was jede begrenzt und ihr Standardwert
EinstellungWas sie begrenztStandard
MCP_TOOL_TIMEOUT Wie lange ein Tool-Aufruf laufen darf, in Millisekunden. 100.000.000 ms, etwa 28 Stunden
timeout in .mcp.json Dasselbe, für einen Server. Es überschreibt die Variable für diesen Server. Ein hartes Limit: Fortschrittsmeldungen verlängern es nicht. Der Wert der Variable
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT Wie lange ein Aufruf still bleiben darf, ohne Antwort und ohne Fortschritt, bevor er abbricht. 0 schaltet die Prüfung aus. 5 Minuten für Netzwerk-Server, 30 Minuten für stdio
MCP_TIMEOUT Das Starten eines Servers. Bei einem Remote-Server zählt es außerdem in den Timer pro Anfrage unten hinein. 30.000 ms, 30 Sekunden
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS Wenn ein Aufruf, der im Hauptgespräch noch läuft, in eine Hintergrundaufgabe wechselt. 0 schaltet es aus. Version 2.1.212 oder neuer. 120.000 ms, 2 Minuten

Der Standard von 60 Sekunden für Remote-Server. Ein Server, der über HTTP, SSE oder als claude.ai-Connector erreicht wird, hat einen zweiten Timer. Er läuft bei jeder Anfrage bis zum ersten Antwortbyte des Servers. Er dauert 60 Sekunden, es sei denn, MCP_TOOL_TIMEOUT, das timeout des Servers oder MCP_TIMEOUT ist höher eingestellt. Lokale stdio-Server haben keinen Timer pro Anfrage.

Um ihn für einen Server einzustellen, fügen Sie "timeout": 600000 zu dessen Eintrag in .mcp.json hinzu. Das sind zehn Minuten.

Ein langsamer Aufruf ist nicht immer ein gescheiterter. Ab Version 2.1.212 verschiebt Claude Code einen MCP-Aufruf im Hauptgespräch nach zwei Minuten in eine Hintergrundaufgabe. Das Ergebnis liefert sie, wenn der Aufruf endet.

Die MCP-Dokumentation von Cursor beschreibt keine Timeout-Einstellung. Die MCP-Spezifikation nennt keine Zahl. Sie sagt, SDKs sollten Timeouts pro Anfrage konfigurierbar machen, und ein Client sollte immer eine Obergrenze haben.

Für Arbeit, die Minuten dauert, kann ein Server MCP Tasks nutzen. Er gibt sofort ein Handle zurück, und der Client fragt das Ergebnis ab, auch nach einer erneuten Verbindung. Beide Seiten müssen es unterstützen, und die Unterstützung durch Clients ist unterschiedlich.

Was tut Delta MCP, wenn eine Antwort verloren geht?

Delta MCP ist eine kostenlose App auf Ihrem Computer, zwischen Ihrer KI und ihren Tools. Kommt auf eine Änderung keine Antwort, rät es nicht und wiederholt nicht einfach. Es liest das Tool.

Bevor eine Änderung abgeht, wählt Delta MCP eine Leseoperation, die zeigen kann, ob sie passiert ist. Das ist das erneute Lesen des Objekts oder einer Liste. Kommt keine Antwort, führt es diese Leseoperation sofort aus. Was die Leseoperation zeigt, entscheidet:

Was Delta MCP tut, wenn eine Änderung keine Antwort bekommt, je nachdem, was die Leseoperation zeigt
Die Leseoperation zeigtDelta MCP
Die Änderung wurde gemacht. Die Aufgabe läuft weiter, und die Antwort sagt, dass sie geprüft wurde.
Die Änderung wurde nicht gemacht. Es sendet die Änderung noch einmal, mit denselben Argumenten. Bei einer Nachricht oder einem anderen Versand tut es das nie von allein. Dafür sagt die Antwort, dass sie nicht gesehen wurde, dass sie noch auftauchen kann, und die Aufgabe hält an.
Unklar, oder es lässt sich nichts ablesen, was passiert ist. Die Antwort sagt, das Ergebnis sei unbekannt, und warum. Die Aufgabe hält an. Sehen Sie im Tool nach, bevor Sie die Änderung noch einmal machen.

Ein Tool-Aufruf, der so ausgeführt wurde, wie er ist, kann Delta MCP nicht zurückdrehen. Ist ein früherer Aufruf gelungen, bleibt er bestehen, und die Antwort führt ihn auf, damit Ihre KI ihn nicht wiederholt. Jede Aufgabe, die etwas ändert, wird in Activity aufbewahrt, mit jeder Änderung davor und danach.

Wie eine Aufgabe geprüft und angewendet wird

Fragen

Lässt sich ein MCP-Tool-Aufruf nach einem Timeout gefahrlos wiederholen?

Ein Lesevorgang schon. Eine Änderung nicht, bevor Sie sie geprüft haben. Das Timeout sagt nur, dass keine Antwort kam: Das Tool hat die Änderung trotzdem gemacht. Schauen Sie im Tool danach und wiederholen Sie nur, wenn sie fehlt. Eine Nachricht senden Sie nie von allein erneut.

Ist mein Schreibvorgang über MCP durchgekommen, wenn die Anfrage das Timeout überschritten hat?

Am Timeout erkennen Sie es nicht. Die Anfrage ist vielleicht nie angekommen, das Tool arbeitet vielleicht noch, oder es ist fertig, und die Antwort ging verloren. Öffnen Sie das Tool und suchen Sie nach der Änderung.

Wie erhöhe ich den MCP-Tool-Timeout in Claude Code?

Setzen Sie MCP_TOOL_TIMEOUT in Millisekunden, oder fügen Sie ein Feld timeout im Eintrag des Servers in .mcp.json hinzu. Bei einem Remote-Server setzen Sie es über 60.000, damit der Timer von 60 Sekunden pro Anfrage nicht greift. MCP_TIMEOUT ist die Wartezeit beim Start, nicht das Limit für den Tool-Aufruf.

Wie ändere ich den MCP-Timeout in Cursor?

Die MCP-Dokumentation von Cursor beschreibt keine Timeout-Einstellung. Sie sagt, ein fehlgeschlagener Aufruf wird im Chat als fehlgeschlagen markiert, und Sie können wiederholen oder die Logs prüfen. Prüfen Sie zuerst, was das Tool gespeichert hat.

Hat MCP Idempotenz-Schlüssel?

Nein. Ein Tool-Aufruf trägt einen Tool-Namen und Argumente, und das Schema der Spezifikation legt dafür keinen Idempotenz-Schlüssel fest. Ein Tool kann einen eigenen Schlüssel als Argument annehmen. Es kann auch idempotentHint setzen, das nur ein Hinweis ist.

Was macht Delta MCP, wenn ein Tool-Aufruf keine Antwort bekommt?

Es liest das Tool sofort, um zu sehen, ob die Änderung passiert ist. Gemacht: Die Aufgabe läuft weiter. Nicht gemacht: Es sendet die Änderung noch einmal. Eine Nachricht oder einen anderen Versand sendet es nie von allein erneut. Unklar: Die Antwort sagt, das Ergebnis sei unbekannt, und die Aufgabe hält an.

Quellen

  1. Model Context Protocol, Cancellation Clients sollten Timeouts setzen, abbrechen und nicht weiter warten; ein Abbruch kann eintreffen, nachdem die Arbeit erledigt ist (Revision 2026-07-28).
  2. Model Context Protocol, Schema Reference Ein Tool-Aufruf trägt Name und Argumente, ohne Idempotenz-Schlüssel; die Annotation idempotentHint, und Annotationen sind nur Hinweise (Revision 2026-07-28).
  3. Model Context Protocol, Tasks Ein dauerhaftes Handle für lange Vorgänge, das nach einer erneuten Verbindung abgefragt und abgeholt wird; beide Seiten müssen es aktivieren.
  4. Claude Code, Connect Claude Code to tools via MCP Der Timeout pro Server, der Timer von 60 Sekunden pro Anfrage bei Remote-Servern, das Leerlauf-Fenster, der Wechsel in den Hintergrund nach zwei Minuten.
  5. Claude Code, Environment variables MCP_TOOL_TIMEOUT, MCP_TIMEOUT, CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT und CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS, mit Standardwerten.
  6. Cursor, Model Context Protocol (MCP) Ein fehlgeschlagener MCP-Aufruf wird im Chat als fehlgeschlagen markiert; wiederholen oder die Logs prüfen; keine Timeout-Einstellung beschrieben.
  7. Stripe, Idempotent requests Wie ein Idempotenz-Schlüssel funktioniert: Das erste Ergebnis wird gespeichert und erneut zurückgegeben; Schlüssel bleiben mindestens 24 Stunden; andere Parameter werden abgewiesen.
  8. Stripe, Advanced error handling Nach einem Verbindungsabbruch wissen Sie vielleicht nicht, ob die Anfrage lief; ein Serverfehler ist ein unbekanntes Ergebnis; kein neuer Schlüssel, bevor das Ergebnis bekannt ist.
  9. IETF, RFC 9110: HTTP Semantics Idempotente Methoden (sichere Methoden, PUT und DELETE), und keine Wiederholung einer nicht idempotenten Anfrage, außer Sie können erkennen, dass die erste nie angewendet wurde.
  10. Delta MCP, Writing a task Was Delta MCP tut, wenn eine Änderung keine Antwort bekommt: gemacht, nicht gemacht oder Ergebnis unbekannt; ein Versand wird nicht von allein erneut gesendet.
  11. Delta MCP, Activity and Undo Jede Aufgabe, die etwas geändert hat, wird in Activity aufbewahrt, mit jeder Änderung davor und danach.

Weiterlesen

Probieren Sie Delta MCP an Ihren eigenen Aufgaben aus

Kostenlos, in zwei Minuten eingerichtet, und mit einem Klick ist alles wieder wie vorher.

Kostenlos · Kein Konto · Apple-Chip oder Intel

Kostenlos · Kein Konto

Kostenlos · Kein Konto

Den Start verfolgen

Für Mac, Windows und Linux. Kein Konto nötig.

Bald verfügbar

Delta MCP ist fast da

Die kostenlose App für Mac, Windows und Linux kommt bald. Hinterlassen Sie Ihre E-Mail, und Sie wissen sofort Bescheid, wenn es so weit ist. Kein Konto nötig.

Wir nutzen Ihre E-Mail nur für eine Nachricht zum Start von Delta MCP. Kein Newsletter. Datenschutz