Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает поддержку MCP Server plugin. Мы добавили “тулы”, облегчающие Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает поддержку MCP Server plugin. Мы добавили “тулы”, облегчающие

Explyt Spring. Tools for MCP Server plugin

2026/02/06 16:06
5м. чтение

Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает поддержку MCP Server plugin. Мы добавили “тулы”, облегчающие работу со Spring проектами для LLM. Ранее у нас уже была статья, в которой мы рассказывали об интеграции с Explyt AI плагином. Это были простые промпты для генерации: DTO, Entity, SQL скриптов и прочего. Несмотря на свою простоту, они добавляли в промпт необходимую информацию для выполнения конкретного действия: необходимый файл, тип БД - который подключен к проекту, библиотека для работы с Entity - javax или jakarta и прочее. Теперь пришло время добавить полноценные агентские Spring "тулы" для LLM, чтобы более точно понимать контекст Spring приложения.

MCP Server Plugin

Начиная с версии 2025.2, IDEA имеет встроенный bundled плагин MCP Server, который есть также в Community Edition и OpenIDE в аналогичной версии и имеет открытый исходный код. А это значит, что вся основная работа уже сделана и уже есть вся необходимая инфраструктура: готовый сервис – доступный по URL и базовый набор “тулов” от JetBrains. Данные "тулы" реализованы с учетом код-модели IDEA и используют ее базовые функции для рефакторинга, поиска элементов в коде и прочее. Благодаря этому “рефакторинги” которые вызывает LLM, через JetBrains тулы, выполняются максимально точно, так как будто вы вызвали этот функционал руками из IDEA.

d6e3c7f32b46d0b3e02e602c8952eddf.png

И нам нужно всего лишь реализовать определенную точку расширения плагина MCP Server, чтобы добавить туда свой “тул”. Далее подключаем данный MCP Server к любому AI плагину для IDEA, который поддерживает данный функционал – работу с LLM в агентском режиме. Так мы сможем использовать все тулы, которые там реализованы.

Создаем свой тул

Для того чтобы создать свой инструмент, нужно реализовать точку расширения McpToolset и добавить ее реализацию в plugin.xml.

Вот так будет выглядеть простейший набор тулов:

class TestToolset : McpToolset { @McpTool("my_best_tool1") @McpDescription(description = "My first tool") fun myBestTool1( @McpDescription("Path to the project root") projectPath: String ): String { return "I am best tool from $projectPath" } @McpTool("my_best_tool2") @McpDescription(description = "My second tool") fun myBestTool2( @McpDescription("Arg1") arg1: String, @McpDescription("Arg2") arg2: Int, ): String { return "I am tool with params $arg1 & $arg2" } }

Мы создали класс, в котором описываем тулы.

  • Аннотация McpTool задает имя тула. Если не указывать значение, то по дефолту будет имя метода.

  • Аннотация McpDescription задает описание тула и его параметров. Это самая важная часть, от которой зависит, когда LLM будет вызывать тул и с какими параметрами. Надо написать их так, чтобы она смогла понять, что вы от нее хотите.

  • Результат можно вернуть в виде строки, примитивного типа или объекта, который можно сериализовать в JSON. По умолчанию, MCP Server плагин использует Kotlin Serialization.

Explyt Spring Tools

У себя в плагине мы реализовали следующий тулы для Spring Boot приложений:

  • explyt_get_spring_boot_applications – возвращает все рутовые точки для всех Spring Boot проектов в текущей рабочей области пользователя. Также добавляет в ответ версию Spring Boot и список подключенных Spring Boot Starters, тип билд системы и пр.

  • explyt_get_project_beans_by_spring_boot_application для конкретного Spring Boot приложения возвращает список всех “бинов” проекта. Для того что экономить токены, мы отдаем не все “бины” сразу, а есть второй аргумент - тип “бина” который мы хотим получить: Repository, Controller, Aspect и прочее.

Давайте посмотрим и проверим как это работает. Мы будем использовать Explyt плагин для работы с LLM, он поддерживает агентский режим, подключение внешних MCP серверов и предоставляет все необходимые возможности для работы с кодом:

Подключение MCP сервера
Подключение MCP сервера

Вот так подключаем bundled MCP Server к Explyt плагину – все готово. Далее идем проверять, что получилось. Спросим у модели про наличие Spring Boot проектов и контроллеров в нем:

0525d9b596932f3e5b4721f937350cb6.png

Видно, что были использованы только наши тулы, которые мы только что создали. Теперь давайте выключим их (Explyt плагин предоставляет такую возможность) и попробуем снова такие же запросы, но с дефолтными “тулами” без Spring:

966bc0dc0dbd99c34b4483cecb5f0ea2.png

Видно что был использован гораздо больший набор тулов, а значит модель “съела” больше токенов и выполнила гораздо больше действий, чтобы просканировать и проанализировать файлы в проекте, что также увеличивает вероятность ошибки. Поиск “бинов” и поддержка Dependency Injection – это сильная сторона Explyt Spring плагина, что позволяет нам в подобных случаях обеспечивать большую точность при меньших затратах: как по времени, так и по токенам. Данные тулы могут помочь при разработке Spring Boot приложения, чтобы LLM лучше понимала контекст приложения, с меньшими затратами ресурсов - когда потребуется доработать проект под различные запросы пользователя.

Заключение

Мы верим, что AI-ассистенты — это не замена разработчику, а мощный инструмент, который берет на себя самую скучную и повторяющуюся работу, освобождая наше время для архитектуры, оптимизации и решения сложных задач. Надеемся, что наши MCP “тулы” для Spring помогут вам в ежедневной работе. Функциональность доступна начиная с версии IDEA 2025.2 и только для Spring Boot проектов.

А с какими еще рутинными задачами в Spring вы сталкиваетесь ежедневно? Что вы бы хотели автоматизировать в первую очередь? Будем рады обсудить в комментариях!

Приглашаем вас попробовать наш плагин, а также делиться своими отзывами и предложениями. Ваша обратная связь поможет нам сделать инструмент более полезным и удобным. Для багрепортов и фичриквестов — GitHub Issues и Telegram-чат с командой Explyt Spring плагина. Также напоминаем, что Spring плагин имеет открытый исходный код, который доступен на GitHub.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.