diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard.svelte deleted file mode 100644 index 01514965d2..0000000000 --- a/tools/server/webui/src/lib/components/app/mcp/McpServerCard.svelte +++ /dev/null @@ -1,307 +0,0 @@ - - - - {#if isEditing} -
-
-

Configure Server

- -
- - (editUrl = v)} - onHeadersChange={(v) => (editHeaders = v)} - urlError={editUrl ? urlError : null} - id={server.id} - /> - -
- -
-
- {:else} -
-
- {#if faviconUrl} - { - (e.currentTarget as HTMLImageElement).style.display = 'none'; - }} - /> - {:else} - - {/if} -

{displayName}

- {#if server.url} - - - - {/if} - {#if isHealthChecking} - Checking... - {:else if isConnected} - Connected - {:else if isError} - Error - {/if} -
- -
- -
-
- - {#if isError && errorMessage} -

{errorMessage}

- {/if} - - {#if tools.length === 0 && server.url.trim()} -
- - - -
- {/if} - - {#if tools.length > 0} - -
- - {#if isExpanded} - - {:else} - - {/if} - {toolsCount} tools available · Show details - -
- - - -
-
- -
- {#each tools as tool (tool.name)} -
- {tool.name} - {#if tool.description} -

{tool.description}

- {/if} -
- {/each} -
-
-
- {/if} - {/if} -
- - - - - Delete Server - - Are you sure you want to delete {displayName}? This action cannot be - undone. - - - - Cancel - - Delete - - - - diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCard.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCard.svelte new file mode 100644 index 0000000000..c49572dbc9 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCard.svelte @@ -0,0 +1,132 @@ + + + + {#if isEditing} + + {:else} + + + {#if isError && errorMessage} +

{errorMessage}

+ {/if} + + {#if tools.length === 0 && server.url.trim()} +
+ +
+ {/if} + + {#if tools.length > 0} + + {/if} + {/if} +
+ + (showDeleteDialog = open)} + onConfirm={onDelete} +/> diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardActions.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardActions.svelte new file mode 100644 index 0000000000..9abacf149f --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardActions.svelte @@ -0,0 +1,38 @@ + + +
+ + + +
diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardDeleteDialog.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardDeleteDialog.svelte new file mode 100644 index 0000000000..22786c72b7 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardDeleteDialog.svelte @@ -0,0 +1,33 @@ + + + + + + Delete Server + + Are you sure you want to delete {displayName}? This action cannot be + undone. + + + + Cancel + + Delete + + + + diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardEditForm.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardEditForm.svelte new file mode 100644 index 0000000000..195fc950a5 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardEditForm.svelte @@ -0,0 +1,63 @@ + + +
+
+

Configure Server

+ +
+ + (editUrl = v)} + onHeadersChange={(v) => (editHeaders = v)} + urlError={editUrl ? urlError : null} + id={serverId} + /> + +
+ +
+
diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardHeader.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardHeader.svelte new file mode 100644 index 0000000000..05b3f81ac1 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardHeader.svelte @@ -0,0 +1,71 @@ + + +
+
+ {#if faviconUrl} + { + (e.currentTarget as HTMLImageElement).style.display = 'none'; + }} + /> + {:else} + + {/if} +

{displayName}

+ {#if serverUrl} + + + + {/if} + {#if isHealthChecking} + Checking... + {:else if isConnected} + Connected + {:else if isError} + Error + {/if} +
+ +
+ +
+
diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardToolsList.svelte b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardToolsList.svelte new file mode 100644 index 0000000000..d82336601e --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardToolsList.svelte @@ -0,0 +1,52 @@ + + + +
+ + {#if isExpanded} + + {:else} + + {/if} + {toolsCount} tools available · Show details + + +
+ +
+ {#each tools as tool (tool.name)} +
+ {tool.name} + {#if tool.description} +

{tool.description}

+ {/if} +
+ {/each} +
+
+
diff --git a/tools/server/webui/src/lib/components/app/mcp/McpServerCard/index.ts b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/index.ts new file mode 100644 index 0000000000..567b6e6fb5 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/mcp/McpServerCard/index.ts @@ -0,0 +1,6 @@ +export { default as McpServerCard } from './McpServerCard.svelte'; +export { default as McpServerCardHeader } from './McpServerCardHeader.svelte'; +export { default as McpServerCardActions } from './McpServerCardActions.svelte'; +export { default as McpServerCardToolsList } from './McpServerCardToolsList.svelte'; +export { default as McpServerCardEditForm } from './McpServerCardEditForm.svelte'; +export { default as McpServerCardDeleteDialog } from './McpServerCardDeleteDialog.svelte';