
haraldalder-vibemogger/mcp-diet
Developer toolsСрезает расход токенов на MCP на 75–98%. Билдер кодового SDK для Claude + пресеты + скилл-харвестер. Всё на русском 🥗
Обзор
Набор скиллов для Claude, который конвертирует любой MCP-сервер в «кодовый SDK»: вместо того чтобы грузить схемы всех тулов в контекст модели на каждый запрос, Claude пишет обычный код, который вызывает те же тулы. Паттерн описан в engineering-блоге Anthropic «Code execution with MCP» (в их примере экономия — со 150 000 токенов до 2 000, т.е. 98,7%). (нужна включённая функция code execution / «выполнение кода и создание файлов»). При прямом подключении MCP большинство клиентов кладут схемы тулов в контекст на запрос. 40 тулов ≈ десятки тысяч токенов, даже если ты спросил «привет». Плюс каждый промежуточный результат (например, здоровенный JSON из Mixpanel) дважды прокачивается через модель: на выходе одного тула и на входе следующего. С кодовым SDK: 1. Модель читает только INDEX.md — одна строка на тул. 2. Полную схему открывает только для тула, который реально нужен. 3. Данные между вызовами живут в переменных python-скрипта, а не в контексте. 4.
README
🥗 mcp-diet — посади свои MCP-серверы на диету
Набор скиллов для Claude, который конвертирует любой MCP-сервер в «кодовый SDK»: вместо того чтобы грузить схемы всех тулов в контекст модели на каждый запрос, Claude пишет обычный код, который вызывает те же тулы. Паттерн описан в engineering-блоге Anthropic «Code execution with MCP» (в их примере экономия — со 150 000 токенов до 2 000, т.е. 98,7%).
Работает в Claude Code и в Cowork / claude.ai (нужна включённая функция code execution / «выполнение кода и создание файлов»).
Что внутри
| Компонент | Что делает |
|---|---|
skills/mcp-to-code |
Билдер. Подключается к любому MCP-серверу, выгружает схемы тулов и генерирует python-пакет mcp_sdk// с обёртками + считает экономию токенов |
skills/mcp-to-code/presets |
Топ-10 серверов для вайбкода с готовыми командами подключения: GitHub, Supabase, Playwright, Context7, Notion, Figma, Stripe, Sentry, Linear, Mixpanel |
skills/skill-harvester |
Харвестер. Сохраняет рабочий код из сессии как переиспользуемый скилл — агент постепенно строит себе toolbox |
examples/everything-demo |
Живой пример: что получается на выходе билдера |
dist/*.zip |
Готовые ZIP скиллов для загрузки в claude.ai / Cowork |
Почему это экономит токены
При прямом подключении MCP большинство клиентов кладут схемы всех тулов в контекст на каждый запрос. 40 тулов ≈ десятки тысяч токенов, даже если ты спросил «привет». Плюс каждый промежуточный результат (например, здоровенный JSON из Mixpanel) дважды прокачивается через модель: на выходе одного тула и на входе следующего.
С кодовым SDK:
- Модель читает только
INDEX.md— одна строка на тул. - Полную схему открывает только для тула, который реально нужен.
- Данные между вызовами живут в переменных python-скрипта, а не в контексте.
- Циклы/фильтры/ретраи выполняются кодом, а не цепочкой «tool call → ответ → tool call».
Точка окупаемости по замерам сообщества — примерно от 6 тулов на сервере. Если у сервера 2–3 тула — оставь его как есть, диета не нужна.
Установка
Вариант А: Claude Code
git clone https://github.com/haraldalder-vibemogger/mcp-diet
# скиллы проекта:
mkdir -p .claude/skills && cp -r mcp-diet/skills/* .claude/skills/
# или глобально для всех проектов:
mkdir -p ~/.claude/skills && cp -r mcp-diet/skills/* ~/.claude/skills/
Перезапусти сессию Claude Code — скиллы подхватятся автоматически.
Вариант Б: Cowork / claude.ai
- Скачай
dist/mcp-to-code.zipиdist/skill-harvester.zip(или собери сам: ZIP, внутри которого лежит папка скилла со SKILL.md). - В приложении: Customize → Skills → «+» → загрузить ZIP (в вебе: Настройки → Возможности). Включи скилл тумблером.
- Убедись, что включено «Выполнение кода и создание файлов» (Code execution). Скиллы, включённые в аккаунте claude.ai, автоматически доступны и в Cowork.
Вариант В: без установки вообще
Кинь Клоду папку/архив репозитория и напиши: «Прочитай skills/mcp-to-code/SKILL.md и оптимизируй мой Mixpanel MCP по этой инструкции». Работает везде, где есть code execution.
Быстрый старт: Mixpanel за 3 шага
Скажи Клоду:
Используй скилл mcp-to-code и сконвертируй Mixpanel MCP в кодовый SDK
Под капотом произойдёт:
pip install mcp
python3 scripts/introspect.py --name mixpanel \
--cmd "npx -y mcp-remote https://mcp.mixpanel.com/mcp" # откроется OAuth в браузере
python3 scripts/gen_wrappers.py tools_mixpanel.json --out ./mcp_sdk
На выходе — пакет mcp_sdk/mixpanel/, отчёт «во сколько токенов обходились схемы vs
сколько стало» (заскринь и кинь в комменты 😉) и блок правил в CLAUDE.md проекта.
После этого прямое MCP-подключение Mixpanel в клиенте можно отключить.
Дальше Claude работает так:
from mcp_sdk.mixpanel import tools as mp
events = mp.query_events(...) # имена тулов — в mcp_sdk/mixpanel/INDEX.md
signups = [e for e in events if e["name"] == "signup"] # фильтрация В КОДЕ, не в контексте
print(len(signups)) # в модель уходит одна цифра, а не весь JSON
Требования
- python 3.10+ и пакет
mcp:pip install mcp(в песочнице Claude —pip install mcp --break-system-packages) - node 18+ — только для stdio-серверов и OAuth через
mcp-remote - Ничего из этого не нужно ставить руками заранее: скилл сам поставит и сам скажет, чего не хватает
Авторизация: важное про OAuth и песочницы
| Где запускаешь | OAuth-серверы (Mixpanel, Notion, Figma…) | Серверы с токеном (GitHub PAT, Stripe key…) |
|---|---|---|
| Claude Code на твоей машине | ✅ работает (браузер откроется) | ✅ работает |
| Cowork / claude.ai (облачная песочница) | ❌ браузер не откроется | ✅ работает через --url + --header |
Обходной путь для OAuth в облаке: запусти introspect.py локально у себя (это один файл
без зависимостей кроме mcp), получи tools_.json и загрузи его Клоду — генерация
и дальнейшая работа секретов не требуют. Либо используй Claude Code.
Секреты никогда не сохраняются в файлы. В config.json попадают только имена
env-переменных. Перед запуском: export MY_TOKEN=....
Пресеты: топ-10 MCP для вайбкода
В skills/mcp-to-code/presets/*.json — готовые команды подключения для:
GitHub · Supabase · Playwright · Context7 · Notion · Figma · Stripe · Sentry · Linear · Mixpanel.
⚠️ Эндпоинты и пакеты у вендоров меняются. Если пресет не завёлся — открой ссылку docs
из этого же файла, возьми актуальное подключение, поправь пресет у себя и пришли PR,
чтобы починилось у всех. Так этот репозиторий и поддерживается.
Свой сервер добавить просто: скопируй любой пресет, поменяй name, introspect_cmd и docs.
skill-harvester: вторая передача
Когда Claude решил тебе нетривиальную задачу кодом — скажи «сохрани как скилл». Он выделит переиспользуемое ядро, уберёт секреты, оформит SKILL.md по стандарту и скажет, как установить (Claude Code / claude.ai). Через месяц у тебя личная библиотека навыков вместо повторного изобретения велосипедов (и повторной оплаты токенов за них).
Безопасность — прочитай, это важно
- Сгенерированные обёртки вызывают реальные тулы реальных сервисов. Тул
delete_projectудалит проект по-настоящему. Скилл по умолчанию тестирует только read-only тулы, но ответственность за write-операции — на тебе. - Code execution означает исполнение кода. Ревьюй, что запускаешь, особенно чужие форки этого репозитория.
- Данные из твоих сервисов через MCP попадают в контекст модели — читай политики своего AI-провайдера и вендора (например, Mixpanel прямо предупреждает об этом в доке).
Траблшутинг (сначала сюда, потом в issues)
| Симптом | Лечение |
|---|---|
ImportError: streamablehttp_client |
Версии библиотеки mcp переименовали клиент. Скрипты в репо совместимы с обеими — обнови файлы скилла до свежих из репозитория |
Переменная окружения X пуста |
export X=твой_токен в той же сессии терминала и перезапусти |
| Таймаут при интроспекции OAuth-сервера | Ты в облачной песочнице — см. раздел «Авторизация» |
npm error SELF_SIGNED_CERT в песочнице |
npm config set strict-ssl false (только в песочнице, не на своей машине) |
Cannot uninstall PyJWT при pip install mcp |
pip install mcp --break-system-packages --ignore-installed PyJWT |
| Тул возвращает ошибку авторизации, хотя интроспекция прошла | Токен протух или у него нет нужных скоупов — перевыпусти |
В tools.py нет тула, который есть в доке сервиса |
Сервер отдаёт тулы в зависимости от прав. Перелогинься с нужными скоупами и перегенерируй |
| Хочу перегенерировать после обновления сервера | Просто запусти шаги 1–2 заново — генерация детерминированная, локальные правки в mcp_sdk не делай |
FAQ
Это замена MCP? Нет. MCP остаётся транспортом (подключение, авторизация, discovery) — мы убираем только прямую экспозицию схем в контекст модели.
Почему python, а не TypeScript как в блоге Anthropic? Python-рантайм гарантированно есть и в Claude Code, и в песочнице Cowork/claude.ai. Паттерн тот же.
Стоит ли конвертировать сервер с 3 тулами? Нет, окупается примерно от 6 тулов.
Можно несколько серверов? Да, они складываются в один пакет mcp_sdk/ и живут рядом.
Кросс-серверные сценарии (взять из Mixpanel → записать в Notion) — главный профит: данные
идут напрямую в коде, минуя контекст.
Поддержка
Вопросы и баги — только через GitHub Issues (перед этим — «Траблшутинг» выше). Личные сообщения автору с вопросами по установке телепортируются в /dev/null 🙂 PR с новыми пресетами и починкой протухших эндпоинтов — самый ценный вклад.
Лицензия
MIT. Делай что хочешь, ссылка на источник приветствуется.
Сделано для подписчиков ika.explains. Идея паттерна — Anthropic Engineering, реализация — наша.
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add haraldalder-vibemogger/mcp-diet