6.1.25
2026-09-29Summary
New features
- Disable the chat endpoint entirely
- Use tools from other MCP Servers
- Auto-Explain results stay available in chat
- Tool capabilities for the assistant
- New tools to manage calculated members from chat
Improvements
- Guardrails against runaway AI conversations
- Visualize This and Auto-Explain now version independently
New features
Turn Visualize This off entirely
Visualize This can now be switched off entirely, withatoti.ai.chat.enabled=false in the Atoti Java SDK or AiConfig.chat_enabled in the Atoti Python SDK. No chat endpoint is registered, so every call answers 404 and Atoti UI reports chat as absent. This differs from leaving the chat assistant on without an LLM configured, which keeps the endpoints registered and refuses each call. Auto-Explain and the MCP Server are not affected.
See Configure Visualize This.
Use tools from other MCP Servers
An instance of the Atoti MCP Server can now connect out to other MCP Servers, typically other Atoti Server instances in the same deployment. It then uses their tools as its own, both in chat and on its own MCP endpoint. A connection is declared underspring.ai.mcp.client.streamable-http.connections.<name>, with an authentication key that selects how it authenticates as the calling user. This requires the Atoti Intelligence Extension tier and the Streamable HTTP transport, since the older server-sent events transport is deprecated for this purpose.
In the Atoti Python SDK, AiConfig.mcp takes an HttpMcpServerConfig for a remote server over HTTP, or a StdioMcpServerConfig for a local process.
See Connect to other MCP Servers in Python.
Auto-Explain results stay available in chat
The chat assistant can now display the interactive Auto-Explain page of an analysis it ran, alongside the summary it already returned. This requires Atoti UI 5.2.28 or higher. An analysis that already ran can be listed, displayed again, or dropped from the conversation, instead of being run a second time. How many analyses stay retrievable, and for how long, are set withatoti.ai.autoexplain.results.maximum-size and atoti.ai.autoexplain.results.time-to-live. The Atoti Python SDK exposes the same settings as AiConfig.auto_explain_retained_run_count and AiConfig.auto_explain_run_lifetime.
See Configure Auto-Explain.
Tool capabilities for the assistant
AI server tool calls are now gated by aread or write capability. atoti.ai.tools.default-mode sets the default capability for every tool, and atoti.ai.tools.capabilities overrides it per tool. This lets an administrator keep the assistant read-only, or open specific tools to writes.
See Tool capabilities.
New tools to manage calculated members from chat
The assistant can now create, update, or delete a calculated member through three new tools:createCalculatedMember, updateCalculatedMember, and deleteCalculatedMember. Each one requires the write capability described above, the atoti.ai.tools.experimental switch, and its own entry in the atoti.ai.tools.extra-tools list. All three stay off by default.
A fourth tool, retrieveOneCalculatedMember, returns the full definition of one calculated member on a cube.
See Tool capabilities for how to enable these tools.
Improvements
Guardrails against runaway AI conversations
Five new properties guard a chat prompt against spinning indefinitely:atoti.ai.prompt-timeoutbounds the whole prompt, including every tool call and provider retry. It defaults to 5 minutes. Past it, the run is abandoned and reports a timeout.atoti.ai.max-retry-attemptsbounds how many times the LLM provider retries one request. It defaults to 1, counting the first attempt.atoti.ai.max-consecutive-identical-tool-callsstops the model after N rounds in a row asking for the same tool with the same arguments. It defaults to 5.atoti.ai.max-tool-errorsstops further tool calls after N have failed within one prompt, retries included. It defaults to 5.atoti.ai.max-consecutive-refused-roundsends the run after N rounds in a row that used no tool at all. It defaults to 3.
AiConfig.
See Retries and timeouts.
Visualize This and Auto-Explain now version independently
Visualize This and Auto-Explain each now have their own REST namespace:activeviam/ai/chat for Visualize This, and activeviam/ai/autoexplain for Auto-Explain. Both are advertised on the /versions endpoint, and their payloads are unchanged from the endpoints they replace.
The combined activeviam/ai namespace that served both features is deprecated in favor of the two namespaces above, but keeps answering exactly as before. Existing applications and Atoti UI need no change.
See the migration notes.
6.1.24
2026-08-13Summary
Improvements
Fixes
- Clearer reporting when the license does not enable AI
- MCP Server stays off without the Atoti Intelligence SDK tier
- Reverse proxies no longer buffer the chat event stream
Improvements
Opt out of dynamic tool discovery
Version 6.1.23 made Visualize This discover its tools on demand rather than sending the whole tool set to the model at the start of a conversation. Dynamic tool discovery remains the default, but it can now be turned off when a deployment prefers the previous behaviour, for example to compare answer quality or to work around a model that handles the search tool poorly. Setspring.ai.chat.client.tool-search-advisor.enabled=false in Java, or AiConfig.dynamic_tool_discovery in the Atoti
Python SDK. See Configure Visualize This.
Fixes
Clearer reporting when the license does not enable AI
A license that does not enable the AI components is now reported at startup. When an Atoti AI module is on the classpath but the license misses theai-essentials component, a warning explains that the /activeviam/ai REST service is not
registered. This previously surfaced only in Atoti UI, as “Unable to find the AI service on any of the servers”, with
nothing in the server logs to explain it. The ai-extension component is reported the same way when the MCP Server
starter is present.
MCP Server stays off without the Atoti Intelligence SDK tier
A license without theai-extension component now keeps the MCP Server off even when the application sets
spring.ai.mcp.server.enabled=true. The tier check is applied at the highest property precedence, so it can no longer
be overridden from application.yml, an environment variable or a command-line argument. A license enabling
ai-extension without ai-essentials no longer starts the MCP Server either, as the Atoti Intelligence SDK offer
builds on Atoti Intelligence Essentials.
Reverse proxies no longer buffer the chat event stream
AG-UI streaming responses now carryX-Accel-Buffering: no and Cache-Control: no-cache, no-transform so that reverse
proxies do not buffer or compress the event stream. A buffering proxy delivered the tool-call events to the browser only
at the end of the run, so client tools always hit the server-side timeout. Client tool timeouts, stale tool results and
retried chat prompts are now logged.
See Monitoring.
6.1.23
2026-07-09Summary
Improvements
- Auto-Explain configuration from the Atoti Python SDK
- Visualize This configuration from the Atoti Python SDK
- Root-cause analysis without an LLM
- More efficient tool selection in Visualize This
Fixes
Improvements
Auto-Explain configuration from the Atoti Python SDK
Auto-Explain can now be configured directly from the Atoti Python SDK.Cube.auto_explain exposes the tuning
constants: drill-down depth, contribution and variation thresholds, and entropy and member limits. Hierarchies can
also be included in or excluded from the analysis, both overall and for individual measures.
See Set up Auto-Explain in Python.
Visualize This configuration from the Atoti Python SDK
The chat assistant can now be configured directly from the Atoti Python SDK.Session.chat exposes the chat
configuration, including the ability to read and customize the system prompt.
See Set up Visualize This in Python.
Root-cause analysis without an LLM
Auto-Explain’s root-cause members, contribution percentages, and contribution tables are now always available without any AI provider configured. An LLM is only needed to generate the optional AI summary. See Set up Auto-Explain in Python.More efficient tool selection in Visualize This
Visualize This now discovers the tools it needs on demand instead of loading the full tool set at the start of a conversation. This reduces token consumption and improves how the assistant selects the right tool for a request.Fixes
Chat filters now include their members
Filters added by the assistant during a conversation now reliably resolve their members in the cube. Previously, some filters could be added without members, which prevented them from taking effect.6.1.22
2026-06-18 No changes were made since the last release.6.1.21
2026-06-17 No changes were made since the last release.6.1.20
2026-05-29Summary
New features
Improvements
- Observability for Auto-Explain and Visualize This
- Richer AI cube descriptions
- Spring AI upgraded to 1.1.6
- Atoti starts without an AI license
- AI configuration from the Atoti Python SDK
New features
Customizable AI disclaimer
LLM-generated content can be inaccurate. To help organizations meet compliance and end-user transparency requirements, Atoti Intelligence now returns a disclaimer with every AI response, displayed in the UI alongside the answer. A default disclaimer is used when none is configured, and the text can be tailored per deployment. See Set up a custom disclaimer in Java or in Python.MCP credentials page
A new page bundled withstarter-ai-mcp-server lets users sign in to Atoti and mint an OAuth token to connect their MCP
client (Claude Desktop, Postman, etc.) to the Atoti MCP Server. The page streamlines onboarding by replacing manual
token generation steps with a guided flow.
See MCP credentials page.
Auto-Explain available from Visualize This
Auto-Explain is now exposed as a Spring AI tool that Visualize This can invoke during a chat conversation. Users can ask the assistant to explain a variation or contribution from within the same chat, without switching to a separate Auto-Explain view. See How to set up Visualize This in Java or in Python.Improvements
Observability for Auto-Explain and Visualize This
Both Auto-Explain and Visualize This now emit OpenTelemetry spans and metrics covering the full request lifecycle — request handling, recursive analysis, summary generation, conversation lifecycle, prompt execution and tool invocations. This makes it possible to monitor performance, debug failures and understand cost in production. See Monitoring.Richer AI cube descriptions
Cube descriptions sent to the LLM in Visualize This now include XMLA properties and nest dimension, hierarchy and level descriptions under their parent. The model receives a structured, more accurate picture of the cube, which improves the quality of its responses to discovery and analytical questions. See How to configure Visualize This.Spring AI upgraded to 1.1.6
Atoti Intelligence now depends on Spring AI 1.1.6 (up from 1.1.2), picking up upstream bug fixes and chat-model improvements. See Compatibility.Atoti starts without an AI license
When an application is started with a license that does not include the AI feature, Atoti now logs an informational message and continues startup instead of throwing. Non-AI features remain available, making the AI starters safe to include in applications regardless of license content.AI configuration from the Atoti Python SDK
SessionConfig in the Atoti Python SDK now handles AI properties, so AI connection and chat options can be configured
directly from Python alongside the rest of the session configuration.