Serena

MCP MCP Servers Open Source

AI-агент для навигации и редактирования кода через MCP с семантическим анализом. Использует language server protocol для точного понимания структуры проекта.

v0.1
v1.5.3
26.05.2026 current
Добавлен 03.07.2026 · Обновлён 03.07.2026 · MCP Servers
Установка
# Установка:
uv tool install -p 3.13 serena-agent

# Claude Desktop — claude_desktop_config.json:
{
  "mcpServers": {
    "serena": {
      "command": "serena-agent",
      "args": ["/путь/к/проекту"]
    }
  }
}

# Claude Code (CLI):
claude mcp add serena -- serena-agent /путь/к/проекту

# OpenCode — ~/.config/opencode/opencode.json:
{
  "mcp": {
    "serena": {
      "type": "local",
      "command": ["serena-agent", "/путь/к/проекту"]
    }
  }
}
переведено ИИ

IDE для вашего кодирующего агента

discord license


  • Serena предоставляет основные инструменты для семантического поиска, редактирования, рефакторинга и отладки кода, аналогичные функциональности IDE, работающие на уровне символов и использующие структуру связей.
  • Она интегрируется с любым клиентом/LLM через модельный контекстный протокол (MCP).

Ориентированность Serena на агентов предполагает наличие мощных высокоуровневых абстракций, что отличает её от подходов, опирающихся на низкоуровневые концепции, такие как номера строк или примитивные поисковые шаблоны.

Практически это означает, что ваш агент работает быстрее, эффективнее и надежнее, особенно в более крупных и сложных кодовых базах.

[!IMPORTANT] Не устанавливайте Serena через маркеты плагинов или MCP! Там содержатся устаревшие и неоптимальные команды установки. Вместо этого следуйте нашим инструкциям по Быстрому старту.

Быстрая демонстрация

https://github.com/user-attachments/assets/8d11646e-b80e-4723-b9d7-32d6101b5f58

:tv: Более длинное видео: Знакомство с Serena за 5 минут (YouTube)

Что говорят наши "конечные пользователи"

Хотя Serena скачивают и устанавливают люди, наши конечные пользователи — это, по сути, AI-агенты. Как те, кто фактически применяет инструменты Serena, они лучше всего positioned для её оценки.

Мы создали непредвзятый оценивающий промпт, который побуждает агента выполнить ~20 рутинных задач по кодированию, представляющих повседневную работу разработчика, чтобы оценить добавленную стоимость инструментов Serena при использовании наряду с их собственными встроенными средствами.

Вот краткое изложение того, что сказали агенты:

Opus 4.6 (высокая оценка) в Claude Code на крупной кодовой базе Python:

"Семантические инструменты Serena с поддержкой IDE — самое значимое дополнение в моем наборе инструментов — кросс-файловые переименования, перемещения и поиск ссылок, которые потребовали бы от меня 8–12 осторожных, подверженных ошибкам шагов, сворачиваются в один атомарный вызов, и я бы absolutely попросил любого разработчика, с которым я работаю, настроить их."

GPT 5.4 (высокая оценка) в Codex CLI на кодовой базе Java:

"Как кодирующий AI-агент, я бы попросил своего владельца добавить Serena, потому что она дает мне недостающее понимание уровня IDE символов, ссылок и рефакторингов, превращая хрупкую текстовую хирургию в более спокойные, быстрые и уверенные изменения кода, где семантика имеет значение."

GPT 5.4 (средняя оценка) в Copilot CLI на крупной, многоязычной монорепозитории:

"Как кодирующий агент, я бы absolutely попросил своего владельца добавить Serena, потому что она делает меня заметно более осторожным и спокойным при работе с реальным кодом — особенно навигация с учетом символов, кросс-файловые рефакторинги и переходы по зависимостям в монорепозитории — в то время как я все еще полагаюсь на встроенные средства для мелких текстовых правок и работы, не связанной с кодом."

Различные агенты в различных условиях независимо приходят к одинаковому вердикту.

Дайте своему агенту инструменты, о которых он просил, и добавьте Serena MCP в ваш клиент!

Смотрите нашу документацию для полной методологии и более детальных результатов оценки или проведите собственную оценку в проекте по вашему выбору.

Как работает Serena

Serena предоставляет необходимые инструменты для рабочих процессов кодирования, но для выполнения фактической работы необходим LLM, оркестрирующий использование инструментов.

