PaidSync>Blog>SSE-Resumability entfernt

MCP-Spec 2026 aus Sicht eines Ads-Servers im Betrieb

Vom Gründer geschrieben
Autor: Ahmed Ashraf|12 Min. Lesezeit|Aktualisiert am 1. August 2026
Spezifikationsfakten, live gelesen am 1. August 2026 aus dem offiziellen Changelog und Release-Beitrag

Die MCP-Spezifikation vom 2026-07-28 entfernt Sitzungen auf Protokollebene, überführt Tasks und MCP Apps in ein formales Erweiterungs-Framework, verschärft die OAuth-Regeln und stuft Dynamic Client Registration zugunsten von Client ID Metadata Documents als veraltet ein. PaidSync betreibt produktiv einen Remote-MCP-Server mit 630+ Ads-Tools über 14 Plattformen für Claude- und ChatGPT-Clients, und dies sind Arbeitsnotizen dazu, was jede Änderung aus dieser Sicht bedeutet. Am ersten Tag geht nichts kaputt; veraltete Funktionen haben ein Mindestfenster von zwölf Monaten.

Jede Protokollaussage unten stammt aus dem offiziellen Release-Beitrag und dem Changelog vom 2026-07-28, beide zum Schreibzeitpunkt am 1. August 2026 gelesen. Die Meinungen sind unsere. Der Release-Beitrag nennt Zahlen zum Umfang, die zeigen, warum diese Revision wichtig ist: knapp eine halbe Milliarde SDK-Downloads pro Monat über die wichtigsten SDKs, die TypeScript- und Python-SDKs jeweils mit über einer Milliarde Downloads insgesamt, und Honeycomb meldet, dass fast 20 Prozent seiner monatlichen interaktiven Abfragen inzwischen von Agenten stammen. Die Berichterstattung von The Register gibt wieder, dass die Maintainer sie als wichtigste Veröffentlichung seit dem Start von Remote-MCP bezeichnen. Von unserem Platz aus stimmt das ungefähr, und der Großteil der Bedeutung ist betrieblich statt spektakulär.

Was sich am 28. Juli änderte

Änderung Was es ist Aus Sicht des Betreibers
Zustandsloser KernInitialize-Handshake und Mcp-Session-Id entfernt; _meta pro Anfrage trägt Version und FähigkeitenEinfaches Load Balancing, keine Sticky Sessions
Resumability entferntUnterbrochene Streams verlieren die laufende Anfrage; Clients senden sie erneutMutations-Tools brauchen Idempotenz-Keys
Tasks-ErweiterungOffizielles io.modelcontextprotocol/tasks, Poll-basiert, Eingaben während der AusführungLang laufende Ads-Operationen kämpfen nicht mehr mit Gateway-Timeouts
MRTRServer geben input_required zurück, statt den Client aufzurufenFragen mitten im Aufruf werden zu wiederaufnehmbarem Zustand
Auth-HärtungValidierung von iss nach RFC 9207, an den Aussteller gebundene ZugangsdatenMix-up-Angriffe auf Token-Abläufe werden unterbunden
DCR veraltetClient ID Metadata Documents ersetzen die Registrierung nach RFC 7591Client-Identität wird domänenbasiert
MCP AppsOffizielle Erweiterung für interaktive Inline-UIDiagramme und Freigabeformulare in der Chat-Oberfläche
Header und CachingMcp-Method/Mcp-Name Pflicht; ttlMs bei ListenergebnissenRichtlinien pro Tool am Edge ohne Body-Parsing
AbkündigungenRoots, Sampling, Logging, HTTP+SSE, Mindestfenster von zwölf MonatenAufräumen mit planbarem Zeitplan

Zustandsloser Kern und Retry-Problem

Die zentrale Änderung: Der Handshake initialize/notifications/initialized entfällt, ebenso der Header Mcp-Session-Id. Jede Anfrage trägt nun Protokollversion, Client-Fähigkeiten und Client-Identität in _meta, und ein neuer verpflichtender RPC server/discover lässt Clients Fähigkeiten vorab abfragen. Änderungsbenachrichtigungen vom Server zum Client werden in einem einzigen optionalen Stream subscriptions/listen zusammengefasst. Die praktische Wirkung, auf die die Maintainer abzielen und die The Register hervorhebt, ist, dass jede Anfrage jede Server-Instanz hinter einem gewöhnlichen Load Balancer erreichen kann, mit gewöhnlichen Kubernetes-Werkzeugen und ohne gemeinsamen Session-Store.

