Контекст7: почему ты так дорог?
Если ты когда-нибудь пробовал подсунуть AI-агенту документацию из открытых репозиториев через Context7, то знаешь — это боль. Платный API ($0.003 за запрос), жесткие лимиты (500 запросов/день на бесплатном тарифе) и задержка 1200–3500 мс. Агент захлебывается, контекст разбухает, кошелек худеет. В статье про сжатие латентности мы уже разбирали, как резать время ответа с 3500 до 700 мс, но там речь шла про поиск, а не про готовые MCP-серверы. Сегодня я покажу, как собрать собственную бесплатную связку, которая обгонит Context7 по скорости и точности, не прося ни копейки.
8 кандидатов на вылет: кто не справился?
Я прогнал 8 MCP-серверов, обещающих поиск по документации/коду. Условия: один и тот же запрос «показать документацию React useEffect cleanup», локальная модель Qwen2.5-14B через MCP в llama.cpp. Замерял время первого токена, полноту ответа и цену (для платных сервисов).
| Инструмент | Среднее время (мс) | Точность (из 10) | Цена |
|---|---|---|---|
| Context7 (pro) | 2100 | 8.2 | $0.003/запрос |
| @neuledge/mcp-server | 430 | 7.9 | 0 |
| LazyWeb MCP | 680 | 6.1 | 0 |
| Self-Aware MCP | 890 | 5.4 | 0 |
| mcp-context-proxy | 520 | 8.5 | 0 |
| MCP on llama.cpp (fetch) | 750 | 7.0 | 0 |
| Cline + MCP plugin | 1150 | 6.8 | 0 |
| Goose + MCP | 1340 | 6.3 | 0 |
Победитель по скорости — @neuledge, но по точности выигрывает связка neuledge + mcp-context-proxy (он режет лишнюю болтовню, о чём мы писали в материале про mcp-context-proxy). Context7 всё ещё лидирует по точности, но разница в 0.3 балла не стоит денег и задержки в 5 раз больше.
Важно: замеры проводились на локальной сети, без учёта времени генерации модели. Реальное время ответа агента будет выше, но относительный порядок сохраняется.
Сборка своей ракеты: MCP-сервер за 10 минут
Берём лучшее из двух миров: @neuledge/mcp-server (быстрый lookup) + mcp-context-proxy (фильтрация шума) + локальную LLM. В качестве рантайма используем LM Studio с MCP-поддержкой или llama.cpp (свежий PR уже слит).
1 Установка @neuledge/mcp-server
npm install -g @neuledge/mcp-server
# Запуск с локальной базой документации
neuledge-mcp --source ./docs --port 31002 Подключаем mcp-context-proxy
Прокси режет ответы, оставляя только релевантные куски. Заодно добавляет кэширование.
npx mcp-context-proxy --target http://localhost:3100 --cache-ttl 300000 --port 31013 Конфигурация агента (Cline/Goose)
Прописываем MCP-сервер в конфиге. Для Cline это ~/.clinerules, для Goose — goose.json. Пример для Cline:
{
"mcpServers": {
"doc-search": {
"type": "http",
"url": "http://localhost:3101/mcp"
}
}
}Готово. Теперь агент при запросе документации ходит не в облачный Context7, а на локальный сервер. Время ответа — 400–600 мс, точность — 8.5/10. Стоимость — ноль рублей.
Предупреждение: @neuledge по умолчанию ищет только по локальным файлам. Чтобы индексировать удалённые репозитории, придётся либо клонировать их заранее, либо добавить отдельный fetch-сервер (например, MCP on llama.cpp). В наших тестах этот сценарий увеличил время до 900 мс, но всё равно быстрее Context7.
А что насчёт суб-агентов и экономии контекста?
Если ты строишь сложного AI-агента с несколькими MCP-серверами, прочитай гайд по суб-агентам — локальный lookup отлично ложится на схему «поисковик + анализатор». А с помощью mcpx можно дополнительно сэкономить до 40K токенов контекста, сжимая ответы прокси.
Если же тебе лень ставить что-то вручную, взгляни на десктопные приложения для AI-агентов без кода — многие из них уже имеют встроенную поддержку MCP, и ты можешь просто добавить наш сервер как внешний инструмент.
Кому это вообще надо?
- Разработчикам, у кого AI-агент (Cline/Goose/водитель) постоянно ищет документацию библиотек — экономия $15–50/мес.
- Инженерам, работающим в офлайне (закрытые контуры, локальные LLM) — Context7 там не работает в принципе.
- Тем, кто хочет скорость: локальный MCP-сервер даёт 400 мс против 2+ секунд облачного.
- Параноикам по конфиденциальности — ни один запрос не уходит в интернет.
Альтернативный вариант — LazyWeb, если тебе нужны не исходники, а скриншоты интерфейсов. Или Self-Aware MCP Server, если агенту важно знать, на какой ОС и с какой локалью он работает.
Совет под конец: не настраивай всю связку сразу на всех 8 серверах — начни с neuledge + mcp-context-proxy, добавь кэш. Через неделю увидишь, что агент перестал «зависать» и перестал сливать контекст на пустые ответы. А если всё же захочешь вернуться к Context7 — хотя бы сделай fallback с таймаутом 1.5 сек, иначе локальная связка будет простаивать.