На проекте apache/superset объемом около 400 тысяч строк кода на Python и TypeScript были протестированы четыре MCP-сервера для Claude Code: filesystem (grep + read), graphlens (структурный граф), serena (LSP) и codegraph (конкурентный графовый продукт). За 936 прогонов с тремя моделями (Haiku, Sonnet, Opus) и 26 задачами измерялись точность, процент завершения и стоимость в токенах.
Методология эксперимента строилась на принципе единственной переменной: все параметры, кроме MCP-сервера, были зафиксированы. Встроенные инструменты Claude Code (Read, Grep, Bash) отключались, чтобы агент не мог их использовать вместо тестируемого сервера. Каждая задача выполнялась с тремя разными сидами для статистической достоверности.
| Рука | Провайдер контекста (MCP-сервер) | Шаг индексации |
|---|---|---|
| filesystem | @modelcontextprotocol/server-filesystem (read_file + grep) | нет |
| graphlens | граф graphlens поверх MCP | graphlens analyze |
| serena | Serena (LSP) | прогрев LSP-воркспейса |
| codegraph | конкурент на графах | codegraph init |
Результаты показали, что на простых задачах (например, «где определен X» или «от чего наследуется Y») все четыре инструмента демонстрируют одинаковую точность около 1.0. Разница наблюдается только в стоимости: grep обходится примерно в три раза дешевле графа или LSP. Однако на сложных задачах — оценка радиуса поражения, поиск всех переопределений, разрешение неоднозначных имен — grep резко теряет эффективность: точность падает до 0.71, до финиша доходит лишь 83% прогонов, а стоимость выросших прогонов увеличивается в 10–23 раза. Структурные инструменты и LSP сохраняют стабильную точность и низкую стоимость.
На задачах оценки влияния изменений и разрешения неоднозначных имен grep показал точность 0.71 и завершил лишь 83% прогонов, а стоимость выросла в 10–23 раза.
Автор отмечает, что если бы он мерил только простые задачи, вывод был бы «grep справляется, граф не нужен». Если бы только сложные — «grep не нужен, берите граф». Реальность лежит посередине: оптимальный инструмент зависит от того, какую работу вы поручаете агенту. Для повседневных запросов grep остаётся экономичным, для глубокого анализа кода структурные решения предпочтительнее.