Hier die ehrliche Einschätzung aus Betreibersicht: Die Protokollsitzung war nie der Ort, an dem unser harter Zustand lag. Bei einem Ads-Server sind die wichtigen Zustände OAuth-Berechtigungen, die gewählte Werbekonto-Auswahl, Ausgabenlimits und Ratenbudgets pro Plattform. Dieser Zustand liegt in einer Datenbank, die dem authentifizierten Nutzer zugeordnet ist, denn er muss eine unterbrochene Verbindung überleben. Der alte Handshake fügte eine zweite, fragile Sitzung hinzu, die unabhängig von der echten sterben konnte, und ein Deploy oder Neustart des Balancers kappte Protokollsitzungen, während die Auth-Sitzungen intakt waren. Diese Schicht zu streichen beseitigt eine ganze Klasse verwirrender Fehler. Der Ersatz der Spezifikation für legitimen Zustand über mehrere Aufrufe hinweg sind vom Server erzeugte Handles, die als gewöhnliche Tool-Argumente weitergereicht werden, was Ads-Abläufe ohnehin so lesen: Konto auswählen, ein Handle erhalten, es weiterreichen. Signieren Sie sie und lassen Sie sie ablaufen, denn jede Instanz kann sie jetzt kalt empfangen.

Die scharfe Kante ist die Wiederholungssemantik

Unter der Zustandslosigkeits-Geschichte steckt die Änderung, die am ehesten Vorfälle mit echtem Geld verursacht: SSE-Stream-Resumability und erneute Zustellung von Nachrichten entfallen. Nach 2026-07-28 verliert ein unterbrochener Antwort-Stream die laufende Anfrage, und der Client muss sie als neue Anfrage mit neuer Request-ID erneut senden. Bei get_campaign_performance kostet eine Wiederholung nichts. Bei einer Kampagnenerstellung oder Budgetänderung ist eine blinde Wiederholung der Weg, auf dem ein Agent doppelt ausgibt. Wenn Ihr Server Geld verändert, brauchen Ihre Tool-Verträge Idempotenz-Keys und Ihr Backend Deduplizierung, denn der Transport verspricht nicht mehr, das ursprüngliche Ergebnis erneut zuzustellen. Unsere ausgelieferten Schreibaktionen sind mit den Flags dry_run und confirm_destructive abgesichert, was den Schadensradius begrenzt, aber ein Gate ist keine Deduplizierung. Behandeln Sie beide als getrennte Kontrollen und bauen Sie beide.

Tasks passen endlich zu Ads-Arbeit

Tasks verlässt den experimentellen Kern und wird zur offiziellen Erweiterung io.modelcontextprotocol/tasks. Das Redesign ersetzt den blockierenden Aufruf tasks/result durch Polling über tasks/get, ergänzt tasks/update für Eingaben vom Client zum Server mitten in der Aufgabe und lässt Server Task-Handles unaufgefordert zurückgeben, ohne Opt-in pro Anfrage. Der Beitrag von The Register hebt den Aspekt der Dauerhaftigkeit hervor: Tasks werden über stabile Handles adressiert, sodass ein Client eine Task-ID speichern und das Polling nach einem Absturz oder Neustart fortsetzen kann.

Ads-Arbeit ist von Natur aus lang laufend. Ein Audit über einen MCC mit 200 Kampagnen. Eine Massenpause über die Anzeigengruppen einer ganzen Saison, genau die Art Arbeit, für die unsere Dokumentation zu Meta-Massenoperationen existiert. Ein plattformübergreifender Bericht über 90 Tage. Heute muss all das innerhalb der Frist fertig werden, die der Proxy vor Ihrem Server erzwingt, und jede Produktivumgebung hat so einen Proxy. Poll-basierte Tasks passen zu schlichter HTTP-Infrastruktur: kein gehaltener Stream, den man betreuen müsste, nichts, was ein Edge-Timeout mittendrin kappen könnte.

