This release improves MCP server authentication by automatically attempting OAuth discovery when servers return an auth rejected error, and fixes same-origin request failures in chat sessions.
Features
CLI commands tab in OpenAPI version update modal#1624 - Added a CLI commands tab to the OpenAPI version update modal for quick access to CLI-based update workflows. (Author: @simplesagar )
Bug fixes
OAuth discovery for MCP servers returning AuthRejectedError#1597 - When an MCP server returns a 401 without a
header, the platform now attempts OAuth discovery instead of silently skipping authentication setup. This fixes the missing authentication section for catalog MCP servers that don't implement OAuth 2.1 natively. (Author: @simplesagar )
Same-origin requests in chat sessions CORS#1616 - Fixed "Origin does not match audience claim" errors for same-origin requests. The middleware now validates the Host header against audience claims when the Origin header is absent, allowing legitimate same-origin requests while still preventing cross-origin bypass attacks. (Author: @adaam2 )
Persist external MCP tool annotations#1596 - Annotations from external MCP servers in the Catalog are now persisted to the database. (Author: @simplesagar )
This release adds tool annotation badges to the sidebar, restores resources and prompts tabs on MCP detail pages, and fixes external MCP tool deployment stats.
Features
Resources and prompts tabs on MCP details page#1555 - Restored the resources and prompts tabs to the MCP server details page. (Author: @simplesagar )
Tool annotation badges in sidebar#1570 - Added tool annotation badges to the tool list sidebar for quick visibility into tool behavior hints. (Author: @simplesagar )
Bug fixes
External MCP tool deployment stats#1585 - Fixed an issue where external MCP tools were not accounted for in deployment stats. (Author: @qstearns )
This release introduces a comprehensive observability suite including telemetry logs, traces, chat logs with AI-powered resolution analysis, and an overview dashboard with time-series metrics.
Features
Observability overview page#1551 - Added observability features including telemetry logs, traces, chat logs with AI-powered resolution analysis, and an overview dashboard with time-series metrics. (Author: @adaam2 )
Chat logs improvements#1563 - Improved observability chat logs with server-side sorting, sticky pagination with page count, N/A score indicator with tooltip for unscored sessions, Shiki syntax highlighting for code blocks, character-based truncation with "Show more" button, System Prompt tab in chat detail panel, and tool result labeling for tool messages. (Author: @adaam2 )
4xx HTTP responses treated as errors#1565 - Added a system prompt instruction to treat 4xx HTTP responses as errors in AI observability analysis. (Author: @adaam2 )
Bug fixes
OpenAPI spec URL upload preview#1506 - Fixed a UI bug where the OpenAPI spec provided by URL upload was not fetched, leading to a blank preview. (Author: @DhashS )
This patch release adds support for MCP tool annotations in the elements library, providing additional metadata about tool behavior to help clients understand how to present and manage tools.
This release adds support for MCP tool annotations, providing additional metadata about tool behavior to help clients understand how to present and manage tools.
Features
MCP tool annotations support#1553 - Added support for MCP tool annotations on external MCP servers sourced from the Catalog as well as HTTP-based tools. Annotations include
,
,
,
, and
. Tool annotations can be edited in the Playground or in the tools tab of a specific MCP server. (Author: @simplesagar )
This patch release adds support for forwarding and storing user feedback, incorporating it into chat resolution analysis for better conversation outcome tracking.
Features
User feedback forwarding and storage#1504 - Added support for forwarding and storing user feedback. The stored user feedback is incorporated into chat resolution analysis. (Author: @chase-crumbaugh )
This release overhauls the chart plugin and generative UI system with React 19 compatibility, themed components, and improved developer experience.
Features
Chart plugin overhaul#1539 - Replaced Vega-Lite with Recharts for React 19 compatibility, added themed tooltips using CSS variables with oklch colors, and updated chart stories to use MCP orders summary tool. (Author: @adaam2 )
Generative UI improvements#1539 - Added macOS-style window frames with traffic light buttons and whimsical cycling loading messages with fade transitions. Streamlined LLM prompt from approximately 150 lines to a concise bulleted format. (Author: @adaam2 )
Bug fixes
ActionButton tool execution#1539 - Fixed ActionButton to execute tools via the
hook. Aligned Text, Badge, and Progress props with the LLM prompt specification. Fixed catalog schema
to
mismatch and
cleanup in CyclingLoadingMessage. (Author: @adaam2 )
OAuth support for testing in the Playground for Catalog sourced mcp servers and per-user metrics
This release adds OAuth support for external MCP servers in the Playground, per-user metrics and log filtering, and customizable documentation button text on MCP install pages.
Features
OAuth support for external MCP servers#1323 - Added OAuth authentication support for external MCP servers in the Playground, enabling secure connections to OAuth-protected MCP services. (Author: @simplesagar )
Per-user metrics and log filtering#1501 - Added a new endpoint to get metrics per user and the ability to filter logs per user. (Author: @tgmendes )
Chat resolution telemetry#1514 - Added writing of chat resolution telemetry data for tracking conversation outcomes. (Author: @tgmendes )
Customizable documentation button text#1494 - Added the ability to customize documentation button text on the MCP install page. (Author: @DhashS )
Bug fixes
OpenAPI parse errors surfaced in UI#1495 - Fixed an issue where OpenAPI parse errors were not surfaced in the UI. (Author: @DhashS )
Metrics loading with disabled logs#1484 - Fixed an issue with loading metrics when logs are disabled. (Author: @tgmendes )
MCP server creation with sources but no toolsets#1471 - Fixed an issue preventing MCP server creation when a project has sources but no toolsets. (Author: @simplesagar )
This patch release fixes an issue where tool group counts showed inflated numbers when loading chat history.
Bug fixes
Tool group count showing inflated numbers#1483 - Fixed tool group count displaying inflated numbers when loading chat history. The server accumulates all tool calls from a turn into each assistant message, causing duplicate tool-call parts when converting messages for the UI. Added deduplication in the message converter so each tool call appears only once. Also fixed
silently dropping tool calls when assistant content is a string. (Author: @adaam2 )
This patch release adds backend support for generating chat resolutions, enabling automated summarization and resolution tracking for conversations.
Features
Chat resolution generation#1458 - Added backend support for generating chat resolutions, allowing the platform to automatically create resolution summaries for completed conversations. (Author: @chase-crumbaugh )
Gram Elements now supports React 16 and 17 applications through a new Vite plugin that polyfills React 18 APIs.Applications running older React versions can add a single line to their Vite config to automatically polyfill
,
,
,
,
, and
— all React 18 APIs used by Elements and its dependencies.
This patch release fixes dark mode styling and improves the tool approval UI for small containers.
Bug fixes
Dark mode text colors for tool approval buttons#1380 - Fixed dark mode text colors for approval and deny buttons in the tool approval UI. (Author: @adaam2 )
Thread list and tool approval UI for small containers#1429 - Fixed scroll-to-bottom arrow visibility in dark mode, made tool approval buttons responsive with container queries, fixed popover toggle race condition for Shadow DOM support, corrected popover and tooltip z-index ordering, fixed thread list item title text wrapping, and resized welcome suggestions layout for small containers. (Author: @adaam2 )
filter to the tools.list API for server-side filtering of tools by URN prefix. This enables clients to efficiently query subsets of available tools without client-side filtering. (Author: @adaam2 )
Gram Elements introduces experimental message feedback UI with like/dislike buttons and a new replay mode for playing back pre-recorded conversations.These features enhance both end-user experience and developer workflows by enabling user sentiment collection and demonstration capabilities without requiring authentication or live network calls.
Features
Message feedback UI#1395 - Added experimental message feedback UI with like/dislike buttons that appear after assistant messages. Enable with
config option. Allows users to mark conversations as resolved. (Author: @adaam2 )
Follow-on suggestions#1381 - Added support for follow-on suggestions within the Elements library, enabling contextual next-step recommendations. (Author: @adaam2 )
Replay mode and cassette recording#1421 - Added replay mode and cassette recording for Elements. The
component plays back pre-recorded conversations with streaming animations — no auth, MCP, or network calls required. The
hook and built-in composer recorder button allow capturing live conversations as cassette JSON files. (Author: @adaam2 )
Bug fixes
Logs page performance#1419 - Memoized config objects and callbacks in Logs page and thread to prevent unnecessary re-renders. Fixed tool group count to use startIndex/endIndex instead of filtering all message parts. Fixed shimmer CSS in shadow DOM. Auto-size charts to container width via ResizeObserver. Truncate large tool output to 50-line preview. Show pulsing dot indicator after tool calls while model is still running. (Author: @adaam2 )
Dropped react-query dependency#1402 - Dropped the catalog dependency on react-query in favor of a direct dependency, allowing the elements package to be (p)npm linked into other local projects. (Author: @disintegrator )
This release introduces a major dashboard redesign focused on simplifying MCP server management and improving the overall user experience.
Unified MCP architecture: All sources — whether from external MCP servers in the catalog, code using Gram functions, or OpenAPI uploads — now immediately create MCP servers. This eliminates confusion around the relationship between toolsets and MCP servers. Toolsets remain available under each MCP server for tool curation.
Simplified secret management: MCP secrets are now easier to manage through a dedicated authentication tab under each MCP server. Environments are automatically created when authentication secrets are set up. Each secret can be system-defined or user-defined, where system-defined variables replace the previous "attached environments" concept.
Refreshed layout: A fresher dashboard layout with better use of horizontal and vertical navigation, plus revamped onboarding and home screens.
Features
Dashboard UX overhaul#1324 - Major UX overhaul with redesigned MCP cards, pattern-based illustrations, and improved environment variable management. (Author: @adaam2 )
Follow-on suggestions#1381 - Added support for follow-on suggestions within the Elements library, enabling contextual next-step recommendations after AI responses. (Author: @adaam2 )
API key last accessed tracking#1412 - Last accessed date is now available for Gram API keys and can be viewed via the API and dashboard settings page. (Author: @disintegrator )
Custom HTTP headers for MCP servers#1367 - Support custom HTTP headers for external MCP servers, enabling authenticated access to registries requiring API keys. (Author: @qstearns )
Custom domains for MCP export API#1404 - Added support for custom domains for MCP export API. (Author: @simplesagar )
Project metrics endpoint#1374 - New endpoint to retrieve summarized project metrics. (Author: @tgmendes )
Install page redirect URLs#1401 - Added support for install page redirect URLs. (Author: @chase-crumbaugh )
Experimental metrics insights#1387 - Added experimental metrics insights to the dashboard. (Author: @tgmendes )
MCP JSON export API#1385 - Added MCP JSON export API with API key authentication for programmatic retrieval of server information per MCP server. (Author: @simplesagar )
Bug fixes
Organization override restored#1406 - Restored the organization override feature for admin users with display of both organization and project IDs. (Author: @disintegrator )
Sources and MCP UX improvements#1394 - Tabbed interfaces, function tools table with runtime column, dynamic tab validation, and softer delete warning styling. (Author: @adaam2 )
Gram Elements now supports a generative UI plugin for dynamic widget rendering, enabling AI assistants to create interactive visual interfaces directly within chat conversations.The plugin renders
code blocks as interactive widgets, providing a rich set of components for displaying data and enabling user interactions.
Features
Generative UI plugin#1348 - Added generative UI plugin for dynamic widget rendering. The plugin renders
code blocks as interactive widgets including Card, Grid, Metric, Table, Badge, Progress, List, and ActionButton components. ActionButton enables triggering tool calls directly from generated UI. (Author: @adaam2 )
This release removes legacy tool metrics logging and introduces Clickhouse logging for GenAI events, providing better observability for AI interactions.MCP server configuration has also been improved with better visibility into environment variables for basic authentication.
Features
Clickhouse logging for GenAI events#1332 - Added analytics logging to Clickhouse for improved observability of AI interactions. (Author: @tgmendes )
Bug fixes
Enhanced MCP configuration display#1337 - All environment variables for basic auth are now shown in MCP details and install pages. (Author: @simplesagar )
Breaking changes
Removed legacy tool metrics#1335 - Old tool metrics logs logic and endpoints have been removed. Migrate to the new Clickhouse-based analytics if relying on this functionality. (Author: @tgmendes )
Introduced an internal OpenRouter Go SDK generated with Speakeasy for use in the Gram server's chat service.The SDK handles request deserialization for OpenRouter API interactions, improving type safety and maintainability. This internal SDK is intended to be replaced by a future official OpenRouter SDK when one becomes available.
Features
OpenRouter Go SDK integration#1329 - Added a Speakeasy-generated Go SDK for OpenRouter API interactions in the chat service. (Author: @disintegrator )