Co ukazało się 28 lipca

Model Context Protocol opublikował swoją piątą specyfikację 28 lipca i jest to największa zmiana od narodzin protokołu. Rdzeń jest teraz bezstanowy. Uzgadnianie między initialize a initialized znika, nagłówek Mcp-Session-Id zostaje wycofany, a każde żądanie niesie zamiast tego wersję protokołu, tożsamość klienta i jego możliwości w polu _meta. Praktyczny skutek jest taki, że wystarczy zwykły rozdzielacz obciążenia w trybie round robin: dowolna instancja może obsłużyć dowolne żądanie i nie zostaje żaden współdzielony magazyn sesji do utrzymania.

Z tej decyzji wynika kilka kolejnych elementów. Multi Round-Trip Requests zastępują wywołania inicjowane przez serwer, które dotąd wymagały utrzymywanego otwartego strumienia: zamiast wpychać żądanie otwartym kanałem, serwer zwraca typ wyniku input_required, a klient powtarza pierwotne wywołanie z dołączonymi odpowiedziami. Żądania Streamable HTTP niosą teraz nagłówki Mcp-Method i Mcp-Name, aby brama albo ogranicznik przepustowości mógł kierować ruch i mierzyć go bez rozbierania treści JSON. Wyniki list narzędzi, podpowiedzi i zasobów niosą czas życia oraz zasięg pamięci podręcznej. Tasks i MCP Apps przenoszą się do formalnych ram rozszerzeń, zamiast siedzieć w rdzeniu.

Liczby dotyczące przyjęcia tłumaczą, dlaczego sprawa sięga dalej niż do osób piszących serwery. Zestawy narzędzi pierwszego poziomu dla TypeScriptu, Pythona, Go i C sharp zbliżają się łącznie do 500 milionów pobrań miesięcznie, a pakiety TypeScriptu i Pythona przekroczyły każdy miliard pobrań ogółem. David Soria Parra, jedna z osób kierujących utrzymaniem, nazwał to najważniejszym wydaniem od czasu, gdy ponad rok temu ruszył remote MCP. Jeśli twoja firma kupiła w ciągu ostatnich osiemnastu miesięcy produkt łączący asystenta z twoimi systemami, ta specyfikacja leży pod spodem, niezależnie od tego, czy ktoś podał ci jej nazwę.

Wycofanie Sampling przenosi rachunek za wnioskowanie

Lista wycofań czyta się jak porządki: Roots, Sampling i Logging, wszystkie z oknem dwunastu miesięcy. Dwa z nich są naprawdę drugorzędne. Roots zamienia się w ścieżki katalogów i plików przekazywane jako parametry narzędzia albo ustawiane w konfiguracji serwera. Logging przenosi się na standardowe wyjście błędów lub do OpenTelemetry, czyli tam, gdzie większość osób utrzymujących infrastrukturę i tak go chciała. Sampling to inna sprawa, i to w sposób, który dotyka budżetu, a nie bazy kodu.

Sampling był mechanizmem, dzięki któremu serwer MCP mógł poprosić klienta o wykonanie odpowiedzi modelu w swoim imieniu. Serwer potrzebował wyjścia z modelu językowego, ale nie musiał przechowywać poświadczeń, ponieważ wnioskowanie wykonywał klient i klient za nie płacił. To realny podział handlowy wyrażony jako funkcja protokołu. Opublikowana wskazówka migracyjna dla serwerów tracących Sampling każe łączyć się bezpośrednio z interfejsami dostawcy modeli po stronie serwera. Odczytana okiem osoby prowadzącej infrastrukturę konsekwencja jest jasna: kto prowadzi serwer, potrzebuje teraz własnego konta u dostawcy, własnego klucza i własnej pozycji w budżecie.

W którą stronę przesuwają się pieniądze, zależy od tego, na którym krześle siedzisz. Jeśli prowadzisz serwery MCP dla własnego personelu wobec klienta dostawcy, na twoje konto trafia wnioskowanie, za które wcześniej nie płaciłeś, a przy średniej wielkości instalacji jest to nowe comiesięczne zobowiązanie czterocyfrowe w euro, a nie błąd zaokrąglenia. Jeśli korzystasz z serwera MCP dostawcy, licz się ze zmianą cennika, ponieważ koszt wypychany dotąd na twojego klienta staje się kosztem samego dostawcy. Nic z tego nie jest ogłaszane w nocie wydania. Jedno i drugie pojawia się na fakturze w ciągu roku.

Bezstanowość przeniosła stan, nie skasowała go

Komentarze dostawców wokół tego wydania zgodnie dotyczą skali i pochodzą od firm, które zyskują najwięcej, gdy serwery stają się łatwe w utrzymaniu: dostawców chmury i brzegu sieci opisujących protokół jako trasowalny, dający się buforować i skalowalny globalnie, oraz platform witających koniec zarządzania sesjami. To wszystko prawda. Porzucenie przypisania każdej sesji do tej samej instancji usuwa klasę awarii, w której przerwany strumień niszczył całą rozmowę, i pozwala uruchomić serwer na infrastrukturze bezserwerowej, która nigdy nie zdołałaby utrzymać otwartej sesji.

Czego nikt z nich nie mówi, to że stan nie wyparował. Wszystko, co naprawdę musi przetrwać między wywołaniami, trzeba teraz przedstawić wprost: serwer wydaje identyfikator - koszyka, token, odwołanie do przepływu pracy - i zwraca go w wyniku, aby klient odesłał go z powrotem. To solidny projekt, ale zamienia niewidoczną sprawę protokołu w widoczną część twoich kontraktów narzędziowych. Ktoś musi zdecydować, co te identyfikatory znaczą, jak długo obowiązują i co się dzieje, gdy klient odeśle przeterminowany. Ta praca nie zniknęła razem z nagłówkiem sesji. Przeniosła się do twoich schematów, gdzie to twój zespół musi zrobić ją dobrze.

Wpisz 28 lipca 2027 do planu

Zasadą nadrzędną jest to, że wszystko oznaczone jako wycofywane pozostaje sprawne przez co najmniej dwanaście miesięcy. Czyni to 28 lipca 2027 najwcześniejszą datą, w której Roots, Sampling, Logging, dynamiczna rejestracja klientów albo stary transport po HTTP i SSE mogą naprawdę zostać usunięte, i jest to jedyna data z tego wydania warta wpisania do harmonogramu. W tym tygodniu nic się nie psuje. Mimo to zmiany w autoryzacji należy przeczytać w pierwszej kolejności: serwery autoryzacji muszą teraz zwracać parametr wystawcy, a klienci muszą go zweryfikować, zanim wymienią kod, poświadczenia klienta są związane z serwerem, który je wydał, a dynamiczna rejestracja klientów ustępuje miejsca dokumentom Client ID Metadata Documents.

Dla europejskiej działalności elementem, przy którym opłaca się zadziałać wcześnie, jest Enterprise Managed Authorization. Przychodzi jako rozszerzenie i pozwala administracji przydzielać dostęp do serwerów MCP centralnie, poprzez dostawcę tożsamości. Dotąd autoryzacja we wdrożeniach MCP bywała zostawiana na sam koniec i właśnie dlatego tak wiele wewnętrznych projektów agentowych utknęło na przeglądzie bezpieczeństwa. Jeśli twój do nich należy, powód utknięcia został teraz podjęty w specyfikacji, a uczciwym następnym krokiem jest zapytać dostawców, kiedy obsłużą to rozszerzenie, zamiast czekać, aż sami o tym powiedzą.