tasks/update ist für Ads der leise wichtige Teil. Eine Task, die mitten in der Ausführung Eingaben annimmt, kann vor ihrer zerstörerischen Hälfte pausieren und nachfragen. Heute besteht ein Freigabe-Gate aus zwei Tasks: ein Probelauf, dann eine ausdrückliche Bestätigung. Mit Tasks kann dasselbe Sicherheitsmuster eine einzige dauerhafte Operation mit einer menschlichen Pause darin sein, was für Agenten, die mehrstufige Arbeit planen, die bessere Form ist. Der Vorbehalt ist struktureller Art: Erweiterungen sind standardmäßig deaktiviert und brauchen ein ausdrückliches Opt-in auf beiden Seiten, daher zahlt sich das aus, wenn Claude und ChatGPT Client-Unterstützung ausliefern, nicht vorher.

MRTR ersetzt vom Server ausgelöste Anfragen

Vom Server ausgelöste Anfragen (roots/list, sampling/createMessage, elicitation/create) werden durch das Muster der Multi Round-Trip Requests ersetzt. Ein Server, der mehr Informationen braucht, gibt ein Ergebnis mit resultType: "input_required" samt seinen Fragen zurück; der Client wiederholt die ursprüngliche Anfrage mit den in inputResponses angehängten Antworten. Jedes Ergebnis trägt nun ein verpflichtendes resultType, und Ergebnisse von Servern älterer Protokolle, die es weglassen, müssen als vollständig behandelt werden, was gemischte Versionsflotten beherrschbar hält.

Elicitation war der Weg, wie ein Server mitten in einem Aufruf fragte: „Welches Ihrer 14 Werbekonten meinten Sie?“ MRTR behält die Frage und kehrt die Mechanik um. Der Server kann eine offene Frage nicht mehr im Prozessspeicher parken, weil die Wiederholung auf einer anderen Instanz landen kann; jeder Kontext, den die Frage braucht, kommt in requestState. Das nachzurüsten ist lästig und von der Konstruktion her richtig. Es formalisiert auch eine Lektion, die jeder Remote-Ads-Server früh lernt: Chat-Clients verschwinden ständig mitten im Gespräch, sodass jede Frage mitten in einer Operation, die nicht wiederaufnehmbar ist, eine Operation verwaist zurücklässt. Wir haben genug halb fertige Abläufe gesehen, um das für die Spezifikation als Aufholen an die Realität zu werten.

PaidSync ist ein Remote-MCP-Server für Ads-Arbeit. 630+ Tools über 14 Plattformen, ein Endpunkt, von Claude oder ChatGPT.

MCP-Server Kostenlos starten

Autorisierung wird schwerer falsch umzusetzen

Drei Verschärfungen, alle belegt im Changelog. Autorisierungsserver sollten den Parameter iss gemäß RFC 9207 in Autorisierungsantworten aufnehmen, und Clients müssen ihn vor dem Einlösen eines Codes gegen den erfassten Aussteller validieren. Client-Zugangsdaten sind nun ausdrücklich an den Autorisierungsserver gebunden, der sie ausgestellt hat: nach Aussteller indiziert, nie über Aussteller hinweg wiederverwendet, bei Wechsel des Ausstellers neu registriert. Und Clients müssen bei der Registrierung einen application_type angeben, was eine seit Langem bestehende Klasse abgelehnter Localhost-Redirects für CLI- und Desktop-Agenten behebt. Enterprise-Managed Authorization kommt ebenfalls als formale Erweiterung, die Organisationen zentrale Kontrolle darüber gibt, welche MCP-Server ihre Agenten nutzen dürfen.

