Skip to content

feat(dashboard): redesign plugin MCP server list with toolset metadata#2552

Merged
bradcypert merged 9 commits intomainfrom
feat/plugin-server-list-redesign
May 4, 2026
Merged

feat(dashboard): redesign plugin MCP server list with toolset metadata#2552
bradcypert merged 9 commits intomainfrom
feat/plugin-server-list-redesign

Conversation

@bradcypert
Copy link
Copy Markdown
Contributor

@bradcypert bradcypert commented May 1, 2026

Redesign Plugin MCP server list to be consistent with rest of the application.

Screenshot 2026-05-01 at 2 48 04 PM

Replace the sparse name/policy/delete table on the plugin detail page
with a row layout that joins each plugin server against the available
toolsets and surfaces the data users actually need: tool count, MCP
public/private/off state, policy as a badge, toolset description, and
last-updated timestamp. Each row links to the underlying toolset, and
servers whose toolset has been deleted are flagged inline.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 1, 2026

🦋 Changeset detected

Latest commit: 3925eec

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
dashboard Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gram-docs-redirect Ready Ready Preview, Comment May 1, 2026 7:12pm

Request Review

@github-actions github-actions Bot added the preview Spawn a preview environment label May 1, 2026
@speakeasybot
Copy link
Copy Markdown
Collaborator

speakeasybot commented May 1, 2026

🚀 Preview Environment (PR #2552)

Preview URL: https://pr-2552.dev.getgram.ai

Component Status Details Updated (UTC)
⏳ Database Pending Waiting for db-init job 2026-05-01 19:10:04.
✅ Images Available Container images ready 2026-05-01 19:10:02.

Gram Preview Bot

Add a leading server icon as a row anchor, lucide icons inside the MCP
state badge (globe/lock/unplug), and a hover-only chevron-right inside
the toolset link to telegraph navigation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bradcypert bradcypert marked this pull request as ready for review May 1, 2026 17:52
@bradcypert bradcypert requested review from a team as code owners May 1, 2026 17:52
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 3 additional findings.

Open in Devin Review

Switch the plugin server entries to the same DotCard component used on
the MCP list page, with min-h-[112px] for a shorter footprint, a kebab
MoreActions menu in the top-right for the remove action, and the lucide
Server icon in the dot-pattern image area.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@blacksmith-sh

This comment has been minimized.

Match the MCP list page layout by rendering the plugin MCP server cards
in a 1-column grid that becomes 2 columns at the xl breakpoint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mirror the MCPCard layout: Network icon in the dot sidebar, name plus
ToolCollectionBadge in the header, pulse status indicator (Public /
Private / Disabled) on the footer left, and an "Open" link with arrow
on the footer right. Drop the bespoke kebab, custom min-height,
text-based MCP state badges, Required/Optional badge, and updated-at
timestamp so the card is structurally identical to the one used on
the MCP list page.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 4 new potential issues.

View 3 additional findings in Devin Review.

Open in Devin Review

Comment thread client/dashboard/src/pages/plugins/PluginDetail.tsx
Comment thread client/dashboard/src/pages/plugins/PluginDetail.tsx
Comment thread client/dashboard/src/pages/plugins/PluginDetail.tsx Outdated
Comment thread client/dashboard/src/pages/plugins/PluginDetail.tsx
Swap the footer-right Open arrow for a ghost icon-sm trash button that
calls useRemovePluginServerMutation. The card body still navigates to
the toolset on click; the trash button stops propagation so it removes
the server from the plugin without navigating.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Public/Private/Disabled pulse indicator was duplicated across
MCPCard, MCPTableRow, and the new plugin server card. Extract it into
a reusable MCPStatusIndicator under components/mcp/ with a sm/md size
prop covering the two existing dot sizes, and update the three
callers. Also revise the plugin server changeset to drop the policy
and last-updated claims that the implementation does not surface.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

…load

Previously every card flashed the destructive "Toolset missing" badge
during the brief window before useListToolsets resolved, because the
card treated any missing toolset as deleted. Pass isLoadingToolsets
through to PluginServerCard and render skeleton placeholders for the
tool count and MCP status indicator while loading; only show the
"Toolset missing" badge once we know the toolset is genuinely absent.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bradcypert bradcypert added this pull request to the merge queue May 1, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 1, 2026
@bradcypert bradcypert added this pull request to the merge queue May 4, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 4, 2026
@bradcypert bradcypert added this pull request to the merge queue May 4, 2026
Merged via the queue into main with commit 8701c12 May 4, 2026
32 checks passed
@bradcypert bradcypert deleted the feat/plugin-server-list-redesign branch May 4, 2026 14:02
@github-actions github-actions Bot locked and limited conversation to collaborators May 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

preview Spawn a preview environment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants