Optymalizacja narzędzi MCP dla agentów VS Code: kompaktowy proxy w Go
Rozszerzenia agentowe VS Code, takie jak Cline, Roo Code czy Kilo, szybko gromadzą serwery MCP: dostęp do plików, wyszukiwanie, bazy danych, GitHub, Jira, OpenAPI. Plik konfiguracyjny mcp.json rozrasta się do 25+ serwerów. Model zużywa kontekst na parsowanie chaosu: konflikty nazw (search się duplikuje), długie opisy, halucynacje argumentów. Efekt? Wzrost kosztów tokenów bez realnych korzyści.
Proxy toolc napisany w Go agreguje serwery w jeden interfejs MCP. Filtruje duplikaty, kompresuje opisy, zarządza widocznością narzędzi. Dla VS Code — jeden serwer zamiast menażerii.
Instalacja i uruchomienie
Pobierz binarkę z Releases lub skompiluj ze źródeł:
go install github.com/aak204/Tool-Catalog-Compiler/cmd/[email protected]
Optymalizuj konfigurację:
./toolc optimize-mcp \
-input .vscode/mcp.json \
-emit vscode \
-out-dir dist/mcp-optimized
Uruchom gateway:
./toolc mcp-serve -catalog dist/mcp-optimized/toolc.compiled.json
Nowy plik konfiguracyjny podłączasz w VS Code jak zwykły serwer MCP. Agent dostaje skompresowany katalog bez zbędnych zapytań.
Architektura wewnętrzna
toolc przekształca MCP i OpenAPI w pośrednie representation (IR). Stosuje trzy tryby kompilacji:
- direct: pełna schemat bez zmian — do debugowania.
- flat: płaska lista, deduplikacja, kompresja opisów — główny tryb.
- staged: discovery po nazwach, schematy na żądanie — dla złożonych API.
Parser OpenAPI radzi sobie z dużymi specyfikacjami (Stripe API): strażnicy głębokości, ponowne użycie płytkich powłok ref. Zużycie pamięci — ~48 MB, czas — milisekundy.
Benchmarki oszczędności tokenów
Testy na GitHub API (1100 endpointów), Stripe. Modele: Qwen-3.6-plus, GLM-5.1, GPT-5.4, Claude Sonnet 4.6. Koszt na milion wywołań (tryb flat vs direct):
| Model | Bez proxy ($) | Z toolc ($) | Oszczędność (%) |
|----------------------------|---------------|-------------|-----------------|
| qwen/qwen3.6-plus | 1807.26 | 1199.13 | 33.65 |
| z-ai/glm-5.1 | 3102.53 | 1593.14 | 48.65 |
| openai/gpt-5.4 | 8819.46 | 4291.96 | 51.34 |
| anthropic/claude-sonnet-4.6 | 10736.57 | 4290.21 | 60.04 |
Współczynnik sukcesu pozostaje wysoki. Flat minimalizuje token proxy.
Przypadek GLM-5.1: halucynacje i poprawki
GLM-5.1 psuł się na obciętych JSON-ach, zapominał kontraktów. Przyczyny:
- Jeden systemowy prompt do orkiestracji.
- Lackatek budżetu na dokończenia.
Poprawka: izolowane prompty, wyższe limity. Success Rate z 0.78 do 0.92 w trybie flat.
Kapryśne modele wymagają kształtowania requestów poza kompilacją.
Ograniczenia i plany
Wsparcie:
- Lokalne MCP stdio.
- OpenAPI.
- Kontekst agentów VS Code.
Brak wsparcia:
- Zdalne MCP.
- Ogólne funkcje.
- Runtime kompatybilny z OpenAI (w opracowaniu).
Architektura skalowalna pod control plane.
Co najważniejsze
toolcobniża koszty o 33–60% dzięki kompresji katalogów MCP/OpenAPI.- Trzy tryby: flat najlepszy pod względem cena/korzyść.
- Parser radzi sobie z rekurencyjnymi API (Stripe) bez OOM.
- Success Rate modeli rośnie przy czystym kontekście.
- Kompatybilny z VS Code bez przepisywania konfiguracji.
— Editorial Team
Brak komentarzy.