Warum das bei Ads-Servern wichtiger ist als bei den meisten: Ein einziges Bearer-Token für einen Remote-Ads-MCP-Server steht vor echten Werbekonten bei Google, Meta und LinkedIn, mit echten Budgets dahinter. Genau dafür wurden OAuth-Mix-up-Angriffe erfunden, und die Validierung von iss ist die Standard-Gegenmaßnahme. Die meisten neuen Pflichten landen im Client-Code, funktionieren aber nur, wenn Server korrekte Autorisierungs-Metadaten veröffentlichen, gegen die validiert werden kann. Zur Klarstellung: Die heute ausgelieferte Basis von PaidSync sind Metadaten des Autorisierungsservers nach RFC 8414 und Metadaten geschützter Ressourcen nach RFC 9728 an den Well-Known-Pfaden, eine veröffentlichte security.txt, eine MCP Server Card und ein Agent-Auth-Manifest sowie Sitzungswiderruf, damit ein Nutzer einen verbundenen Client jederzeit kappen kann. Das ist die aktuelle stabile Revision, sorgfältig umgesetzt, keine Umsetzung von 2026-07-28; wir sagen das offen, weil eine Spezifikation zu lesen nicht heißt, sie auszuliefern.

DCR raus, CIMD rein

Dynamic Client Registration (RFC 7591) ist als Registrierungsmechanismus von MCP zugunsten von Client ID Metadata Documents formal veraltet. Sie bleibt aus Gründen der Abwärtskompatibilität für Autorisierungsserver verfügbar, die noch nicht umgestellt haben. Bei CIMD ist die client_id eine HTTPS-URL, die der Client-Betreiber kontrolliert, und der Autorisierungsserver ruft die Metadaten des Clients von dieser URL ab.

Dafür hätten wir zweimal gestimmt. Bei DCR registrierte sich jeder unbekannte Agent selbst in Ihrem Autorisierungsserver: anonyme Zeilen, selbst angegebene Namen, null Reputation und ein regelmäßiger Aufräumjob für Registrierungen, die nie jemand genutzt hat. CIMD ändert die Frage am Tor von „Hat sich dieses Ding registriert?“ zu „Wem gehört diese Domain?“ Für einen Server, der Werbeausgaben absichert, ist dieser Unterschied richtlinientauglich. Er macht Allowlists bekannter Agent-Plattformen möglich und macht den Zustimmungsbildschirm ehrlich: Der Client-Name, den ein Nutzer freigibt, ist durch eine Domain belegt, nicht vom Client selbst eingetippt. Der Migrationsrat ergibt sich von selbst: DCR während des Veraltungsfensters am Laufen halten, CIMD für jeden Client bevorzugen, der es mitbringt, und jetzt die Vertrauensrichtlinie entwerfen, denn die Richtlinie ist der schwere Teil, nicht das Parsen.

MCP Apps und die Änderungen darunter

MCP Apps

MCP Apps kommt als offizielle Erweiterung im neuen Erweiterungs-Framework. Die Dokumentation zu Erweiterungen beschreibt sie so, dass Server interaktive UI-Elemente, Diagramme, Formulare, Videoplayer, inline in Unterhaltungen anzeigen können. Für Ads-Arbeit liegen die Kandidaten auf der Hand: ein Ausgabentrend als echtes Diagramm statt einer ASCII-Tabelle, eine Kampagnenvorschau vor dem Start, ein Freigabeformular für eine Massenänderung mit einem Kontrollkästchen pro Kampagne. Ein gerendertes Freigabeformular ist eine deutlich bessere Sicherheitsfläche als ein freies „Ja, bestätigen“. Gleicher Vorbehalt wie bei Tasks: Opt-in auf beiden Seiten, also bestimmt die Client-Übernahme den Takt.

Header und Caching

Streamable-HTTP-POSTs müssen nun die Header Mcp-Method und Mcp-Name tragen, damit Gateways routen und Ratenlimits setzen können, ohne JSON-Bodys zu parsen. Bei 438 Live-Tools auf unserem Server ist Richtlinienkontrolle pro Tool am Edge, strengere Limits für Mutations-Tools, WAF-Regeln, die nie einen Body anfassen, eine günstige Fähigkeit, die wir gern nehmen. Listenergebnisse (tools/list und verwandte) müssen nun ttlMs und cacheScope tragen, womit Clients endlich aufhören können, einen großen Tool-Katalog bei jedem Zug neu zu laden. Die Spezifikation legt Servern auch nahe, Tools in deterministischer Reihenfolge zurückzugeben, um Prompt-Cache-Treffer des LLM zu verbessern; bei Katalogen unserer Größe ist das ein direkter Hebel für die Token-Kosten. Über den Zielkonflikt bei der Katalogröße haben wir in warum die Tool-Anzahl ein Vorteil ist geschrieben.

