From 96c1b0e898481dfd08d519c2e17767927b7c2b8f Mon Sep 17 00:00:00 2001 From: Jan Burzinski <156842394+janburzinski@users.noreply.github.com> Date: Tue, 16 Jun 2026 18:19:31 +0200 Subject: [PATCH 1/3] fix(mcp): align server icons --- apps/emdash-desktop/src/renderer/utils/mcpIcons.tsx | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/apps/emdash-desktop/src/renderer/utils/mcpIcons.tsx b/apps/emdash-desktop/src/renderer/utils/mcpIcons.tsx index 5f5052e9e3..028c5ccd98 100644 --- a/apps/emdash-desktop/src/renderer/utils/mcpIcons.tsx +++ b/apps/emdash-desktop/src/renderer/utils/mcpIcons.tsx @@ -33,24 +33,20 @@ export const McpServerIcon: React.FC<{ name: string; iconKey?: string }> = ({ na const renderIcon = () => { if (icon?.type === 'svg') { const processed = prepareInlineSvgMarkup(icon.data); - return
; + return
; } if (icon?.type === 'png') { return ( - {name} + {name} ); } - return ; + return ; }; return ( -
+
{renderIcon()}
); From 351de3183197660bd4b035cdb311e616437cf9ce Mon Sep 17 00:00:00 2001 From: Jan Burzinski <156842394+janburzinski@users.noreply.github.com> Date: Tue, 16 Jun 2026 18:40:04 +0200 Subject: [PATCH 2/3] feat(renderer): make card grid auto-fit cards Let card grids grow and wrap naturally instead of staying locked to fixed two-column breakpoints. This keeps card layouts usable across a wider range of window sizes and content widths. --- .../src/renderer/lib/components/card-grid.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/emdash-desktop/src/renderer/lib/components/card-grid.tsx b/apps/emdash-desktop/src/renderer/lib/components/card-grid.tsx index 6525a80f66..4e029350ae 100644 --- a/apps/emdash-desktop/src/renderer/lib/components/card-grid.tsx +++ b/apps/emdash-desktop/src/renderer/lib/components/card-grid.tsx @@ -4,7 +4,13 @@ import { MicroLabel } from '../ui/label'; export function CardGrid({ children, className, ...props }: ComponentProps<'div'>) { return ( -
+
{children}
); From 1ff3d2071404fd1f2cf184ccbe6ac38b6d8e770c Mon Sep 17 00:00:00 2001 From: Jan Burzinski <156842394+janburzinski@users.noreply.github.com> Date: Tue, 16 Jun 2026 18:40:24 +0200 Subject: [PATCH 3/3] feat(mcp): improve MCP card provider overflow Keep MCP cards compact by showing only the first few synced provider icons and summarizing the remainder with a count. The card header also gets stricter min-width handling so titles and actions align cleanly. --- .../features/mcp/components/McpCard.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/apps/emdash-desktop/src/renderer/features/mcp/components/McpCard.tsx b/apps/emdash-desktop/src/renderer/features/mcp/components/McpCard.tsx index 3c3af9b65b..188afcdd2c 100644 --- a/apps/emdash-desktop/src/renderer/features/mcp/components/McpCard.tsx +++ b/apps/emdash-desktop/src/renderer/features/mcp/components/McpCard.tsx @@ -16,6 +16,8 @@ interface McpCardProps { onAdd?: (entry: McpCatalogEntry) => void; } +const MAX_VISIBLE_PROVIDERS = 5; + function getTransport(server?: McpServer, entry?: McpCatalogEntry): 'stdio' | 'http' { if (server) return server.transport; const cfg = entry?.defaultConfig; @@ -34,6 +36,8 @@ export const McpCard: React.FC = ({ server, catalogEntry, onEdit, const syncedProviders = (server?.providers ?? []).filter((id) => agentIds.has(id) ) as AgentProviderId[]; + const visibleProviders = syncedProviders.slice(0, MAX_VISIBLE_PROVIDERS); + const hiddenProviderCount = syncedProviders.length - visibleProviders.length; const handleClick = () => { if (isInstalled && server && onEdit) { @@ -58,8 +62,8 @@ export const McpCard: React.FC = ({ server, catalogEntry, onEdit, >
-
-

{name}

+
+

{name}

{transport === 'http' ? : } {transport} @@ -67,15 +71,20 @@ export const McpCard: React.FC = ({ server, catalogEntry, onEdit,
{description &&

{description}

} {syncedProviders.length > 0 && ( -
- {syncedProviders.map((id) => ( +
+ {visibleProviders.map((id) => ( ))} + {hiddenProviderCount > 0 && ( + + +{hiddenProviderCount} + + )}
)}
-
+
{docsUrl && (