mcp2cli: jak zaoszczędzić 96-99% tokenów przy pracy z MCP servers
Jeśli używasz Claude Code, Cursora lub Codexa z wieloma MCP servers jednocześnie, prawdopodobnie tracisz tysiące tokenów na coś, czego w ogóle nie widzisz. Każde zapytanie do modelu ładuje pełne schematy wszystkich podłączonych narzędzi — niezależnie od tego, czy LLM ich w tej turze użyje, czy nie. mcp2cli rozwiązuje ten problem przez zamianę MCP servers w zwykłe komendy CLI z leniwym odkrywaniem narzędzi.
Problem: MCP servers zjadają tokeny
Standardowy protokół MCP (Model Context Protocol) działa tak, że przy każdym wywołaniu LLM wszystkie schematy narzędzi są ładowane do kontekstu z góry. To podejście ma sens przy małej liczbie integracji, ale szybko zamienia się w problem przy poważnym użytkowaniu.
Przykład: 30 narzędzi × ~120 tokenów na schemat = 3 600 tokenów spalonych w każdej turze konwersacji — zanim LLM w ogóle napisze pierwszą linię kodu. Przy 15 turach to już ponad 54 000 tokenów wyłącznie na metadane narzędzi, z których większość nie była potrzebna.
Przy większym setupie liczby robią się absurdalne. 120 narzędzi przez 25 tur to 362 000 tokenów wyłącznie na schematy — zanim LLM zrobi cokolwiek użytecznego.
To tzw. context bloat: kontekst rośnie od startu nie dlatego, że masz dużo do powiedzenia modelowi, ale dlatego że model „musi wiedzieć wszystko” zanim zacznie działać.
Jak działa mcp2cli?
mcp2cli stworzył Mariano Gobea Alcoba, Tech Leader w Mercado Libre. Projekt jest dostępny na GitHubie pod licencją MIT: knowsuchagency/mcp2cli.
Zamiast ładować wszystko naraz, mcp2cli wprowadza lazy loading — narzędzia są odkrywane i ładowane tylko wtedy, gdy LLM faktycznie ich potrzebuje.
Mechanizm działa w trzech krokach:
- Inicjalizacja: mcp2cli przekształca MCP server lub specyfikację OpenAPI w interfejs CLI dostępny dla modelu.
- Listing: LLM może wywołać
--list, żeby zobaczyć dostępne narzędzia — koszt to tylko ~16 tokenów na narzędzie zamiast pełnego schematu. - Help on-demand: dopiero gdy LLM zdecyduje, że chce użyć konkretnego narzędzia, pobiera jego szczegółowy opis przez
--help— koszt: ~120 tokenów za jedno narzędzie.
Zamiast ładować 30 × 120 tokenów z góry, model ładuje 30 × 16 tokenów (listing) i dopiero potem 120 tokenów dla narzędzi, których faktycznie użyje. Różnica jest zasadnicza.
Konkretne oszczędności
| Scenariusz | Tradycyjny MCP | mcp2cli | Oszczędność |
|---|---|---|---|
| 30 narzędzi, 15 tur | ~54 000 tokenów | ~2 160 tokenów | **96%** |
| 120 narzędzi, 25 tur | ~362 000 tokenów | ~3 600 tokenów | **99%** |
W przypadku Claude API z modelem Sonnet 4.5, gdzie input tokens kosztują $3 na milion, oszczędność 360 000 tokenów to realny $1,08 per sesja — a przy intensywnej pracy zespołu developerów przez miesiąc może to być setki dolarów różnicy.
Poza kosztami, krótszy kontekst to też lepsza jakość odpowiedzi — model nie musi przebijać się przez tysiące tokenów nieużywanych schematów, żeby dotrzeć do faktycznego zadania.
Instalacja i konfiguracja
mcp2cli instaluje się przez npm:
`bash
npm install -g mcp2cli
`
Wymaga Node.js v14+ i npm v6+.
Integracja z AI coding agents jako skill:
`bash
npx skills add knowsuchagency/mcp2cli –skill mcp2cli
`
Po instalacji jako skill, Claude Code, Cursor i Codex mogą automatycznie używać mcp2cli zamiast natywnych MCP tools. Nie wymaga zmiany konfiguracji projektu — skill działa na poziomie agenta.
Przykład użycia
Listowanie dostępnych narzędzi z MCP servera:
`bash
mcp2cli –mcp https://example.com/sse –list
`
Sprawdzenie szczegółów konkretnego narzędzia:
`bash
mcp2cli –openapi ./api-spec.yaml get-user –help
`
Wywołanie narzędzia:
`bash
mcp2cli –mcp https://example.com/sse create-task –title „Fix login bug”
`
Debugowanie z logowaniem:
`bash
mcp2cli –mcp https://example.com/sse –list –verbose
`
mcp2cli obsługuje zarówno MCP servers (przez WebSocket/HTTP SSE), jak i specyfikacje OpenAPI w formacie JSON lub YAML — lokalne pliki i zdalne URL-e. To oznacza, że możesz go użyć nie tylko z MCP-kompatybilnymi serwerami, ale z każdym API, który ma specyfikację OpenAPI.
Dla kogo?
mcp2cli jest szczególnie przydatny jeśli:
- Używasz Claude Code lub Cursora z więcej niż 5-10 MCP servers jednocześnie
- Twój kontekst rośnie szybko przez długie sesje kodowania (25+ tur)
- Pracujesz z modelami z krótszym oknem kontekstu i każdy token ma znaczenie
- Płacisz za API i zależy ci na kosztach per sesja
- Używasz własnych MCP servers z wieloma specjalistycznymi narzędziami
Mniej przydatny jeśli:
- Masz tylko 2-3 MCP servers i używasz większości narzędzi w każdej sesji
- Pracujesz lokalnie z modelami open-source bez opłat per token
- Twoje sesje są krótkie i jednorazowe (1-3 tury)
Podsumowanie
mcp2cli to eleganckie rozwiązanie realnego problemu: context bloat przy intensywnym użyciu MCP servers. Zamiast walczyć z architekturą MCP, projekt po prostu zmienia sposób odkrywania narzędzi — z „wszystko na raz” na „na żądanie”.
96-99% oszczędności na tokenach to nie marketing — to matematyka lazy loading vs. eager loading zastosowana do kontekstu LLM.
Projekt jest open source (MIT), aktywnie rozwijany i działa z najpopularniejszymi AI coding agents. Jeśli używasz Claude Code z wieloma integracjami, warto sprawdzić.