Abkündigungen mit Frist

Roots, Sampling und Logging sind zusammen mit dem älteren HTTP+SSE-Transport veraltet, unter einem neuen Feature-Lebenszyklus, der ein Übergangsfenster von mindestens zwölf Monaten garantiert. Nichts davon tut hier weh. Sampling auf Serverseite war an einer Abrechnungsgrenze immer die falsche Form, denn es bedeutet, dass ein Tool-Server die Modell-Tokens von jemand anderem ausgibt; Logging wandert nach stderr oder OpenTelemetry, was Produktionsserver ohnehin tun. Die Lebenszyklus-Richtlinie selbst ist der Gewinn: Abschaltungen kommen jetzt mit einem Zeitplan, nach dem sich planen lässt, statt als Überraschung.

Was sich nicht ändert

Klare Aussagen, damit niemand zu viel hineinliest

PaidSync hat die Revision vom 2026-07-28 nicht ausgeliefert. Unser Produktionsserver spricht das aktuelle stabile Protokoll, das Claude- und ChatGPT-Clients heute sprechen, und unsere Übernahme richtet sich nach deren, denn eine Spezifikation, die nur eine Seite spricht, spricht niemand. Zeitpläne für die Client-Unterstützung liegen bei den Client-Anbietern, und wir raten sie nicht im Druck. Erweiterungen, darunter Tasks und MCP Apps, sind standardmäßig deaktiviert und brauchen ein Opt-in von beiden Enden. Am ersten Tag wird nichts entfernt: Veraltete Funktionen haben ein Mindestfenster von zwölf Monaten, und DCR läuft aus Gründen der Abwärtskompatibilität weiter. Und die Spezifikation regelt Protokollzustand, nicht Ads-Urteilsvermögen. Verschwendete Ausgaben, kaputtes Conversion-Tracking und schlechte Zielgruppenwahl überstehen jede Protokollrevision unberührt; diese Ebene behandelt Verschwendete Werbeausgaben mit KI finden.

Checkliste für die erste Woche (Agent-Builder)

Wenn Sie einen Remote-MCP-Server betreiben oder bauen, ist das die Reihenfolge, in der wir arbeiten würden, basierend auf dem Betrieb eines Servers in Produktion.

1. Prüfen Sie jedes Mutations-Tool auf Wiederholungssicherheit. Resumability entfällt; Clients senden verlorene Anfragen erneut. Ergänzen Sie Idempotenz-Keys bei jedem Tool, das etwas erstellt oder ändert, was Geld kostet.

2. Verlagern Sie Zustand über mehrere Aufrufe hinter vom Server erzeugte Handles. Alles, was im Prozessspeicher an eine Protokollsitzung gebunden lebt, stirbt mit dieser Revision. Handles als Tool-Argumente, signiert und ablaufend.

3. Prüfen Sie Ihre OAuth-Metadaten. Die neue clientseitige Validierung von iss und die Ausstellerbindung funktionieren nur gegen korrekte Well-Known-Dokumente nach RFC 8414 und RFC 9728. Veröffentlichen Sie sie und halten Sie sie wahr.

4. Entwerfen Sie eine CIMD-Vertrauensrichtlinie. Legen Sie fest, welche Client-Domains Sie auf die Allowlist setzen und wie der anonyme DCR-Fallback während des Fensters aussieht. Erst die Richtlinie, dann der Code.

5. Ordnen Sie lang laufende Tools Tasks zu. Listen Sie jedes Tool auf, das Ihre Gateway-Frist überschreiten kann, und markieren Sie, welche Eingaben während der Ausführung brauchen, denn diese werden unter tasks/update zu Freigabepausen.

6. Machen Sie tools/list deterministisch und setzen Sie ehrliche TTLs. Stabile Reihenfolge plus ttlMs bringen kostenlose Token-Einsparungen für jeden Client mit Prompt-Cache.

Steuern Sie Ads von Claude oder ChatGPT über einen MCP-Endpunkt. Der Free-Tarif enthält 100 Tasks pro Monat im Wert von $50, keine Karte nötig.

Kostenlos starten Preise ansehen

