Podłączyłeś tuzin serwerów MCP do swojego agenta AI. GitHub, Slack, Linear, Postgres, S3, wyszukiwarka — cały szwedzki stół. Twój agent teoretycznie może dotknąć całego stacka. Czujesz moc. Agent nie czuje.

Zaczął walić w płot w zadaniach, które wcześniej ogarniał bez problemu. Wybiera złe narzędzie. Halucynuje parametry, które nie istnieją. Zapomina kontekst, który dosłownie przed chwilą wpisałeś. Niczego nie zepsułeś — po prostu dałeś mu tyle kart dań do przeczytania, że nie zdążył nawet włączyć kuchenki.

Matematyka, o której nikt cię nie uprzedził

14 kwietnia Cloudflare opublikowało Enterprise MCP Reference Architecture, w której podano konkretne liczby. MCP (Model Context Protocol) to uniwersalny standard wtyczek do narzędzi AI — jak USB, ale do łączenia agentów z zewnętrznymi serwisami. Każde narzędzie MCP dostarcza schemat opisujący, co robi i jakich parametrów potrzebuje. W każdej turze model czyta je wszystkie.

Jak rozbieraliśmy na części w wczorajszym Tool-Calling Is Dead, sam portal Cloudflare spalał ~9 400 tokenów na samych opisach narzędzi — zanim agent w ogóle dotknął twojego problemu. Serwer MCP GitHuba (94 narzędzia) zjadał ~42 000 tokenów. Te liczby powtarzam tylko dlatego, że od tamtego czasu nic się nie zmieniło. Ludzie po prostu dalej podpinali kolejne serwery.

Benchmark z 6 marca udokumentował już załamanie dokładności: trafność wyboru narzędzia spadła z ~95% przy 4 skupionych narzędziach do ~71% przy 46. Sześć tygodni później Cloudflare potwierdziło ten sam problem w skali enterprise. Protokół się nie zmienił. Liczba serwerów — owszem.

Wszyscy to naprawiają, nikt nie zgadza się jak

Cloudflare wypuściło Code Mode 16 kwietnia — wywaliło książkę telefoniczną narzędzi i zastąpiło ją typowanym API. Dwa punkty wejścia zamiast 2500+. Zużycie tokenów spadło o 99,9%. Genialne. Tylko że działa wyłącznie na Cloudflare Workers. Rozwiązali problem otwartego standardu rozwiązaniem zamkniętym. Klasyka.

Atlassian poszedł drogą kompresji. Ich open-source'owy mcp-compressor, wydany 29 marca, ściska 94 narzędzia GitHub MCP z 17 600 tokenów do 500 przy maksymalnej kompresji (97% redukcja). Wyobraź sobie minifikację dokumentacji API do momentu, w którym nawet ty jej nie przeczytasz. Model jakoś jeszcze daje radę — ale kompromis jest realny. Własne benchmarki Atlassiana pokazują, że maksymalna kompresja obniża wierność ograniczeń parametrów: złożone narzędzia ze zagnieżdżonymi schematami obiektów tracą wskazówki walidacyjne, których model potrzebuje do poprawnych wywołań. W dokumentacji zalecają średnią kompresję (80% redukcja, ~3 500 tokenów) na produkcji, a maksymalną rezerwują na "eksplorację". Szczera wersja: wymieniasz dokładność na headroom i masz nadzieję, że model domyśli się reszty.

Anthropic poszło zupełnie inną drogą. 8 kwietnia uruchomili Managed Agents za $0.08/godz. — wyspecjalizowane sub-agenty z wąskimi zestawami 5–10 narzędzi zamiast jednego generalisty tonącego w 50. Każdy sub-agent ładuje tylko swoje narzędzia na turę, obcinając narzut na agenta o ~85%. Rozwiązanie na za dużo narzędzi? Więcej agentów z mniejszą liczbą narzędzi. Rekurencja jako usługa.

A potem są zespoły, które w ogóle olały optymalizację i po prostu zaczęły kasować. 12 marca zespół inżynierów GitHub Copilot podzielił się wynikami z redukcji narzędzi z 40 do 13 — 2–5 punktów poprawy w benchmarkach, 400ms mniej opóźnienia. W lutym Block przebudował swój Linear MCP server trzy razy, kurczac z 30+ narzędzi do 2. 3 kwietnia Phil Schmid (Hugging Face) wydestylował wzorzec do jednej reguły: "Kuratoruj bezwzględnie. 5 do 15 narzędzi na serwer. Jeden serwer, jedno zadanie." Żadnych algorytmów kompresji. Żadnych warstw discovery. Czysta dyscyplina.

Prawdziwy problem to sam protokół

I teraz: żadne z tych rozwiązań nie naprawia sedna — każde z nich jest albo zamknięte, albo platformowo-zależne, albo obejściem dziury w samym MCP.

Cloudflare Code Mode działa na Workers. Managed Agents działają z Claude. Kompresor Atlassiana jest najbardziej przenośną opcją — a i tak to taśma klejąca na protokole, który został wydany bez spisu treści.

Anthropic sprzedawało MCP jako uniwersalny standard. Jeden konektor, by rządzić nimi wszystkimi. Zamiast tego budujemy vendorowo-specyficzne warstwy discovery na wierzchu tego uniwersalnego standardu, żeby w ogóle działał w skali.

Ten film już widzieliśmy. CORBA w latach 90. — "uniwersalny" protokół obiektowy, który stworzył całą branżę vendorowych mostków, żeby dało się go w ogóle używać. Interface Repository obiecywał dynamiczne discovery; w praktyce każdy dostawca ORB wysyłał swój własny. SOAP w latach 2000. — enterprise'owy "standard", który wszyscy po cichu obchodzili RESTem, bo pliki WSDL rozrosły się w nieczytelne potworności. Moduły JavaScriptowe — AMD, CommonJS, UMD, pełna dekada fragmentacji zanim pojawiły się ES modules. Wzorzec się nigdy nie zmienia: otwarty standard wychodzi niedokończony, vendorzy łatają luki zamkniętymi warstwami, ekosystem się fragmentuje, aż ktoś naprawi standard albo go zabije.

MCP jest w fazie vendorowego łatania luk. Cloudflare, Anthropic, Atlassian i tuzin mniejszych graczy — każdy buduje własną odpowiedź na tę samą brakującą funkcję: dynamiczne tool discovery. Protokół powinien obsługiwać to natywnie. Nie obsługuje. Więc dostajemy sześć konkurencyjnych rozwiązań i nazywamy to ekosystemem.

Optymistyczne czytanie: konkurencja napędza innowacje, najlepsze podejście wygrywa, standard je wchłania. Realistyczne — to, na które postawiłbym kasę — jest takie, że główni dostawcy modeli wbudują swoje preferowane discovery w domyślne frameworki agentowe, a "uniwersalny" po cichu zacznie oznaczać "działa z Claude" albo "działa z GPT", ale nie z oboma. USB-C z vendorowymi protokołami ładowania — od nowa.

Co faktycznie robisz dzisiaj

Zrób audyt swoich połączeń MCP. Usuń serwery, do których agent nie uderzył przez tydzień. Pogrupuj pozostałe narzędzia po domenach zadań. Zmierz zużycie tokenów przed i po — zdziwisz się, ile headroomu odzyskasz.

MCP nie potrzebuje więcej serwerów. Potrzebuje swojego "package manager moment" — dynamicznego discovery i lazy loadingu, który traktuje narzędzia jak importy, a nie globalne zmienne wpychane do każdego prompta. Do tego czasu, mniej to dosłownie więcej. A najlepiej działające agenty nie będą tymi z największą liczbą narzędzi — będą tymi, które nauczyły się mówić nie.