Auto observability for published plugins and plugin card grid
This release makes observability automatic for teams installing Gram-published plugins. Each org’s published marketplace now ships a base plugin containing the team’s hooks with credentials embedded — no manual SessionStart configuration, no credential paste, no risk of forgetting the setup step. This release also redesigns the Plugins list as a card grid and fixes MCP install snippet env var handling.
Features
- Auto observability for published plugins #2395 - Teams installing Gram-published plugins now get observability automatically. Each org’s published marketplace ships a
baseplugin containing the team’s hooks with credentials embedded. Tool events flow into the Gram dashboard for the org regardless of how many feature plugins a team member also installs. (Author: @bradcypert ) - Plugin card grid #2500 - Switches the Plugins list from a table to a card grid matching the Collections page. Each plugin card surfaces name, slug, description, server count, and last updated time, with the delete action moved into a per-card menu. The empty state is replaced by the shared “create resource” tile for layout consistency. (Author: @bradcypert )
Bug fixes
- MCP install snippet env var filtering #2528 - Fixed MCP install page rendering required external MCP headers in the install snippet even when the operator had configured those env vars as System or Omit. (Author: @bradcypert )
- OAuth well-known metadata status code #2465 - Builds the well-known OAuth metadata response body before writing the 200 status so error paths surface the real status code instead of 200 with an error body. (Author: @bflad )
- Observe component filename normalization #2506 - Normalized observe component filenames to the (section)(feature) pattern. (Author: @alx-xo )