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.
| Title | Tool name | Tags | Allowed roles | Description |
|---|---|---|---|---|
| Instances Feed | getWallboard | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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.
| Title | Tool name | Tags | Allowed roles | Description |
|---|---|---|---|---|
| Beans Feed | getInstanceBeans | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Lists every Spring bean in the instance with its type and dependencies. |
| Properties | getInstanceEnvironment | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Returns the full environment: application properties, system properties, and environment variables — useful for @Value and @ConditionalOnProperty questions. |
| Config Props Beans | getInstanceConfigProps | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Returns every @ConfigurationProperties bean in the instance with its bound values. |
@Conditional Feed | getInstanceConditions | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | The configuration report: which Spring Boot and custom configurations were applied or skipped and the reason for each decision. |
| Scheduled Tasks | getInstanceScheduledTasks | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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.
| Title | Tool name | Tags | Allowed roles | Description |
|---|---|---|---|---|
| Caches Feed | getAllCaches | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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 Cache | clearAllCaches | read-only: false idempotent: true destructive: true open-world: false | EDITORADMINSUPER_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 Cache | clearSpecificCacheEntity | read-only: false idempotent: true destructive: true open-world: false | EDITORADMINSUPER_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.
| Title | Tool name | Tags | Allowed roles | Description |
|---|---|---|---|---|
| Available Logging Levels | getAvailableLoggingLevels | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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 Feed | getLoggerGroupsFeed | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Lists every configured logger group with its members and the level currently set on the group. |
| Loggers Feed | getLoggersFeed | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Lists every individual logger configured in the instance together with its currently effective logging level. |
| Find Logger | findLoggersByName | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Looks up one or more individual loggers by exact or partial name. Returns the configured and effective levels for each match. |
| Find Loggers Group | findGroupsByName | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Looks up one or more logger groups by exact or partial name. Returns each group's name, level, and member loggers. |
| Change Logger Level | changeLoggingLevelByLoggerName | read-only: false idempotent: true destructive: true open-world: false | VIEWEREDITORADMINSUPER_ADMIN | Sets the logging level of a specific individual logger. Use Find Logger first if the logger name is uncertain. |
| Change Group Loggers Level | changeLoggingLevelByGroupName | read-only: false idempotent: true destructive: true open-world: false | VIEWEREDITORADMINSUPER_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 Level | resetLoggingLevelByLoggerName | read-only: false idempotent: true destructive: true open-world: false | VIEWEREDITORADMINSUPER_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.
| Title | Tool name | Tags | Allowed roles | Description |
|---|---|---|---|---|
| Transactions Profile | getApplicationTransactionsProfile | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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 Profile | getApplicationEntitiesProfile | read-only: true idempotent: true destructive: false open-world: false | VIEWEREDITORADMINSUPER_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. |
Related
- MCP catalog screen — the read-only browser view of the same catalog, with per-tool status dots and the annotation popover.
- MCP server authentication — how MCP credentials are
accepted (
Basic,Bearer) and how the identity is mapped to a role. - Roles and authorities — what each authority gates and which built-in role carries it.
- MCP server configuration — the
axelix.master.mcp-server.*property keys.