@smwb/ui-mcp-solid 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/component-meta/base/animateHeight/animateHeight.json +4 -0
- package/component-meta/base/icon/icon.json +4 -0
- package/component-meta/base/ripple/ripple.json +4 -0
- package/component-meta/clickAwayListener/clickAwayListener.json +4 -0
- package/component-meta/dataDisplay/accordion/accordion.json +4 -0
- package/component-meta/dataDisplay/avatar/avatar.avatarGroup.json +4 -0
- package/component-meta/dataDisplay/avatar/avatar.json +4 -0
- package/component-meta/dataDisplay/badge/badge.json +4 -0
- package/component-meta/dataDisplay/card/card.json +4 -0
- package/component-meta/dataDisplay/carousel/carousel.json +5 -0
- package/component-meta/dataDisplay/chat/chat.json +4 -0
- package/component-meta/dataDisplay/chat/chatAttachmentImage.json +5 -0
- package/component-meta/dataDisplay/chat/chatAttachments.json +4 -0
- package/component-meta/dataDisplay/chat/chatComposer.json +4 -0
- package/component-meta/dataDisplay/chat/chatHeader.json +4 -0
- package/component-meta/dataDisplay/chat/chatIconButton.json +4 -0
- package/component-meta/dataDisplay/chat/chatLayout.chatLayoutChat.json +4 -0
- package/component-meta/dataDisplay/chat/chatLayout.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageAvatar.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageBubble.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageIncoming.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageItem.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageOutgoing.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageSkeleton.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageStatus.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessageSystem.json +4 -0
- package/component-meta/dataDisplay/chat/chatMessages.json +4 -0
- package/component-meta/dataDisplay/chat/chatOverlayLayout.chatOverlayLayoutChat.json +4 -0
- package/component-meta/dataDisplay/chat/chatOverlayLayout.json +4 -0
- package/component-meta/dataDisplay/chat/chatShell.json +5 -0
- package/component-meta/dataDisplay/chip/chip.json +4 -0
- package/component-meta/dataDisplay/expansionPanel/expansionPanel.json +5 -0
- package/component-meta/dataDisplay/imagesList/imagesList.json +4 -0
- package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItem.json +5 -0
- package/component-meta/dataDisplay/imagesList/imagesListItem/imagesListItemModal.json +5 -0
- package/component-meta/dataDisplay/list/list.json +4 -0
- package/component-meta/dataDisplay/list/listItem.json +4 -0
- package/component-meta/dataDisplay/table/table.json +4 -0
- package/component-meta/dataDisplay/table/tableBody.json +4 -0
- package/component-meta/dataDisplay/table/tableCell.json +4 -0
- package/component-meta/dataDisplay/table/tableHead.json +4 -0
- package/component-meta/dataDisplay/table/tableHeadCell.json +4 -0
- package/component-meta/dataDisplay/table/tablePagination/tablePagination.baseTablePagination.json +4 -0
- package/component-meta/dataDisplay/table/tablePagination/tablePagination.json +4 -0
- package/component-meta/dataDisplay/table/tableRow.json +4 -0
- package/component-meta/dataDisplay/treeView/treeView.json +4 -0
- package/component-meta/dataDisplay/typography/typography.json +4 -0
- package/component-meta/feedBack/message/message.json +4 -0
- package/component-meta/feedBack/modal/modal.json +5 -0
- package/component-meta/feedBack/modal/modal.modalSlot.json +4 -0
- package/component-meta/feedBack/progressIndicator/progressIndicator.circularProgress.json +4 -0
- package/component-meta/feedBack/progressIndicator/progressIndicator.json +4 -0
- package/component-meta/feedBack/skeleton/skeleton.json +4 -0
- package/component-meta/feedBack/snackbar/snackbar.json +5 -0
- package/component-meta/feedBack/snackbar/snackbar.snackbarsProvider.json +4 -0
- package/component-meta/feedBack/tooltip/tooltip.json +5 -0
- package/component-meta/inputs/button/button.json +4 -0
- package/component-meta/inputs/buttonGroups/buttonGroup.json +4 -0
- package/component-meta/inputs/checkbox/checkbox.json +4 -0
- package/component-meta/inputs/datePicker/dataPickerDays.json +4 -0
- package/component-meta/inputs/datePicker/dataPickerHeader.json +4 -0
- package/component-meta/inputs/datePicker/dataPickerInput.json +4 -0
- package/component-meta/inputs/datePicker/datePicker.json +5 -0
- package/component-meta/inputs/datePicker/datePickerActionLabel.json +4 -0
- package/component-meta/inputs/datePicker/datePickerDay.json +4 -0
- package/component-meta/inputs/datePicker/datePickerIconButton.json +4 -0
- package/component-meta/inputs/datePicker/datePickerList.json +4 -0
- package/component-meta/inputs/dateTimePicker/dateTimePicker.json +5 -0
- package/component-meta/inputs/dateTimePicker/dateTimePickerInput.json +4 -0
- package/component-meta/inputs/fileDrop/countPreview.json +4 -0
- package/component-meta/inputs/fileDrop/fileDrop.json +4 -0
- package/component-meta/inputs/fileDrop/preview.json +4 -0
- package/component-meta/inputs/fileDrop/previewWrapper.json +4 -0
- package/component-meta/inputs/fileInput/fileInput.json +4 -0
- package/component-meta/inputs/floatingButton/floatingButton.json +4 -0
- package/component-meta/inputs/radioButton/radioButton.json +4 -0
- package/component-meta/inputs/rating/rating.json +4 -0
- package/component-meta/inputs/selectField/dropdownMenu.json +4 -0
- package/component-meta/inputs/selectField/selectField.json +5 -0
- package/component-meta/inputs/slider/slider.json +4 -0
- package/component-meta/inputs/textField/textField.json +4 -0
- package/component-meta/inputs/textField/textFieldAdornment.json +4 -0
- package/component-meta/inputs/textField/textFieldWrapper.json +4 -0
- package/component-meta/inputs/timePicker/timePicker.json +5 -0
- package/component-meta/inputs/timePicker/timePickerColumns.json +4 -0
- package/component-meta/inputs/timePicker/timePickerInput.json +4 -0
- package/component-meta/inputs/timePicker/timePickerList.json +4 -0
- package/component-meta/inputs/toggle/toggle.json +4 -0
- package/component-meta/layout/appLayout/appLayout.json +4 -0
- package/component-meta/layout/divider/divider.json +4 -0
- package/component-meta/layout/grid/grid.column.json +4 -0
- package/component-meta/layout/grid/grid.container.json +4 -0
- package/component-meta/layout/grid/grid.row.json +4 -0
- package/component-meta/layout/page/page.json +4 -0
- package/component-meta/layout/pageHeader/pageHeader.json +4 -0
- package/component-meta/layout/screenDivider/screenDivider.json +4 -0
- package/component-meta/layout/sheet/sheet.json +5 -0
- package/component-meta/layout/stack/stack.json +4 -0
- package/component-meta/navigation/appBar/appBar.json +4 -0
- package/component-meta/navigation/bottomBar/bottomBar.bottomBarMenuItem.json +4 -0
- package/component-meta/navigation/bottomBar/bottomBar.json +4 -0
- package/component-meta/navigation/breadcrumbs/breadcrumbs.json +4 -0
- package/component-meta/navigation/menu/menu.json +5 -0
- package/component-meta/navigation/menu/menuDivider.json +4 -0
- package/component-meta/navigation/menu/menuFloating.json +5 -0
- package/component-meta/navigation/menu/menuItem.json +4 -0
- package/component-meta/navigation/menu/menuItemIcon.json +4 -0
- package/component-meta/navigation/menu/menuItemText.json +4 -0
- package/component-meta/navigation/menu/menuList.json +4 -0
- package/component-meta/navigation/menu/menuSubmenu.json +4 -0
- package/component-meta/navigation/pagination/pagination.json +4 -0
- package/component-meta/navigation/sidebar/sidebar.json +4 -0
- package/component-meta/navigation/sidebar/sidebar.sidebarMenuItem.json +4 -0
- package/component-meta/navigation/stepper/stepper.json +4 -0
- package/component-meta/navigation/tabs/tab/tab.json +4 -0
- package/component-meta/navigation/tabs/tabs.json +4 -0
- package/componentMeta.mjs +4 -0
- package/package.json +2 -2
- package/server.mjs +3 -3
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "MenuFloating",
|
|
3
3
|
"description": "Floating positioned surface used by menus and popovers.",
|
|
4
|
+
"ssr": {
|
|
5
|
+
"safe": true,
|
|
6
|
+
"rendering": "client",
|
|
7
|
+
"note": "Floating surface portaled on the client; nothing is emitted during SSR."
|
|
8
|
+
},
|
|
4
9
|
"extends": [
|
|
5
10
|
"JSX.HTMLAttributes<HTMLDivElement>"
|
|
6
11
|
],
|
package/componentMeta.mjs
CHANGED
|
@@ -306,6 +306,7 @@ export function parseComponentMetaFile(absolutePath, relativePath) {
|
|
|
306
306
|
id,
|
|
307
307
|
name: parsed.name,
|
|
308
308
|
description: parsed.description ?? "",
|
|
309
|
+
ssr: parsed.ssr,
|
|
309
310
|
extends: parsed.extends,
|
|
310
311
|
inheritedAttributes: parsed.inheritedAttributes,
|
|
311
312
|
styles: parsed.styles,
|
|
@@ -349,6 +350,7 @@ export function searchComponents(catalog, query, limit = 10) {
|
|
|
349
350
|
id: entry.id,
|
|
350
351
|
name: entry.name,
|
|
351
352
|
description: entry.description,
|
|
353
|
+
ssr: entry.ssr,
|
|
352
354
|
propCount: entry.propNames.length,
|
|
353
355
|
}));
|
|
354
356
|
}
|
|
@@ -373,6 +375,7 @@ export function searchComponents(catalog, query, limit = 10) {
|
|
|
373
375
|
id: entry.id,
|
|
374
376
|
name: entry.name,
|
|
375
377
|
description: entry.description,
|
|
378
|
+
ssr: entry.ssr,
|
|
376
379
|
propCount: entry.propNames.length,
|
|
377
380
|
score,
|
|
378
381
|
matchReasons: reasons,
|
|
@@ -413,6 +416,7 @@ export function getComponentProps(catalog, nameOrId) {
|
|
|
413
416
|
id: entry.id,
|
|
414
417
|
name: entry.name,
|
|
415
418
|
description: entry.description,
|
|
419
|
+
ssr: entry.ssr,
|
|
416
420
|
extends: entry.extends,
|
|
417
421
|
inheritedAttributes: entry.inheritedAttributes,
|
|
418
422
|
styles: entry.styles,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smwb/ui-mcp-solid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Model Context Protocol server exposing the @smwb/ui-solid (SolidJS) component catalog and customization guide.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"zod": "^4.4.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@smwb/ui-solid": "^0.
|
|
31
|
+
"@smwb/ui-solid": "^0.3.0",
|
|
32
32
|
"@smwb/ui-styles": "^1.0.3",
|
|
33
33
|
"glob": "^13.0.6",
|
|
34
34
|
"typescript": "^6.0.3",
|
package/server.mjs
CHANGED
|
@@ -20,7 +20,7 @@ const server = new McpServer(
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
instructions:
|
|
23
|
-
"@smwb/ui-solid component catalog and customization guide. Use search_components / get_component_props for API metadata, and search_customization / get_customization for theming and appearance options.",
|
|
23
|
+
"@smwb/ui-solid component catalog and customization guide. Use search_components / get_component_props for API metadata, and search_customization / get_customization for theming and appearance options. Every component exposes an `ssr` field: `safe` (always true — nothing throws during renderToString), `rendering` (\"universal\" = emits static HTML on the server and hydrates; \"client\" = a pure overlay that renders nothing server-side and mounts via a portal after hydration), and an optional `note`.",
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
26
|
|
|
@@ -29,7 +29,7 @@ server.registerTool(
|
|
|
29
29
|
{
|
|
30
30
|
title: "Search @smwb/ui-solid components",
|
|
31
31
|
description:
|
|
32
|
-
"Search the @smwb/ui-solid component catalog by exact, partial, fuzzy, or multi-word queries across names, ids, descriptions, and prop names.",
|
|
32
|
+
"Search the @smwb/ui-solid component catalog by exact, partial, fuzzy, or multi-word queries across names, ids, descriptions, and prop names. Each result includes its `ssr` classification (`rendering`: \"universal\" or \"client\").",
|
|
33
33
|
inputSchema: z.object({
|
|
34
34
|
query: z.string().describe("Search query, for example: button, chat, text field"),
|
|
35
35
|
limit: z.number().int().min(1).max(50).optional().describe("Maximum number of matches to return"),
|
|
@@ -54,7 +54,7 @@ server.registerTool(
|
|
|
54
54
|
{
|
|
55
55
|
title: "Get @smwb/ui-solid component props",
|
|
56
56
|
description:
|
|
57
|
-
"Return the full metadata document for a @smwb/ui-solid component, including prop names, types, required flags, descriptions, and required Less imports (`styles.base`, `styles.entries`, `styles.dependencies`, `styles.importExample`).",
|
|
57
|
+
"Return the full metadata document for a @smwb/ui-solid component, including prop names, types, required flags, descriptions, SSR classification (`ssr.safe`, `ssr.rendering`, `ssr.note`), and required Less imports (`styles.base`, `styles.entries`, `styles.dependencies`, `styles.importExample`).",
|
|
58
58
|
inputSchema: z.object({
|
|
59
59
|
nameOrId: z
|
|
60
60
|
.string()
|