]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
ui: Add MCP Servers Opt-In for first time visitors (#25239)
authorAleksander Grygier <redacted>
Fri, 3 Jul 2026 10:16:29 +0000 (12:16 +0200)
committerGitHub <redacted>
Fri, 3 Jul 2026 10:16:29 +0000 (12:16 +0200)
commit94875285e47516da4e1c71e7bca5ba65b82bbe59
tree934def9df5f858f141214cf4a2d1f25266ce35c9
parent5a460dea9f961cdb508d58a6e7b0f9e259b4c19f
ui: Add MCP Servers Opt-In for first time visitors (#25239)

* feat: ui: Add predefined recommended MCP servers to settings

* feat: ui: Add MCP server recommendation dialog with custom server support

* feat: Auto-focus input fields on mount and dynamic addition

* feat: Add header validation to MCP server add and edit forms

* feat: Persist recommended MCP server opt-in selections

* test: Cover MCP configuration with tests

* chore: Format & cleanup

* feat: Centralize MCP server overrides to settings config and improve recommendation UI

* fix: Capture index before mutation to prevent focus drift

* refactor: Extract MCP_CARD_VISIBLE_TOOL_LIMIT to shared constants

* refactor: Support arbitrary authorization header schemes

* refactor: Consolidate MCP recommendations dismissal into existing storage key

* fix: Use case-insensitive comparison for MCP server ID prefix check

* refactor: Centralize MCP server visibility logic and extract recommendations hook

* refactor: Cleanup
33 files changed:
tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddMcpServersSubmenu.svelte
tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte
tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessage.svelte
tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessageActions/ChatMessageActionCard/ChatMessageActionCardPermissionRequest.svelte
tools/ui/src/lib/components/app/dialogs/DialogMcpServerAddNew.svelte
tools/ui/src/lib/components/app/dialogs/DialogMcpServerRecommendations.svelte [new file with mode: 0644]
tools/ui/src/lib/components/app/dialogs/index.ts
tools/ui/src/lib/components/app/forms/KeyValuePairs.svelte
tools/ui/src/lib/components/app/mcp/McpServerCard/McpServerCard.svelte
tools/ui/src/lib/components/app/mcp/McpServerCard/McpServerCardCompact.svelte [new file with mode: 0644]
tools/ui/src/lib/components/app/mcp/McpServerCard/McpServerCardEditForm.svelte
tools/ui/src/lib/components/app/mcp/McpServerForm.svelte
tools/ui/src/lib/components/app/mcp/McpServerIdentity.svelte
tools/ui/src/lib/components/app/mcp/index.ts
tools/ui/src/lib/components/app/settings/SettingsMcpServers.svelte
tools/ui/src/lib/constants/index.ts
tools/ui/src/lib/constants/mcp-form.ts
tools/ui/src/lib/constants/recommended-mcp-servers.ts [new file with mode: 0644]
tools/ui/src/lib/constants/settings-keys.ts
tools/ui/src/lib/constants/settings-registry.ts
tools/ui/src/lib/constants/storage.ts
tools/ui/src/lib/hooks/use-mcp-recommendations.svelte.ts [new file with mode: 0644]
tools/ui/src/lib/services/migration.service.ts
tools/ui/src/lib/stores/conversations.svelte.ts
tools/ui/src/lib/stores/mcp.svelte.ts
tools/ui/src/lib/types/index.ts
tools/ui/src/lib/types/mcp.d.ts
tools/ui/src/routes/+layout.svelte
tools/ui/tests/client/components/McpServerFormWrapper.svelte [new file with mode: 0644]
tools/ui/tests/client/mcp-server-form.svelte.test.ts [new file with mode: 0644]
tools/ui/tests/unit/headers.test.ts [new file with mode: 0644]
tools/ui/tests/unit/parse-mcp-server-settings.test.ts [new file with mode: 0644]
tools/ui/tests/unit/recommended-mcp-servers.test.ts [new file with mode: 0644]