MCP Tools

This page is the reference list of every tool the bundled MCP server in Axelix Master exposes to AI agents.

Each entry covers the tool's name, the annotation tags it advertises, the activation state, the roles allowed to invoke it, and a one-line description of what the tool does. The same catalog is visible in the browser on the MCP screen, this page is the source-of-truth listing for operators planning who should be allowed to call what.

The list assumes the MCP server is enabled (axelix.master.mcp-server.enabled=true, the default). When the property is set to false the server is not registered at all, none of the tools below are reachable, and the MCP link is hidden from the UI. See MCP server configuration.

Tool state

All tools listed below are bundled with Master and are registered with the MCP server on startup. There is no per-tool enable/disable switch — the catalog is fixed by the build. A tool becomes unreachable only when the MCP server itself is disabled or when the master process is not running. In the UI catalog the status dot on each card reflects this live registration state: green when the server has registered the tool, red when it is currently unavailable.

Tool tags

Every tool declares four boolean annotation tags that tell MCP clients what kind of side effects to expect. The tags below are the values Axelix's tools claim — they are hints for the calling agent, not authorization checks enforced by Master.

  • read-only — the tool does not change any state in the target Spring Boot instance.
  • idempotent — calling the tool more than once with the same arguments has the same effect as calling it once.
  • destructive — the tool may delete data or apply changes that cannot be undone from the UI.
  • open-world — the tool reaches outside Master and the registered Spring Boot instances.

Role gating

The MCP filter (McpAuthorizationFilter) authenticates the agent the same way the UI authenticates a browser session — see MCP server authentication for the credential schemes.

Catalog

The catalog below is the current set of MCP tools shipped with Master. More tools are actively being developed and the list will grow with future releases — expect new entries to appear here.

Instances

The single tool in this group returns Master's full registry of managed Spring Boot instances. It is the entry point for any task that starts from "find the service by name and get its instanceId" — every other tool needs that instanceId.

Related: Wallboard UI guide.

TitleTool nameTagsAllowed rolesDescription
Instances FeedgetWallboardread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Snapshot of every managed instance: human-readable service names mapped to instanceId, real-time status (UP/DOWN), Spring Boot/Java versions, deployment duration, Git commit SHA.

Instance introspection

Read-only views of a single Spring Boot instance: its Spring beans, environment properties, @ConfigurationProperties beans, auto-configuration report, and registered scheduled tasks. Every tool in this group takes an instanceId resolved via getWallboard.

Related: Beans, Environment Properties, Configuration Properties, Conditions, Scheduled Tasks, Service profile UI guide.

TitleTool nameTagsAllowed rolesDescription
Beans FeedgetInstanceBeansread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Lists every Spring bean in the instance with its type and dependencies.
PropertiesgetInstanceEnvironmentread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Returns the full environment: application properties, system properties, and environment variables — useful for @Value and @ConditionalOnProperty questions.
Config Props BeansgetInstanceConfigPropsread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Returns every @ConfigurationProperties bean in the instance with its bound values.
@Conditional FeedgetInstanceConditionsread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
The configuration report: which Spring Boot and custom configurations were applied or skipped and the reason for each decision.
Scheduled TasksgetInstanceScheduledTasksread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Lists @Scheduled cron, fixed-rate, fixed-delay, and custom tasks registered in the instance.

Caches

Inspect every cache manager and cache inside a Spring Boot instance, and evict entries — either all caches across all cache managers at once, or a specific named cache within a chosen cache manager.

Related: Caches feature.

TitleTool nameTagsAllowed rolesDescription
Caches FeedgetAllCachesread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Lists every cache manager in the instance and the caches each one owns, together with the per-cache enabled flag. Starting point for any cache-related task — name-to-manager mapping, status checks, ambiguity resolution.
Clear All CacheclearAllCachesread-only: false
idempotent: true
destructive: true
open-world: false
EDITOR
ADMIN
SUPER_ADMIN
Evicts every entry from every cache in every cache manager for the given instance. Broad destructive operation — meant only for the explicit "clear all caches" request.
Clear Specific CacheclearSpecificCacheEntityread-only: false
idempotent: true
destructive: true
open-world: false
EDITOR
ADMIN
SUPER_ADMIN
Evicts a single cache entry identified by cache name within a specific cache manager. Other entries are left untouched.

Loggers

Read the logger tree of a Spring Boot instance — individual loggers, logger groups, and the set of available log levels — and change levels at runtime: for a single logger, for an entire logger group, or reset a logger to its application-defined default.

Related: Loggers feature.

TitleTool nameTagsAllowed rolesDescription
Available Logging LevelsgetAvailableLoggingLevelsread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Returns the list of logging levels accepted by the instance (e.g. TRACE, DEBUG, INFO, WARN, ERROR, OFF). Used to validate inputs before changing a level.
Logger Groups FeedgetLoggerGroupsFeedread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Lists every configured logger group with its members and the level currently set on the group.
Loggers FeedgetLoggersFeedread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Lists every individual logger configured in the instance together with its currently effective logging level.
Find LoggerfindLoggersByNameread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Looks up one or more individual loggers by exact or partial name. Returns the configured and effective levels for each match.
Find Loggers GroupfindGroupsByNameread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Looks up one or more logger groups by exact or partial name. Returns each group's name, level, and member loggers.
Change Logger LevelchangeLoggingLevelByLoggerNameread-only: false
idempotent: true
destructive: true
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Sets the logging level of a specific individual logger. Use Find Logger first if the logger name is uncertain.
Change Group Loggers LevelchangeLoggingLevelByGroupNameread-only: false
idempotent: true
destructive: true
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Sets the logging level of every logger inside a logger group. Use Find Loggers Group first if the group name is uncertain.
Reset Loggers LevelresetLoggingLevelByLoggerNameread-only: false
idempotent: true
destructive: true
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
Resets an individual logger's level to the default declared in the application configuration. Group-level reset is not available.

Persistence insights

Persistence problems Axelix detected in an application's data-access layer. Unlike every tool above, these are keyed by the application's build coordinates — groupId and artifactId (the G and A of the GAV coordinate), which are both required — rather than by an instanceId, and they read from the recorded application snapshot instead of probing a live instance.

Related: Transaction Control.

TitleTool nameTagsAllowed rolesDescription
Transactions ProfilegetApplicationTransactionsProfileread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
The N+1 lazy-loading and in-memory pagination problems detected inside the application's transactional methods (@Transactional, TransactionTemplate, etc.). Optionally narrowed to a single class (className) or a single method (className + methodName).
Entities ProfilegetApplicationEntitiesProfileread-only: true
idempotent: true
destructive: false
open-world: false
VIEWER
EDITOR
ADMIN
SUPER_ADMIN
The JPA entities Axelix mapped in the application and the association-mapping problems detected in each (eager fetching, list-backed @ManyToMany, cascade REMOVE/ALL, unidirectional @OneToMany). Optionally narrowed to a single entity via entityName.

On this page