MCP Apps
Experimental Feature
MCP Apps support is currently experimental. The supported visualization types, setup, and behavior may change in future releases.
MCP Apps lets supported MCP clients render GoodData visualizations directly inside an AI conversation instead of returning only a text description of the result.
In the current experimental version, GoodData supports a visualization-focused MCP App. When an MCP client calls the GoodData visualization tool, GoodData can return both the visualization definition and the data needed to render it. The client then displays the visualization in a sandboxed embedded view.
This lets you keep the governed metrics, semantic definitions, and data access rules provided by GoodData while viewing analytical results directly in an MCP-compatible AI client.
Current Experimental Scope
The current milestone supports rendering visualizations returned by the GoodData visualization tool.
The experimental renderer supports:
- bar charts
- column charts
- line charts
- pie charts
- scatter plots
- headline visualizations
- tables
Charts are rendered with GoodData visualization components. Tables use a lightweight HTML renderer.
How It Works
When the MCP Apps feature is enabled, the GoodData MCP server exposes the visualization tool with an associated MCP App UI resource.
A typical request works as follows:
- You ask the AI client to create a visualization from GoodData data.
- The GoodData visualization tool creates a visualization definition.
- GoodData executes the definition and includes the resulting rows with the tool response.
- The MCP client loads the GoodData visualization UI in a sandboxed embedded view.
- The visualization is rendered directly from the data included in the tool result.
The embedded visualization does not need to call the GoodData REST API or receive a GoodData API token. It renders from the data already returned by the MCP tool.
Data Access
Rendering a visualization requires GoodData to execute the generated visualization definition and return its data with the MCP tool result.
The workspace must allow AI data sharing for this execution to take place. If data sharing is not allowed, GoodData does not attach the data required by the MCP App renderer.
The visualization uses the same GoodData execution path and governed semantic layer as other analytical queries, so the result remains subject to the user’s existing access permissions.
Security Model
The visualization runs in a sandboxed embedded view provided by the MCP client.
The current implementation does not inject GoodData credentials into the embedded application and does not require the application to make network requests back to GoodData. This keeps reusable GoodData credentials out of the rendered MCP App and its stored conversation history.
Current Limitations
The following limitations apply to the current experimental version:
- Only visualization rendering is included.
- The rendered visualization is based on data returned with the original MCP tool result; it does not establish a live connection from the embedded application to GoodData.
- Conversationally modifying the rendered visualization is not supported.
- Saving a rendered visualization to a GoodData dashboard is not included.
- Other planned MCP App experiences, such as anomaly investigation, key driver analysis, report building, and what-if interfaces, are not included.
- Hosted connector distribution, marketplace discovery, and broader authentication are not supported.