MCP zavedl pravidla pro rušení funkcí. Roots, Sampling a Logging mají nejmíň rok
Revize protokolu MCP z 28. července odložila tři funkce protokolu: Roots, Sampling a Logging. Poprvé u toho platí psané pravidlo, kolik času mezi odložením a smazáním musí uplynout, a protokol dostal veřejný seznam toho, co je na odchodu. Odklad ale neznamená, že se do té doby nic nemění.

Model Context Protocol, zkráceně MCP, je domluva, podle které si jazykový model sáhne na cizí nástroj: na databázi, na kalendář, na evidenci chyb. Jeho revize označená 2026-07-28 vyšla 28. července a mluvilo se o ní hlavně kvůli tomu, že zrušila úvodní pozdrav i hlavičku se sezením. Je v ní ale ještě jedna změna, kterou na přenášených zprávách nikdo nepozná: protokol poprvé napsal, jak se z něj funkce vyhazují.
Tři funkce dostaly datum
Odložené jsou Roots, Sampling a Logging. Postaral se o to jediný návrh, SEP-2577 z 14. dubna 2026.
- Roots je způsob, jak klient serveru řekne, se kterými adresáři a soubory má pracovat. Návrh mu vytýká mlhavý význam: server je podle specifikace respektovat nemusí. Náhradou má být předání cesty jako obyčejného parametru nástroje nebo v nastavení serveru.
- Sampling dovoluje serveru požádat klienta o odpověď od modelu, takže server nepotřebuje vlastní klíč k API. Podle návrhu je správná implementace složitá – chce schválení člověkem, výběr modelu i ošetření bezpečnosti – a klienti ji proto většinou nemají. Náhradou je volat rozhraní poskytovatele modelu přímo.
- Logging posílá zprávy z protokolu do klienta. Náhradou je obyčejný zápis na chybový výstup u spojení přes standardní vstup a výstup, případně OpenTelemetry.
Ve stejné revizi skončila i dynamická registrace klienta podle RFC 7591; místo ní mají nastoupit Client ID Metadata Documents. Zůstává dostupná kvůli autorizačním serverům, které novější způsob neumějí.
Nejdřív rok, teprve pak mazání
Pravidlo, podle kterého se to všechno odehrává, přinesl SEP-2596. Funkce je nově vždy v jednom ze tří stavů: aktivní, odložená, odstraněná. Návrh na odložení musí uvést, čím se funkce nahradí, a stanovit okno nejméně dvanáct měsíců. Počítá se od vydání revize, ne od schválení návrhu – díky tomu mají všechny funkce odložené v jedné revizi společné datum.
U čtyř letošních položek vychází na první revizi vydanou 28. července 2027 nebo později. Samotné odstranění je pak rozhodnutí správců při přípravě vydání, takže může přijít i podstatně později.
Proč to vůbec vzniklo, je z návrhu vidět na jednom příkladu: dávkování požadavků JSON-RPC přibylo do protokolu v revizi 2025-03-26 a zmizelo hned v té následující, 2025-06-18. Žádné okno, žádné varování. Označení „soft-deprecated“, které dosud u některých funkcí stálo, se pravidlem ruší a nikde neplatilo, jak dlouho takový stav trvá.
Ke všemu tomu vznikl registr odložených funkcí – jedna stránka, na které je vidět celý seznam. Teď je na něm šest řádků: čtyři nové a dva starší, přeřazené sem dodatečně. Jsou to hodnoty thisServer a allServers u sampling z listopadu 2025 a přenos HTTP+SSE, o kterém se mluví jako o odloženém od března 2025 a jako jediný nemá roční okno.
Odklad neznamená, že se do té doby nic nemění
Tady je potřeba dát pozor, protože samotný SEP-2577 slibuje klid. Píše, že po dobu odkladu se chování na lince nemění, žádné typy nemizí a žádná existující implementace se nerozbije. Ten slib platí o odložení jako takovém a drží: schéma opravdu jen dostalo poznámky.
Jenže táž revize nese i jinou změnu. Server už klientovi nemůže poslat vlastní požadavek; místo toho vrátí odpověď typu input_required a klient volání zopakuje s doplněnými údaji. A právě Sampling i Roots byly server–klient požadavky. Jejich datové typy zůstaly, ale samostatná volání sampling/createMessage a roots/list se nově posílají uvnitř té odpovědi. Kdo je volá po starém, dostane chybu už dnes, ne za rok.
Sám návrh na odložení přitom nahoře přiznává, že vznikl nad předpokladem: opírá se o tehdy neexistující pravidlo, že se každá verze specifikace podporuje rok od vydání. Napsaný byl v polovině dubna a počítal s vydáním v červnu.
Co to znamená pro toho, kdo server provozuje
Zatím nic naléhavého. Klient, který se domluvil na starší verzi protokolu, jede dál beze změny; knihovny nabízejí režim pro starší protějšky.
Praktickou podobu odkladu ukazuje verze 2.0.0 knihovny pro Python, která vyšla 28. července, tedy v týž den jako specifikace. Její přehled odložených funkcí vypisuje pět položek: k oněm třem přidává metodu ping, kterou revize rovnou odstranila, a hlášení postupu směrem od klienta k serveru. Každá z nich při prvním použití vypíše varování, a to schválně takové, které je v Pythonu vidět bez zvláštního přepínače. Dokumentace to zdůvodňuje tím, že běžné varování o zastarání se ve výchozím nastavení ukazuje jen v přímo spuštěném kódu, takže si ho roky nikdo nevšimne.
U Sampling a Roots pak podle téhož textu přijdou dva signály za sebou: nejdřív varování, potom chyba o tom, že spojení nemá zpáteční kanál pro požadavky vedené serverem. Kdo tedy nemigruje, nepozná to za rok, ale při prvním novém klientovi.
Zatím nikdo nic nesmazal
Oddíl registru nadepsaný „Removed“ je prázdný a stránka to říká rovnou: podle nového pravidla zatím nebyla odstraněna žádná funkce. Jestli pravidlo něco změní, se pozná až u revize vydané po létě 2027 – to bude první, ve které smějí čtyři letošní položky zmizet, a zároveň první příležitost zjistit, jestli se roční okno dodrží, nebo se odklad protáhne.