Protokol MCP zrušil sezení, požadavek teď může obsloužit kterýkoli server
Model Context Protocol, podle kterého si jazykové modely povídají s cizími nástroji, dostal 28. července 2026 první revizi od loňského listopadu. Zmizelo navazování spojení i identifikátor sezení – každý požadavek si nově nese vlastní verzi protokolu a schopnosti klienta. Kdo si server napsal sám, čeká ho podle vedoucího správce specifikace velký kus práce.

Jazykový model sám o sobě neumí nic než psát text. Aby sáhl do databáze, přečetl soubor nebo založil lístek v evidenci chyb, potřebuje domluvu, podle které se mu nástroj ohlásí a on ho pak zavolá. Tou domluvou je Model Context Protocol, zkráceně MCP. Vlastní dokumentace ho přirovnává k portu USB-C: „Stejně jako USB-C poskytuje standardizovaný způsob, jak propojit elektronická zařízení, MCP poskytuje standardizovaný způsob, jak propojit aplikace s umělou inteligencí s vnějšími systémy“ (přeloženo). Podporují ho mimo jiné Claude, ChatGPT, Visual Studio Code i Cursor.
28. července 2026 vyšla revize 2026-07-28, první od loňské 2025-11-25. Verze protokolu se značí datem schválně: podle vlastního popisu se to datum mění jen tehdy, když přibude změna rušící zpětnou slučitelnost. Tahle taková je.
Konec sezení
Dosud fungovalo MCP jako spojení, které se musí navázat. Klient poslal initialize, server odpověděl, klient potvrdil initialized, a teprve pak šlo posílat práci. Server si přitom pamatoval, s kým mluví, a účastníky rozlišoval hlavičkou Mcp-Session-Id.
Obojí je pryč. „Oficiálně jsme zrušili výměnu initialize/initialized spolu s hlavičkou Mcp-Session-Id,“ píše oznámení projektu (přeloženo). Verzi protokolu i schopnosti klienta nese nově každý požadavek zvlášť, v poli _meta. Kdo potřebuje, aby si server něco pamatoval mezi voláními, dostane od něj obyčejný identifikátor a posílá ho zpátky jako běžný parametr nástroje.
Dopad je prostý: požadavek může obsloužit kterýkoli běžící server. Do té doby musel provoz hlídat, aby všechny požadavky téhož klienta dopadly na týž stroj – anebo si stroje musely sezení sdílet přes společné úložiště.
Přibyl proto nový povinný dotaz server/discover. Server jím na jedno zavolání ohlásí, které verze protokolu umí, co nabízí a kým je. Klient ho použít nemusí; může rovnou poslat práci a počkat, jestli se nevrátí chyba o nepodporované verzi.
Vedlejší produkt vlastního původu
Craig McLuckie, šéf firmy Stacklok, řekl serveru The Register, že stavovost MCP „byla vlastně vedlejší produkt toho, že vzniklo jako způsob podpory vývojářů používajících nástroje na psaní kódu“ (přeloženo). Protokol tedy vznikl pro jeden editor běžící na jednom počítači a teprve pak se z něj stalo něco, co jede ve velkém.
Rozsah zásahu přiznává i projekt sám. David Soria Parra, jeden ze dvou vedoucích správců specifikace, ho pro The Register označil za „nejpodstatnější změny, jaké jsme ve specifikaci udělali, patrně od doby, kdy jsme přidali autorizaci“ (přeloženo).
Co se ruší a co se jen odkládá
Tři starší schopnosti dostaly nálepku zastaralých: Roots (klient serveru sděloval, které adresáře ho zajímají), Sampling (server si mohl vyžádat odpověď od modelu) a Logging (protokolové zprávy). „Pořád fungují a fungovat budou nejméně dvanáct měsíců,“ stojí v oznámení (přeloženo). Doporučená náhrada je pokaždé jiná: adresáře předávat jako parametr nástroje, na model se obracet přímo přes rozhraní jeho poskytovatele a zapisovat na stderr nebo přes OpenTelemetry.
Stejnou nálepku dostal starý přenos HTTP+SSE a dosavadní způsob registrace klienta u autorizačního serveru. Naopak bez odkladu zmizely ping, logging/setLevel a obnovování přerušeného datového proudu – když spojení spadne uprostřed požadavku, klient ho musí poslat znovu jako nový.
Snadno se přehlédne jedna drobnost: chyba „zdroj nenalezen“ má nově kód -32602 místo -32002, aby odpovídala JSON-RPC.
Kdo si server psal sám, má práci
Parra to řekl bez obalu: „Kdo si postavil vlastní implementaci, čeká ho velký kus práce“ (přeloženo). Kdo staví na oficiálních knihovnách, je na tom líp – ty pro TypeScript, Python, Go a C# už novou verzi podporují, ta pro Rust je v betě.
Zpětná slučitelnost je slabým místem celého kroku. Server podle nové revize se se starým klientem nedomluví a naopak; specifikace na to má samostatnou kapitolu, bezbolestné to ale není. Někdo se připravil dopředu: GitHub oznámil 23. července, že jeho server MCP novou specifikaci podporuje ještě před jejím vydáním.
Že nejde o okrajovou záležitost, ukazují čísla, která projekt uvádí sám o sobě: „Napříč našimi knihovnami první úrovně vidíme skoro půl miliardy stažení měsíčně, přičemž knihovny pro TypeScript i Python překročily hranici miliardy stažení celkem“ (přeloženo). Nezávisle ověřená ta čísla nejsou.
Poprvé s pravidly pro rušení
Vedle technických změn přibyla věc procesní, která bude nejspíš důležitější než kterákoli jednotlivá úprava: formální pravidla životního cyklu. Každá schopnost je nově buď aktivní, zastaralá, nebo odstraněná, a mezi zastaráním a odstraněním musí uplynout aspoň dvanáct měsíců. Zkrácená lhůta devadesáti dnů existuje, ale jen jako výjimka.
Pro provozovatele je to větší jistota než dosud. Kdo pouští nástroje, ke kterým se dostane cizí model, ví, že každá změna protokolu je zároveň změna bezpečnostní – červencový průnik do infrastruktury Hugging Face ukázal, co dokáže sestava agentů puštěná na cizí stroje. Roční lhůta na přechod aspoň znamená, že se nebude muset opravovat za pochodu.
Zdroje: oznámení projektu MCP, seznam změn ve specifikaci, The Register a changelog GitHubu.