MCP-инструменты

На этой странице представлен список всех инструментов, доступных агентам искусственного интеллекта на сервере MCP в Axelix Master.

В каждой записи указано название инструмента, теги аннотаций, которые он поддерживает, состояние активации, роли, которым разрешён доступ к инструменту, а также краткое описание его функций. Тот же каталог доступен в браузере на экране MCP. Эта страница является основным источником информации для операторов, которые планируют, кому и что можно разрешить.

В списке предполагается, что сервер MCP включён (axelix.master.mcp-server.enabled=true, по умолчанию). Если для этого свойства установлено значение false, сервер вообще не регистрируется, ни один из перечисленных ниже инструментов недоступен, а ссылка MCP скрыта в пользовательском интерфейсе. См. Конфигурация сервера MCP.

Состояние инструмента

Все перечисленные ниже инструменты входят в состав Master и регистрируются на сервере MCP при запуске. Для каждого инструмента нет переключателя, позволяющего включать или отключать его, — каталог фиксирован в сборке. Инструмент становится недоступным только в том случае, если отключён сам сервер MCP или не запущен основной процесс. В каталоге пользовательского интерфейса точка состояния на каждой карточке отражает текущее состояние регистрации: зелёная — если сервер зарегистрировал инструмент, красная — если в данный момент он недоступен.

Аннотационные теги инструмента

Каждый инструмент объявляет четыре логических аннотационных тега, которые сообщают MCP-клиентам, каких побочных эффектов следует ожидать. Теги ниже — это значения, которые объявляют сами инструменты Axelix, это подсказки для вызывающего агента, а не проверки авторизации, которые применяет Master.

  • только для чтения — инструмент не изменяет состояние целевого сервиса Spring Boot.
  • идемпотентный — многократный вызов инструмента с одними и теми же аргументами даёт тот же эффект, что и однократный вызов.
  • разрушительный — инструмент может удалить данные или внести изменения, которые нельзя отменить из интерфейса.
  • открытый мир — инструмент обращается за пределы Master и зарегистрированных сервисов Spring Boot.

Доступ по ролям

MCP-фильтр (McpAuthorizationFilter) аутентифицирует агента так же, как интерфейс аутентифицирует сеанс в браузере. Схемы учётных данных см. в разделе Аутентификация на MCP-сервере.

Каталог

Приведенный ниже каталог содержит актуальный набор инструментов MCP, поставляемых с Master. Мы активно разрабатываем новые инструменты, и с выходом новых версий список будет пополняться — следите за обновлениями.

Сервисы

Единственный инструмент в этой группе возвращает полный реестр Master по управляемым сервисам Spring Boot. Это отправная точка для любой задачи, начинающейся с «найди сервис по имени и получи его instanceId» — instanceId нужен каждому другому инструменту.

См. также: Панель — UI-гайд.

НазваниеИмя инструментаТегиРазрешённые ролиОписание
Список сервисовgetWallboardтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Снимок каждого управляемого сервиса: человекочитаемые имена сервисов с привязкой к instanceId, статус в реальном времени (UP/DOWN), версии Spring Boot/Java, длительность развёртывания, Git commit SHA.

Инспекция сервиса

Представления только для чтения по одному сервису Spring Boot: его Spring-бины, свойства окружения, бины @ConfigurationProperties, отчёт об автоконфигурации и зарегистрированные запланированные задачи. Каждый инструмент в этой группе принимает instanceId, полученный через getWallboard.

См. также: Бины, Окружение, Свойства конфигурации, Условия, Запланированные задачи, Профиль сервиса — UI-гайд.

НазваниеИмя инструментаТегиРазрешённые ролиОписание
Список биновgetInstanceBeansтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Перечисляет каждый Spring-бин в сервисе с его типом и зависимостями.
СвойстваgetInstanceEnvironmentтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Возвращает полное окружение: свойства приложения, системные свойства и переменные окружения — полезно для вопросов о @Value и @ConditionalOnProperty.
Бины @ConfigurationPropertiesgetInstanceConfigPropsтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Возвращает каждый бин @ConfigurationProperties в сервисе с его привязанными значениями.
@Conditional списокgetInstanceConditionsтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Отчёт об конфигурации: какие конфигурации Spring Boot и пользовательские конфигурации были применены или пропущены и причина каждого решения.
Запланированные задачиgetInstanceScheduledTasksтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Перечисляет cron, fixed-rate, fixed-delay и пользовательские задачи @Scheduled, зарегистрированные в сервисе.

Кэши

Инспекция каждого кэш менеджера и каждого кэша внутри сервиса Spring Boot, а также удаление записей — либо во всех кэшах всех кэш менеджеров сразу, либо в конкретном именованном кэше внутри выбранного кэш менеджера.