Serena может расширять функциональность вашего существующего AI-клиента через модельный контекстный протокол (MCP). Большинство современных AI-чат-клиентов напрямую поддерживают MCP, включая * терминальные клиенты, такие как Claude Code, Codex, OpenCode или Gemini-CLI, * IDE и плагины-ассистенты IDE для VSCode, Cursor и JetBrains IDE (Copilot, Junie, JetBrains AI Assistant и др.), * десктопные и веб-клиенты, такие как Claude Desktop, Codex App или OpenWebUI.

:tv: Смотрите также: Знакомство с Serena за 5 минут (YouTube)

Чтобы подключить сервер Serena MCP к вашему клиенту, вы можете * предоставить клиенту команду запуска, которая позволяет ему запустить сервер MCP, или * запустить сервер Serena MCP самостоятельно в HTTP-режиме и предоставить клиенту URL.

Смотрите раздел Быстрый старт ниже для информации о том, как начать.

Поддержка языков программирования и возможности семантического анализа

Serena предоставляет набор универсальных функций запросов и редактирования кода, основанных на символьном понимании кода. Обладая этими возможностями, ваш агент обнаруживает и редактирует код так же, как опытный разработчик, использующий возможности IDE. Serena может эффективно находить нужный контекст и выполнять правильные действия даже в очень крупных и сложных проектах!

Существует две альтернативные технологии, обеспечивающие эти возможности:

  • Серверы языков, реализующие протокол сервера языков (LSP) — бесплатная/open-source альтернатива, которая используется по умолчанию.
  • Плагин Serena для JetBrains, который использует мощные возможности анализа и редактирования кода вашей IDE JetBrains (платный плагин; доступна бесплатная пробная версия).

Вы можете выбрать любой из этих бэкендов в зависимости от ваших предпочтений и требований.

Серверы языков

Serena включает мощный слой абстракции для интеграции серверов языков, реализующих протокол сервера языков (LSP). Основные серверы языков обычно являются проектами с открытым исходным кодом или, по крайней мере, свободно доступны для использования.

При использовании бэкенда сервера языков Serena мы предоставляем поддержку более 40 языков программирования, включая Ada / SPARK, AL, Angular, Ansible, Bash, BSL, C#, C/C++, Clojure, Crystal, CUE, Dart, Elixir, Elm, Erlang, Fortran, F#, GDScript, GLSL, Go, Groovy, Haskell, Haxe, HLSL, HTML, Java, JavaScript, JSON, Julia, Kotlin, LaTeX, Lean 4, Lua, Luau, Markdown, MATLAB, mSL, Nix, OCaml, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Scala, SCSS / Sass / CSS, Solidity, Svelte, Swift, TOML, TypeScript, WGSL, YAML и Zig.

Плагин Serena для JetBrains

Платный плагин Serena для JetBrains (доступна бесплатная пробная версия) использует мощные возможности анализа кода вашей IDE JetBrains. Плагин естественным образом поддерживает все языки программирования и фреймворки, поддерживаемые IDE JetBrains, включая IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, RubyMine, GoLand, и, возможно, другие (хотя Rider и CLion не поддерживаются).

Смотрите нашу страницу документации для получения дополнительных подробностей и инструкций по применению плагина.

Возможности

Serena предоставляет широкий спектр инструментов для эффективного поиска, редактирования и рефакторинга кода, а также систему памяти для долгоживущих рабочих процессов агентов.

Учитывая свой широкий спектр, Serena адаптируется к вашим потребностям, предлагая многоуровневую систему конфигурации.

Подробнее

Поиск

Инструменты поиска Serena позволяют агентам исследовать кодовую базу на уровне символов, понимая структуру и связи без необходимости читать целые файлы.

Возможность Серверы языков Плагин для JetBrains
найти символ да да
обзор символов (структура файла) да да
найти ссылающиеся символы да да
поиск в зависимостях проекта -- да
иерархия типов -- да
найти объявление да* да
найти реализации да** да
запрос внешних проектов да да
диагностика/инспекции да да

: Как правило, не работает для объявлений во внешних зависимостях.
*: Доступно только для некоторых языков, ограничено функциональностью сервера языков.

Рефакторинг

Без точных инструментов рефакторинга агенты вынуждены прибегать к ненадежным и затратным операциям поиска и замены.

Возможность Языковые серверы Плагин JetBrains
переименование да (только символов) да (символы, файлы, каталоги)
перемещение (символа, файла, каталога) -- да
инлайн -- да
распространение удалений (удаление неиспользуемого кода) -- да

