Content
# 🥗 mcp-diet — посади свои MCP-серверы на диету
Набор скиллов для Claude, который конвертирует любой MCP-сервер в «кодовый SDK»:
вместо того чтобы грузить схемы всех тулов в контекст модели на каждый запрос,
Claude пишет обычный код, который вызывает те же тулы. Паттерн описан в
engineering-блоге Anthropic [«Code execution with MCP»](https://www.anthropic.com/engineering/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/<server>/` с обёртками + считает экономию токенов |
| `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:
1. Модель читает только `INDEX.md` — одна строка на тул.
2. Полную схему открывает только для тула, который реально нужен.
3. Данные между вызовами живут в переменных python-скрипта, а не в контексте.
4. Циклы/фильтры/ретраи выполняются кодом, а не цепочкой «tool call → ответ → tool call».
Точка окупаемости по замерам сообщества — примерно от 6 тулов на сервере.
Если у сервера 2–3 тула — оставь его как есть, диета не нужна.
## Установка
### Вариант А: Claude Code
```bash
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
1. Скачай `dist/mcp-to-code.zip` и `dist/skill-harvester.zip` (или собери сам: ZIP,
внутри которого лежит папка скилла со SKILL.md).
2. В приложении: **Customize → Skills → «+» → загрузить ZIP** (в вебе: Настройки →
Возможности). Включи скилл тумблером.
3. Убедись, что включено «Выполнение кода и создание файлов» (Code execution).
Скиллы, включённые в аккаунте claude.ai, автоматически доступны и в Cowork.
### Вариант В: без установки вообще
Кинь Клоду папку/архив репозитория и напиши:
«Прочитай skills/mcp-to-code/SKILL.md и оптимизируй мой Mixpanel MCP по этой инструкции».
Работает везде, где есть code execution.
## Быстрый старт: Mixpanel за 3 шага
Скажи Клоду:
> Используй скилл mcp-to-code и сконвертируй Mixpanel MCP в кодовый SDK
Под капотом произойдёт:
```bash
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 работает так:
```python
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_<server>.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](https://instagram.com/ika.explains). Идея паттерна — Anthropic Engineering, реализация — наша.*
Connection Info
You Might Also Like
No recommendations available