Serena
oraios/serenaSerena — MCP-инструментарий для AI-агентов, предоставляющий семантический поиск, редактирование и рефакторинг кода на уровне символов. Интегрируется с Claude Code, Codex, Copilot и другими клиентами. Поддерживает LSP и JetBrains-плагин.
Подключение
git clone https://github.com/oraios/serena.gitREADME
- Serena предоставляет ключевые инструменты семантического поиска, редактирования и рефакторинга кода, аналогичные возможностям IDE: работа на уровне символов с использованием реляционной структуры.
- Интегрируется с любым клиентом/LLM через model context protocol (MCP).
Дизайн инструментов Serena ориентирован на агентов: надёжные высокоуровневые абстракции отличают её от подходов, опирающихся на низкоуровневые концепции вроде номеров строк или примитивных паттернов поиска.
На практике это означает, что ваш агент работает быстрее, эффективнее и надёжнее — особенно в крупных и сложных кодовых базах.
[!IMPORTANT] Не устанавливайте Serena через маркетплейсы MCP или плагинов! Там содержатся устаревшие и неоптимальные команды установки. Используйте инструкции из раздела Quick Start.
Быстрая демонстрация
https://github.com/user-attachments/assets/8d11646e-b80e-4723-b9d7-32d6101b5f58
:tv: Расширенное видео: Введение в Serena за 5 минут (YouTube)
Что говорят наши «конечные пользователи»
Хотя Serena скачивают и настраивают люди, её конечными пользователями фактически являются AI-агенты. Именно они применяют инструменты Serena и лучше всего могут оценить её ценность.
Мы разработали непредвзятый промпт для оценки, в рамках которого агент выполняет ~20 типовых задач разработки, репрезентативных для повседневной работы, — чтобы оценить прирост от инструментов Serena по сравнению со встроенными возможностями агента.
Вот краткое резюме от каждого агента:
Opus 4.6 (high) в Claude Code на большой Python-кодовой базе:
«Семантические инструменты Serena с поддержкой IDE — это самое значимое дополнение к моему набору инструментов: переименования, перемещения и поиск ссылок между файлами, которые стоили бы мне 8–12 осторожных, чреватых ошибками шагов, сворачиваются в один атомарный вызов, и я бы обязательно попросил любого разработчика, с которым работаю, их настроить.»
GPT 5.4 (high) в Codex CLI на Java-кодовой базе:
«Как AI-агент по написанию кода, я бы попросил своего владельца добавить Serena, потому что она даёт мне недостающее IDE-понимание символов, ссылок и рефакторингов, превращая хрупкую текстовую хирургию в более спокойные, быстрые и уверенные изменения кода, где важна семантика.»
GPT 5.4 (medium) в Copilot CLI на большом мультиязычном монорепозитории:
«Как агент по написанию кода, я бы однозначно попросил своего владельца добавить Serena, потому что она делает меня заметно точнее и спокойнее при работе с реальным кодом — особенно при навигации по символам, рефакторинге между файлами и переходах по зависимостям в монорепозитории, — при этом я по-прежнему опираюсь на встроенные инструменты для небольших правок текста и работы вне кода.»
Разные агенты в разных условиях независимо приходят к одному и тому же выводу.
Дайте своему агенту инструменты, которых он просит, — добавьте Serena MCP в ваш клиент!
Полная методология и подробные результаты оценки — в документации. Вы также можете провести собственную оценку на любом проекте.
Как работает Serena
Serena предоставляет необходимые инструменты для рабочих процессов разработки, однако фактическую работу выполняет LLM, оркестрируя вызовы инструментов.
Serena расширяет функциональность вашего существующего AI-клиента через model context protocol (MCP). Большинство современных AI-клиентов напрямую поддерживают MCP, в том числе:
- терминальные клиенты: Claude Code, Codex, OpenCode, Gemini-CLI;
- IDE и плагины-ассистенты для VSCode, Cursor и JetBrains IDE (Copilot, Junie, JetBrains AI Assistant и др.);
- десктопные и веб-клиенты: Claude Desktop, Codex App, OpenWebUI.
:tv: См. также: Введение в Serena за 5 минут (YouTube)
Чтобы подключить MCP-сервер Serena к клиенту, нужно либо:
- передать клиенту команду запуска, позволяющую ему самостоятельно стартовать MCP-сервер,
- либо запустить MCP-сервер Serena в режиме HTTP и передать клиенту URL.
Подробности — в разделе Quick Start.
Поддержка языков программирования и возможности семантического анализа
Serena предоставляет универсальный набор функций запроса и редактирования кода на основе символьного понимания. Оснащённый этими возможностями, агент находит и редактирует код так же, как опытный разработчик, использующий IDE. Serena эффективно находит нужный контекст и выполняет правильные действия даже в очень крупных и сложных проектах!
Возможности обеспечиваются двумя альтернативными технологиями:
- Языковые серверы, реализующие language server protocol (LSP) — бесплатная альтернатива с открытым исходным кодом, используемая по умолчанию.
- Плагин Serena для JetBrains, использующий мощные возможности анализа и редактирования кода вашей JetBrains IDE (платный плагин; доступна бесплатная пробная версия).
Вы можете выбрать любой из этих бэкендов в зависимости от ваших предпочтений и требований.
Языковые серверы
Serena включает мощный уровень абстракции для интеграции языковых серверов, реализующих language server protocol (LSP). Используемые языковые серверы, как правило, являются проектами с открытым исходным кодом или как минимум свободно доступны для использования.