Follow us on to be up to date with the latest changes.
v0.24.0
// February 23, 2026
Tool call logging and redesigned source detail page
This release adds opt-in logging for tool call inputs and outputs, and redesigns the source detail page with a two-panel layout showing deployments and invocation activity.
Features
Opt-in tool call input/output logging#1657 - Added an opt-in toggle to record tool call inputs and outputs in logs for easier debugging and observability. (Author: @tgmendes )
Redesigned source detail page#1577 - Redesigned the source detail page with a two-panel layout showing deployments and invocation activity, giving a high-level overview of a source's utilization across MCP servers. (Author: @simplesagar )
Bug fixes
Open CORS policy on /openapi.yaml#1659 - Updated CORS policy on
and set the content type to
to avoid browser download prompts. (Author: @disintegrator )
Wire up add another button in environment variables sheet#1639 - Fixed the "Add another" button in the environment variables sheet to properly add new variable rows. (Author: @simplesagar )
This release makes the Temporal task queue configurable to support staging and preview deployments.
Features
Configurable Temporal task queue#1646 - Refactored the server to make the Temporal task queue configurable, unblocking staging and preview deploys. (Author: @disintegrator )
Inline error display and insights dashboard improvements
This release surfaces Elements errors directly inside the chat interface and reorders the insights dashboard to prioritize tool metrics.
Features
Reorder insights dashboard#1641 - Reordered the insights dashboard to show tool metrics first, making the most actionable data immediately visible. (Author: @simplesagar )
Bug fixes
Show Elements errors inside the chat#1633 - Elements errors now appear inline within the chat interface instead of failing silently. (Author: @chase-crumbaugh )
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 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 )
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 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 )
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 )
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 )
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 )
Updated the assets service to allow chat sessions to upload and read attachments via the
and
endpoints.This extends the attachment functionality introduced in v0.17.0 to work with session-based authentication, enabling seamless file sharing within chat experiences.
Features
Session-based attachment access#1201 - Chat sessions can now upload and read attachments through the assets service endpoints. (Author: @disintegrator )
Bug fixes
External OAuth authentication#1239 - Fixed an issue where the server would not return 401 for external OAuth servers when a
Enable support for external MCP servers that only have an SSE remote available.Previously, Gram could only support external MCP servers that used the Streamable HTTP transport. Now, servers that still use the deprecated SSE type will be transparently adapted to Streamable HTTP. MCP clients will still use Streamable HTTP to interact with the external MCP server via Gram:
Features
Adapt SSE external MCP servers to Streamable HTTP#1142 - Supports external MCP servers with SSE, enhancing compatibility. (Author: @walker-tx )
Bug fixes
GitHub Action workflow for versioning packages#1171 - Corrects GitHub Action for consistent versioning. (Author: @adaam2 )
Fix and split up Storybook stories#1177 - Improves Storybook integration for better testing flows. (Author: @adaam2 )
Move away from hardcoded API URL#1175 - Increases flexibility by removing hardcoded API URLs. (Author: @disintegrator )
Gram now supports uploading and serving chat attachments through two new API endpoints.The
endpoint allows uploading attachments for use in chat conversations. The
endpoint can be accessed with an API key or session cookie. The
header is not required on the serve endpoint, making it easy for session-based clients to embed attachments in chat using standard HTML tags.For example, images can be embedded directly in chat:
Features
Chat attachment upload and serve endpoints#1173 - Added two new API endpoints for uploading and serving chat attachments, enabling rich media in chat experiences. (Author: @disintegrator )
Add telemetry page displaying telemetry logs grouped by tool calls.This new telemetry page provides a powerful way to monitor and analyze your tool executions. Logs are intelligently grouped by tool calls, making it easier to trace execution flows, identify patterns, and debug issues across your Gram Functions and MCP integrations.
Features
New Telemetry Page for Improved Log Analysis#1112 - Adds a new page to display telemetry logs grouped by tool calls, enhancing our monitoring capabilities. (Author: @tgmendes )
Support for Project Deletions#1107 - Enables users to delete projects, thereby enhancing manageability and user control over their workspace. (Author: @walker-tx )
Bug fixes
Readme Enhancements for Better Navigation#1115 - Fixes broken links and improves the structure within the README for better usability. (Author: @adaam2 )
Chat Session CORS Support Fixed#1109 - Properly integrates CORS support for chat sessions, ensuring smoother cross-origin interactions. (Author: @chase-crumbaugh )
Empty State for No Search Results in Catalog#1110 - Adds an empty state component when no results are found in catalog searches, improving user experience. (Author: @walker-tx )
Enable private MCP servers with Gram account authentication.This change allows private MCP servers to require users to authenticate with their Gram account. When enabled, only users with access to the server's organization can utilize it.This is ideal for MCP servers that require sensitive credentials (such as API keys), as it allows organizations to:
Secure access to servers handling sensitive secrets (via Gram Environments)
Eliminate the need for individual users to configure credentials during installation
Centralize authentication and access control at the organization level
Add more robust discovery of oauth metadata#1097 - Enhances OAuth metadata discovery protocols for security and reliability. (Author: @qstearns )
Success/failure pages for gram oauth proxy#1085 - Introduces clear user feedback for OAuth authentication processes. (Author: @walker-tx )
Add telemetry logs API#1090 - Provides APIs for detailed telemetry data fetching. (Author: @tgmendes )
Add support for ephemeral chat sessions#1086 - Ephemeral chat sessions for transient user interaction. (Author: @chase-crumbaugh )
External ux for external toolsets#1080 - Offers a basic view for managing external MCP toolsets. (Author: @qstearns )
List and call tools from external MCPs#1057 - Implementation for handling tools from external MCP servers. (Author: @qstearns )
Gram as an OAuth proxy provider for mcp servers#1020 - Utilizes Gram as an OAuth provider for private MCP integration. (Author: @walker-tx )
Catalog page#1041 - Introduction of a catalog page to showcase tools and features in a consolidated manner. (Author: @chase-crumbaugh )
Add external MCPs to deployments#1055 - Facilitates adding external MCP servers during deployment processes. (Author: @qstearns )
Browse external MCP catalog#1054 - Allows users to browse through external MCPs catalog directly from the dashboard. (Author: @qstearns )
Bug fixes
Switch buttons to variant primary in Billing#1094 - Fixes brand button issues in the Billing section by switching to a primary variant. (Author: @qstearns )
Ensure all private servers show private server install instructions#1083 - Corrects the display of private server installation instructions for consistency. (Author: @walker-tx )
Fix CSP issue with Monaco editor#1075 - Resolves a content security policy issue affecting the Monaco editor's functionality. (Author: @walker-tx )
Add ListToolExecutionLogs API endpoint for querying structured tool logs with cursor-based pagination and filtering support.This new endpoint enables you to programmatically query and analyze tool execution logs from your Gram Functions. With cursor-based pagination and flexible filtering options, you can efficiently retrieve and process execution history for debugging, monitoring, and analytics purposes.Learn more about using logsCheck out the logs documentation to get started with the new API endpoint.
Features
Add local MCP registry infrastructure#1053 - Introduces infrastructure for local MCP registry to enhance external MCP code development. (Author: @qstearns )
Small Agent API changes for response view#988 - Updates to AgentAPI improve paginated log view capabilities for better response handling. (Author: @ryan-timothy-albert )
Add API endpoint to list/retrieve tool execution logs#1040 - New API endpoint introduced for fetching tool execution logs, enhancing monitoring capabilities. (Author: @tgmendes )
Ensure function OAuth respected in install page#1034 - Ensures OAuth protocols are adhered to during installations, strengthening security and user trust. (Author: @ryan-timothy-albert )
Replace Shiki with Monaco Editor for viewing large inline specs#1030 - Shifts to Monaco Editor for better handling and performance when viewing large spec files. (Author: @simplesagar )
Pin to MCP remote 0.1.25 in references that still include MCP remote#1042 - Pins older version of mcp-remote to avoid compatibility issues with legacy node versions. (Author: @ryan-timothy-albert )
Bug fixes
Don't brick page when dialogs close#1061 - Fixes freezing issues caused by dialog and popover interactions on pages. (Author: @chase-crumbaugh )
Playground doesn't update available tools when adding/removing tools#1037 - Corrects toolset reflection in the user interface of the playground tool. (Author: @simplesagar )
Playground tool parameters not rendering on initial load#1031 - Fixes an issue with the immediate display of tool parameters upon user interaction. (Author: @simplesagar )
Ensure system env compilation case sensitive#1033 - Corrects environment variable compilation to be case sensitive, preventing potential bugs. (Author: @ryan-timothy-albert )
Pass content type when uploading to Tigris#1044 - Ensures correct content type setting during uploads to Tigris for better data handling. (Author: @disintegrator )
Previously, Gram Functions could only be around 700KiB zipped, which was adequate for building many tools but was severely limiting for many others. One example is ChatGPT Apps, which can be full-fledged React applications with images, CSS and JS assets embedded alongside an MCP server, all running in a Gram Function. Many such apps may not fit into this constrained size. Large Gram Functions addresses this limitation by allowing larger zip files to be deployed with the help of Tigris, an S3-compatible object store that integrates nicely with Fly.io where Gram Functions are deployed and run.Get started with Gram FunctionsRun these commands in the terminal:
Create a new function project. See gram functions docs for more info
Build the functions
Push the functions to Gram
The build command should open a new window with the next step. If it doesn't, click here to continue.
Features
Support for Large Gram Functions#969 - Enables handling of substantially larger functions that expand the potential of the platform. (Author: @disintegrator )
Ensure Function OAuth in Install Page#1034 - Improves security by ensuring OAuth configurations are respected during installation. (Author: @ryan-timothy-albert )
Reading Toolsets Available to Chat Scoped Auth#1022 - Extends authentication options to provide more granular access controls for chat services. (Author: @ryan-timothy-albert )
PowerShell Installer Script#1026 - Automates installation of the CLI, enhancing user setup experience. (Author: @walker-tx )
Bug fixes
Playground Tool Parameters Not Rendering on Initial Load#1031 - Fixes a frustrating user interface bug in the playground. (Author: @simplesagar )
Fix Vercel CORS Check#1035 - Removes unnecessary CORS checks for smoother operation. (Author: @ryan-timothy-albert )
Fix Dashboard's WebGL Onboarding Bugs#1028 - Ensures that users without graphics acceleration have a graceful experience. (Author: @farazcsk )
SSE Streaming Response Truncation and Client Side Issues Fix#998 - Addresses issues in multi-turn tool call conversations. (Author: @simplesagar )
Performance improvements
Replace Shiki with Monaco Editor for Viewing Large Inline Specs#1030 - Enhances performance for viewing large specifications. (Author: @simplesagar )
Upgraded to AI SDK 5 with new chat transport and message handling. Playground now features built-in log viewer and tool editing side by side in addition to better inline tool rendering for chat.
Features
Restore AI SDK 5 Upgrade#992 - Restores previous updates to the AI SDK, enhancing performance and stability. (Author: @speakeasybot )
Update Chat Credit Billing#983 - Enhancements to the billing terms for chat credits, with customizable limits for organizations. (Author: @ryan-timothy-albert )
Static OAuth Callback in OAuth Proxy#980 - Simplifies OAuth by removing the need for individual server redirects. (Author: @ryan-timothy-albert )
Allow Uploading OpenAPI Specs via Remote URL#977 - Users can now upload OpenAPI specifications via URLs. (Author: @bradcypert )
Fallback Temporal Workflow for Openrouter Model Usage#978 - Implements a fallback Temporal workflow to handle delays in the Openrouter model. (Author: @ryan-timothy-albert )
Replace Windsurf Install Snippets with VSCode#971 - Updates installation guides for easier setup via VSCode. (Author: @walker-tx )
Bug fixes
Inconsistency in Environment Passthrough Authentication#997 - Fixes authentication inconsistencies in private server environments. (Author: @ryan-timothy-albert )
Nullable Chat ID Model Billing#995 - Addresses an issue with nullable ChatID in billing models. (Author: @ryan-timothy-albert )