См. также: Кэши.

НазваниеИмя инструментаТегиРазрешённые ролиОписание
Список кэшейgetAllCachesтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Перечисляет каждый кэш менеджер в сервисе и кэши, которыми он владеет, вместе с флагом enabled по каждому кэшу. Отправная точка для любой задачи, связанной с кэшами — сопоставление имени и кэш менеджера, проверки статуса, разрешение неоднозначности.
Очистить все кэшиclearAllCachesтолько для чтения: false
идемпотентный: true
разрушительный: true
открытый мир: false
EDITOR
ADMIN
SUPER_ADMIN
Удаляет каждую запись из каждого кэша во всех кэш менеджерах указанного сервиса. Широкая деструктивная операция — предназначена только для явного запроса «очистить все кэши».
Очистить конкретный кэшclearSpecificCacheEntityтолько для чтения: false
идемпотентный: true
разрушительный: true
открытый мир: false
EDITOR
ADMIN
SUPER_ADMIN
Удаляет одну запись кэша, идентифицированную по имени кэша внутри конкретного кэш менеджера. Другие записи не затрагиваются.

Логгеры

Прочитать дерево логгеров сервиса Spring Boot — отдельные логгеры, группы логгеров и набор доступных уровней логирования — и менять уровни во время работы: для одного логгера, для целой группы логгеров или сбросить логгер на значение по умолчанию, заданное приложением.

См. также: Логгеры.

НазваниеИмя инструментаТегиРазрешённые ролиОписание
Доступные уровни логированияgetAvailableLoggingLevelsтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Возвращает список уровней логирования, принимаемых сервисом (например, TRACE, DEBUG, INFO, WARN, ERROR, OFF). Используется, чтобы валидировать входные данные перед сменой уровня.
Список групп логгеровgetLoggerGroupsFeedтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Перечисляет каждую настроенную группу логгеров с её членами и уровнем, который сейчас установлен на группе.
Список логгеровgetLoggersFeedтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Перечисляет каждый отдельный логгер, настроенный в сервисе, вместе с его действующим на данный момент уровнем логирования.
Найти логгерfindLoggersByNameтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Ищет один или несколько отдельных логгеров по точному или частичному имени. Возвращает сконфигурированный и действующий уровни для каждого совпадения.
Найти группу логгеровfindGroupsByNameтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Ищет одну или несколько групп логгеров по точному или частичному имени. Возвращает имя группы, уровень и членов-логгеров.
Сменить уровень логгераchangeLoggingLevelByLoggerNameтолько для чтения: false
идемпотентный: true
разрушительный: true
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Устанавливает уровень логирования у конкретного отдельного логгера. Если не уверены в имени логгера, сначала воспользуйтесь Найти логгер.
Сменить уровень логгеров группыchangeLoggingLevelByGroupNameтолько для чтения: false
идемпотентный: true
разрушительный: true
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Устанавливает уровень логирования каждому логгеру внутри группы логгеров. Если не уверены в имени группы, сначала воспользуйтесь Найти группу логгеров.
Сбросить уровень логгераresetLoggingLevelByLoggerNameтолько для чтения: false
идемпотентный: true
разрушительный: true
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Сбрасывает уровень отдельного логгера на значение по умолчанию, объявленное в конфигурации приложения. Сброс на уровне группы недоступен.

Инсайты по персистентности

Проблемы персистентности, обнаруженные Axelix в слое доступа к данным приложения. В отличие от всех инструментов выше, они идентифицируются по координатам сборки приложения — groupId и artifactId (G и A из координаты GAV), оба из которых обязательны, — а не по instanceId, и читают данные из записанного снимка приложения, а не опрашивают живой сервис.

См. также: Мониторинг транзакций.

НазваниеИмя инструментаТегиРазрешённые ролиОписание
Профиль транзакцийgetApplicationTransactionsProfileтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Проблемы N+1 ленивой загрузки и in-memory pagination, обнаруженные внутри транзакционных методов приложения (@Transactional, TransactionTemplate и т. д.). При необходимости можно сузить до одного класса (className) или одного метода (className + methodName).
Профиль сущностейgetApplicationEntitiesProfileтолько для чтения: true
идемпотентный: true
разрушительный: false
открытый мир: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
JPA-сущности, которые Axelix сопоставил в приложении, и проблемы маппинга ассоциаций, обнаруженные в каждой из них (eager-загрузка, @ManyToMany на основе списка, cascade REMOVE/ALL, однонаправленный @OneToMany). При необходимости можно сузить до одной сущности через entityName.

См. также

На этой странице