Символическое редактирование

Инструменты символического редактирования в Serena менее подвержены ошибкам и намного экономнее расходуют токены по сравнению с типичными альтернативами.

Возможность Языковые серверы Плагин JetBrains
замена тела символа да да
вставка после символа да да
вставка перед символом да да
безопасное удаление да да

Интерактивная отладка

Исключительная особенность плагина JetBrains: Serena поддерживает высокоуниверсальный инструмент отладки, который позволяет агенту устанавливать точки останова, проверять переменные, вычислять выражения и управлять потоком выполнения через удобный интерфейс в стиле REPL.

Основные возможности

Помимо своих семантических возможностей, Serena включает набор базовых утилит для полноты. Когда Serena используется внутри агентного каркаса, такого как Claude Code или Codex, эти инструменты обычно отключены по умолчанию, поскольку окружающий каркас уже предоставляет перекрывающиеся возможности для работы с файлами, поиска и выполнения команд в оболочке.

  • search_for_pattern – гибкий поиск по регулярному выражению в кодовой базе
  • replace_content – оптимизированная для агентов замена текста на основе регулярных выражений и литералов
  • list_dir / find_file – перечисление содержимого каталогов и поиск файлов
  • read_file – чтение файлов или их фрагментов
  • execute_shell_command – выполнение команд оболочки (например, сборки, тесты, линтеры)

Управление памятью

Система памяти является элементарной частью долгоживущих агентных рабочих процессов, особенно когда знания должны быть разделены между сессиями, пользователями и проектами. Несмотря на свою простоту, мы получили положительную обратную связь от многих пользователей, которые склонны сочетать систему управления памятью Serena с внутренней системой своего агента (например, файлы AGENTS.md). Ее можно легко отключить, если вы предпочитаете использовать что-то другое.

Настраиваемость

Активные инструменты, описания инструментов, подсказки, параметры языкового бэкенда и многие другие аспекты Serena могут быть гибко настроены в каждом конкретном случае простой корректировкой нескольких строк YAML. Для этого Serena предлагает несколько уровней (композитной) конфигурации:

  • глобальная конфигурация
  • конфигурация команды запуска MCP (CLI)
  • конфигурация для каждого проекта (с локальными переопределениями)
  • конфигурация для конкретного контекста выполнения (например, для определенных клиентов)
  • динамически композируемые фрагменты конфигурации (режимы)

Быстрый старт

Предварительные требования. Serena управляется с помощью uv, и установка uv — единственная необходимая предпосылка.

[!NOTE] При использовании бэкенда языкового сервера для поддержки определенных языков может потребоваться установка некоторых дополнительных зависимостей; подробности смотрите на странице Поддержка языков.

Установка Serena. Serena устанавливается с помощью uv следующим образом:

uv tool install -p 3.13 serena-agent

После успешной установки команда serena должна стать доступна в вашей оболочке.

Инициализация Serena. Чтобы инициализировать Serena и проверить правильность настройки, просто запустите:

serena init

По умолчанию это настроит Serena на использование бэкенда языкового сервера. Чтобы вместо этого использовать бэкенда JetBrains, добавьте параметры -b JetBrains (дополнительные сведения об использовании см. на странице документации плагина JetBrains). В любом случае вы должны получить сообщение об успешной инициализации Serena.

Настройка вашего клиента. Чтобы подключить Serena к вашему предпочтительному MCP-клиенту, вам обычно необходимо настроить команду запуска в вашем клиенте. Перейдите по ссылке для получения конкретных инструкций по настройке Serena для Claude Code, Codex, Claude Desktop, поддерживаемых MCP IDE и других клиентов (таких как локальные и веб-интерфейсы).

[!TIP] Начать быстро легко, но Serena — это мощный набор инструментов с множеством вариантов конфигурации. Мы настоятельно рекомендуем прочитать руководство пользователя, чтобы извлечь максимальную пользу из Serena.

В частности, мы рекомендуем прочитать о ... * Рабочем процессе Serena, основанном на проекте и * настройке Serena.

Руководство пользователя

Подробные инструкции по эффективному использованию Serena см. в руководстве пользователя.

Благодарности

Значительная часть Serena, особенно поддержка различных языков, была внесена сообществом открытого исходного кода. Мы очень признательны множеству контрибьюторов, которые сделали это возможным и играют важную роль в том, чтобы Serena была такой, какая она есть сегодня.

Комментарии
Войдите, чтобы оставить комментарий