Zu ChatGPT hinzufügen: Öffnen Sie PaidSync.ai im Plugin-Verzeichnis von ChatGPT, installieren Sie es und melden Sie sich an.

Zu Claude hinzufügen: Öffnen Sie PaidSync.ai im Connector-Verzeichnis von Claude, klicken Sie auf Verbinden und melden Sie sich an.

Häufig gestellte Fragen

Was hat sich in der MCP-Spezifikation vom 2026-07-28 geändert?

Die Revision macht MCP zustandslos: Der Initialize-Handshake und der Header Mcp-Session-Id entfallen, jede Anfrage trägt Protokollversion und Client-Fähigkeiten in _meta, und ein neuer RPC server/discover macht die Server-Fähigkeiten bekannt. Die Wiederaufnahme von SSE-Streams entfällt, unterbrochene Streams bedeuten also erneut gesendete Anfragen. Tasks wechselt vom experimentellen Kern zu einer offiziellen Erweiterung mit Poll-basiertem tasks/get und Eingaben während der Ausführung über tasks/update. Multi Round-Trip Requests ersetzen vom Server ausgelöste Elicitation-, Sampling- und Roots-Aufrufe. Die Autorisierung wird durch die Validierung von iss nach RFC 9207 und an den Aussteller gebundene Zugangsdaten gehärtet. Dynamic Client Registration ist zugunsten von Client ID Metadata Documents veraltet. Roots, Sampling, Logging und HTTP+SSE sind mit einem Mindestfenster von zwölf Monaten veraltet. Quelle: das offizielle Changelog, gelesen am 1. August 2026.

Bricht die Spezifikation vom 2026-07-28 bestehende MCP-Server?

Nicht am ersten Tag. Die Version führt einen formalen Feature-Lebenszyklus mit einem Mindestfenster von zwölf Monaten für Veraltung ein, DCR bleibt aus Gründen der Abwärtskompatibilität funktionsfähig, und Clients müssen Ergebnisse von Servern älterer Protokolle, die das neue Feld resultType weglassen, als vollständig behandeln. Die Änderung, die sofort Aufmerksamkeit verdient, ist die Wiederholungssemantik: Resumability und erneute Zustellung von Nachrichten entfallen, sodass ein Client, der einen Antwort-Stream verliert, die Anfrage erneut sendet. Server mit Mutations-Tools, etwa für das Erstellen von Kampagnen oder Budgetänderungen, sollten Idempotenz-Keys ergänzen, damit eine erneut gesendete Schreibaktion nicht doppelt wirkt.

Was ersetzt Dynamic Client Registration in MCP?

Client ID Metadata Documents (CIMD). Statt sich nach RFC 7591 bei jedem Autorisierungsserver selbst zu registrieren, nutzt ein Client eine HTTPS-URL, die er kontrolliert, als seine client_id, und der Autorisierungsserver ruft die Client-Metadaten von dieser URL ab. Die Identität wird domänenbasiert und überprüfbar, womit Serverbetreiber Allowlist-Richtlinien für bekannte Agent-Plattformen aufbauen und Zustimmungsbildschirme zeigen können, die auf einer Domain statt einem selbst angegebenen Namen beruhen. DCR ist veraltet, bleibt aber für Autorisierungsserver verfügbar, die CIMD noch nicht unterstützen.

Setzt PaidSync die Spezifikation vom 2026-07-28 bereits um?

Nein. Der produktive MCP-Server von PaidSync läuft mit dem aktuellen stabilen Protokoll, das Claude und ChatGPT heute sprechen. Die ausgelieferte Basis sind Metadaten des Autorisierungsservers nach RFC 8414 und Metadaten geschützter Ressourcen nach RFC 9728 an Well-Known-Endpunkten, eine veröffentlichte security.txt und MCP Server Card, Sitzungswiderruf sowie abgesicherte Schreibaktionen mit den Flags dry_run und confirm_destructive. Die Übernahme der neuen Revision richtet sich nach der Client-Unterstützung in Claude und ChatGPT.

Was ist MCP für Werbung Die Einführung → Verbinden Sie Ihre Werbekonten mit Claude Einrichtungsanleitung → PaidSync vs Google Ads MCP (offiziell) Vergleich →