@htmlbricks/mcp 0.66.10

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.
@@ -0,0 +1 @@
1
+ {"packages":[{"i18n":[],"name":"hb-vertical-img-txt-archive","category":"content","tags":["content","archive"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-fIgRcBqRDVn0doC8gpQY4DQvDgM11AsJ7M2ArOWz8J4laSlXZEg3m9BLS8Genj9U","repoName":"@htmlbricks/hb-vertical-img-txt-archive","version":"0.66.10"},{"i18n":[],"name":"hb-uploader","category":"utilities","tags":["utilities","files"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-JWZJdA/wcU2gC0RVtCTI9IgCO4YyNmg6A0tSvMtk3wOKTqNlRjrAQsj6Kkrb5i5P","repoName":"@htmlbricks/hb-uploader","version":"0.66.10"},{"i18n":[],"name":"hb-tooltip","category":"overlays","tags":["overlays","tooltip"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-jhJRbcvdlpb5Rwd8SBj2SlTETS5HWYE8aATlu1KAOoQ+S004gU1oPEJNJy4qYJtX","repoName":"@htmlbricks/hb-tooltip","version":"0.66.10"},{"i18n":[],"name":"hb-toast","category":"overlays","tags":["overlays","notifications"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-bNMxQ0tXZLNTPHZa46a3mn3PBu9SvRQeiZL9ukTMZOZX55bosN4Z/sYku1N0M3NO","repoName":"@htmlbricks/hb-toast","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-terms-doc-templates","category":"content","tags":["content","compliance"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-DRVJMAt/d1BeB6oNCXQtjU6/zYCkk8vDmQouO2gAuTA3x3FkTwukYXT2oF4SjqMb","repoName":"@htmlbricks/hb-terms-doc-templates","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-table","category":"data","tags":["data","table"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-gGj9HhkwnZB8BLqLqsmJ2bFo3P0xy0DsVHBunWPr1XGwtw4CxOws8k2azF4/1MhW","repoName":"@htmlbricks/hb-table","version":"0.66.10"},{"i18n":[],"name":"hb-stylus-paper","category":"inputs","tags":["inputs","drawing"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-1I8vGAMNTx7d+EcJ7XnmNxAh1ZqqglqCmOIYujVUB3YJcjrvdbnJ6ZsH9MOWG0Bz","repoName":"@htmlbricks/hb-stylus-paper","version":"0.66.10"},{"i18n":[],"name":"hb-stylus-notebook","category":"inputs","tags":["inputs","drawing"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-0QD9cOXP2RGKMIDktZQovvMTHIPEUUr0aiguWoR+Rw81hMLXkrEXPQDszRyWynnW","repoName":"@htmlbricks/hb-stylus-notebook","version":"0.66.10"},{"i18n":[],"name":"hb-skeleton-component","category":"data","tags":["data","loading"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ImesZaa/bGfOgZhH+EKkXZ9KZuRslUjX8lnDAZ3PpctTL54DXKL3Xwu28lhOa8/K","repoName":"@htmlbricks/hb-skeleton-component","version":"0.66.10"},{"i18n":[],"name":"hb-site-slideshow-horizontal","category":"content","tags":["content","media"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-MxPV/G8dXzYv7AMQBKTaXvqsaDj992sAG2phYuXmqPS20Nh4hvwbnvqNf1E20CvH","repoName":"@htmlbricks/hb-site-slideshow-horizontal","version":"0.66.10"},{"i18n":[],"name":"hb-site-slideshow","category":"content","tags":["content","media"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-qAMfBFkDaCi2Hzb/pScUfb9EaHNt+mu3EZkuH4xCKnNQ52LxHBeWUhPNH4QBmmon","repoName":"@htmlbricks/hb-site-slideshow","version":"0.66.10"},{"i18n":[],"name":"hb-site-paragraph-with-image","category":"content","tags":["content"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-p/RZw3VeHw/0N357JCWrIInETQ9uz4BcT0OGtJaR0WK15otQS/rswNvIXlFRdhnF","repoName":"@htmlbricks/hb-site-paragraph-with-image","version":"0.66.10"},{"i18n":[],"name":"hb-site-contacts-row","category":"content","tags":["content","contact"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-cDeQ1OJDn01LkEIqU6zGerWMjIA9V/fn/5dPsmwVwerT3kye3RNNxmIM8FVsrnlj","repoName":"@htmlbricks/hb-site-contacts-row","version":"0.66.10"},{"i18n":[],"name":"hb-sidenav-link","category":"layout","tags":["layout","navigation"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-EyqZFY6JSy6FaCzHxSTsYySxir73TyWSo6YSYvU7/MO+xUmAbD50TR/+RZRli4ry","repoName":"@htmlbricks/hb-sidenav-link","version":"0.66.10"},{"i18n":[],"name":"hb-sidenav-button","category":"layout","tags":["layout","navigation"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-V9d4dY8eBSZTgYxzqrj6uJNOU7k5JCrgYfmP/QMeZRPtc2GFpHMqPsohxLMoKm0C","repoName":"@htmlbricks/hb-sidenav-button","version":"0.66.10"},{"i18n":[],"name":"hb-sidebar-desktop","category":"layout","tags":["layout","navigation"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-BTjReFBtGXaY96TyUipSxfZ58RFVdQlhomOFtxPt3qXLfz6X8iQji1b2UZcagLEo","repoName":"@htmlbricks/hb-sidebar-desktop","version":"0.66.10"},{"i18n":[],"name":"hb-sidebar-cards-navigator","category":"layout","tags":["layout","navigation"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-SeJSF/FW8G06ncn9NG15Co+ZPy19AogvosGxT7fXPQRDDHfer0rTY0mKSwup/o/N","repoName":"@htmlbricks/hb-sidebar-cards-navigator","version":"0.66.10"},{"i18n":[],"name":"hb-shop-item-row","category":"commerce","tags":["commerce","product"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-a93mk8d5hUlo0sDaDjkFVHb/k8cRvSWxX2VWATZgSG//WFBqrNxUVp1qAZCDvT4g","repoName":"@htmlbricks/hb-shop-item-row","version":"0.66.10"},{"i18n":[],"name":"hb-shop-item-cell","category":"commerce","tags":["commerce","product"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-P8EUdFH2TpGzKGUfXMxpmksSmilm8DQVLJBcHmwAvbZG7dhDeya+P9p5f4BxaY9D","repoName":"@htmlbricks/hb-shop-item-cell","version":"0.66.10"},{"i18n":[],"name":"hb-searchbar","category":"utilities","tags":["utilities","search"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-+QvUDpKapBodWSdT0rzMktvS1FKpB3CDzWeQ/Tb2p10VAAb5xwqzleW02uYq7ejA","repoName":"@htmlbricks/hb-searchbar","version":"0.66.10"},{"i18n":[],"name":"hb-range-slider","category":"inputs","tags":["inputs","slider"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-jh8qAsLqnVB3PR/NcRW78meTcs/f/V/vxRTCUNDF9/WXTEA1xF758PwDMVJWVu1L","repoName":"@htmlbricks/hb-range-slider","version":"0.66.10"},{"i18n":[],"name":"hb-product-comparison","category":"commerce","tags":["commerce","product"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-x6aAtaiPCoXIXOlDDR1UzRQznCyZYbMen2yAOX1WRv6/pp51JXtZzOEP8rDdbpXW","repoName":"@htmlbricks/hb-product-comparison","version":"0.66.10"},{"i18n":[],"name":"hb-player-live-camera-ptz","category":"media","tags":["media","video","streaming","camera"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-GvLojewYVfZjEWIrp4dHJjzn73rXmEZQP/p8QAki0xRShtivH+8qgK024EcyLRKa","repoName":"@htmlbricks/hb-player-live-camera-ptz","version":"0.66.10"},{"i18n":[],"name":"hb-player-live","category":"media","tags":["media","video","streaming"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-TQobRGctZukzZC2fmzQkrAaR+UCaic5Xp9nd0uASSynSzA7OLCTb78ubCf1/pMi3","repoName":"@htmlbricks/hb-player-live","version":"0.66.10"},{"i18n":[],"name":"hb-player-input-streaming","category":"media","tags":["media","video","camera"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-eK343jShhjE2XfesPh0ekbTlj0O34zO1I3bKfx+PTF+HvZRqmpl6scsM0jbVfQI/","repoName":"@htmlbricks/hb-player-input-streaming","version":"0.66.10"},{"i18n":[],"name":"hb-payment-paypal","category":"commerce","tags":["commerce","payment"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ZiKL8BRx0PxsDcFXAGF0PTTyRKp7cShl1BBlRuC4Sq2roQn0x+yU6AOX0MIOXYTa","repoName":"@htmlbricks/hb-payment-paypal","version":"0.66.10"},{"i18n":[],"name":"hb-paragraps-around-image-cell","category":"content","tags":["content"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-c0AksVDs57ySth4XvLa7QcTwOSlsPOQHvmASQE8Q7QYPJEqr7Lj6aC9On9ke+Jos","repoName":"@htmlbricks/hb-paragraps-around-image-cell","version":"0.66.10"},{"i18n":[],"name":"hb-paragraps-around-image","category":"content","tags":["content"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-CCjBTPiJfb6FTZ7c36yprhMFJsSeMOBvwunCIs6J6nBwFBGaEWTTY8I7lD4FLGvO","repoName":"@htmlbricks/hb-paragraps-around-image","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-paginate","category":"utilities","tags":["utilities","navigation"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-vHmJco/PlghTkzYGhpdqBEkaWWIyF0IwpYXHN+BwpUPdevHli/fBCzNxt7OS8Pnr","repoName":"@htmlbricks/hb-paginate","version":"0.66.10"},{"i18n":[],"name":"hb-page-invoice","category":"commerce","tags":["commerce","invoice","page"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ULcnm7IHTWDB+8NA9TsvBewihK0bFLeESi1BsziZiMbzk1WsRnb7DwVeOY6Ppzyw","repoName":"@htmlbricks/hb-page-invoice","version":"0.66.10"},{"i18n":[],"name":"hb-page-checkout","category":"commerce","tags":["commerce","checkout","page"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-8wMPZgXcjSrvEqeUX2h8ZESFBUs8USQMygn7OLIWOWJSAUso9PrY2VEEKC4u46Df","repoName":"@htmlbricks/hb-page-checkout","version":"0.66.10"},{"i18n":[],"name":"hb-pad-joystick","category":"utilities","tags":["utilities","controls"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-LXo5yeZ57AFNPwTNlZ6AuIM0otGNOeNXaGAius22MCzHZ4vLun8WSZizfQxLprZd","repoName":"@htmlbricks/hb-pad-joystick","version":"0.66.10"},{"i18n":[],"name":"hb-order-list","category":"commerce","tags":["commerce","order"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-Gl51FmMLOFOyLjgmf2OGtBMz/FGdbhKan5CXV6wlsSVyRyTBdMYwhyE2TRyVmbka","repoName":"@htmlbricks/hb-order-list","version":"0.66.10"},{"i18n":[],"name":"hb-offcanvas","category":"layout","tags":["layout","navigation"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-+X8FYVy6nspQYcZRE/2QE1R2BeICJ8PDAhX6BDUIbfa4WVKL1CADbV82uCAs4S+o","repoName":"@htmlbricks/hb-offcanvas","version":"0.66.10"},{"i18n":[],"name":"hb-navbar","category":"layout","tags":["layout","navigation"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-inWDOtbx0LZ7hKGpxP+KO0KnHmBabwpgzjaC8uoSICXFbI5ZmmxqVXnOpz83EgI4","repoName":"@htmlbricks/hb-navbar","version":"0.66.10"},{"i18n":[],"name":"hb-modal-video","category":"media","tags":["media","video","overlays"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-53MK/91PFdSj95Y4H5W7CXLpwXhKgq1ujr6ID2ARsWNLewD5DB9A+jPpr/P7RuBr","repoName":"@htmlbricks/hb-modal-video","version":"0.66.10"},{"i18n":[],"name":"hb-messages-topics-card","category":"messaging","tags":["messaging","chat"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-TziADMFgu3uU+9zzLtwf0N9VIweeRzrcNVIyz1YxYc56qk3numTCR0dv9ntq/zqj","repoName":"@htmlbricks/hb-messages-topics-card","version":"0.66.10"},{"i18n":[],"name":"hb-messages-send","category":"messaging","tags":["messaging","chat"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ly+mCPU8Av1T4moto0GCcKAyKXExZz0gcCYCAeECzqZmqxWpgepQIrQs4rGQdqYf","repoName":"@htmlbricks/hb-messages-send","version":"0.66.10"},{"i18n":[],"name":"hb-messages-list","category":"messaging","tags":["messaging","chat"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-jV0HH9xDGqXHmCOhldhINPNeKeR6BjHvKeXYEuc7aoSBNpFKjGC6vwICJ4+2Ez4b","repoName":"@htmlbricks/hb-messages-list","version":"0.66.10"},{"i18n":[],"name":"hb-messages-box","category":"messaging","tags":["messaging","chat"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-1YX4mQT+BgbFaKBa1ficDDhU3jEioNeCLKKNBYrNXO0CVFovSoIkLaEuBuhqt+ka","repoName":"@htmlbricks/hb-messages-box","version":"0.66.10"},{"i18n":[],"name":"hb-matrix-video","category":"media","tags":["media","video","grid"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-VSm4wccAE3ZACjVKayF/BzPrJeXqbu9KhupslsqTY9nAA0KCvWRvk/A+Ruon4+vw","repoName":"@htmlbricks/hb-matrix-video","version":"0.66.10"},{"i18n":[],"name":"hb-markdown-viewer","category":"content","tags":["content","markdown"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-7NSlsromTsgd5ZAIP64p6DPqzz4mTqL372gZhNrZAkWIJiz/56BZAfAERLwE+E5b","repoName":"@htmlbricks/hb-markdown-viewer","version":"0.66.10"},{"i18n":[],"name":"hb-map","category":"maps","tags":["maps"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-9aM8FP84lgi6oI6JCeQdvqVr2E6xpr/1MO8mUm9/xqvc5hdvNerpDiEsJR3iknp5","repoName":"@htmlbricks/hb-map","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-layout-mobile","category":"layout","tags":["layout","shell","responsive"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-/+ZUVjVqmsNjeoQQJ98PIFEHWU6VSgFY/TbEUUv4TOMhW6lrZhBzmt1Lh09whmzk","repoName":"@htmlbricks/hb-layout-mobile","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-layout-desktop","category":"layout","tags":["layout","shell","responsive"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-wtjVkDcxSJqmfstRrcM/KjaZqcm7x0W2sZXcFB2MHjDUL/qlc3VxHANw71ka9jCI","repoName":"@htmlbricks/hb-layout-desktop","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-layout","category":"layout","tags":["layout","shell"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-l0ZM8B/Z55WWRo738nOVUZz0C4Ml539J8qDSa/S0mURzm4SatW2eJdAER6/n5QHB","repoName":"@htmlbricks/hb-layout","version":"0.66.10"},{"i18n":[],"name":"hb-json-viewer","category":"data","tags":["data","json"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ofpmdD0HXZIhsuSsyXoGISl7Z6r69Lqs/lCLaH3jTHmd3yLp8iq9APwB+unZBZri","repoName":"@htmlbricks/hb-json-viewer","version":"0.66.10"},{"i18n":[],"name":"hb-input-text","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-jgNB6eV2o8/szJHdt8A5gqPt9wEsgsrr70hi4DNd9fhDFyGKxJXWVXTNsEJODcIE","repoName":"@htmlbricks/hb-input-text","version":"0.66.10"},{"i18n":[],"name":"hb-input-select","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-4ve+0XaBD9U60yxaR1asf3UqTHmrscFGfdJReV2GDzS+EtlnN/2KvKj27XaXD371","repoName":"@htmlbricks/hb-input-select","version":"0.66.10"},{"i18n":[],"name":"hb-input-range","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-lkZEV6Q4Eit7K5tq5qYngL5ZetAswYVBcWq1bNh7BA97KY0MQVg/OsDKncuvC3S/","repoName":"@htmlbricks/hb-input-range","version":"0.66.10"},{"i18n":[],"name":"hb-input-radio","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-iYP4BPca/B/tA6qK+SeFF6pZw2Iyw5TXcYo8eX/L+BEwKVqmE8LYliUw5NOc4hGR","repoName":"@htmlbricks/hb-input-radio","version":"0.66.10"},{"i18n":[],"name":"hb-input-number","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-nakOMSkLZeI4Qd3GV7wjGfZ7ddDMEco+1iVribSrF3+KsMFdqFDTvQujxI11Ol31","repoName":"@htmlbricks/hb-input-number","version":"0.66.10"},{"i18n":[],"name":"hb-input-file","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-cpFyxewYGdgTCLfa0xq89uwwHvie6UI6ur5b5zxpw3jVFg1SstDLeoHEx+rng5oT","repoName":"@htmlbricks/hb-input-file","version":"0.66.10"},{"i18n":[],"name":"hb-input-email","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-vY9un3gq4GFr9YGwOqSwVRz7WaBntqdA6O0kVv7/JMc+wWYDVaAW+MzOwEwNz4bd","repoName":"@htmlbricks/hb-input-email","version":"0.66.10"},{"i18n":[],"name":"hb-input-datetime","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-PZKtEOTrVMnPVNmPiXNCS0OjnTV3PqAqzR0wV52JiO5N1lkbKafAbBw17uyNzxFM","repoName":"@htmlbricks/hb-input-datetime","version":"0.66.10"},{"i18n":[],"name":"hb-input-date","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ZUI1RfUIsP2LxA1EcqUjM6Xt7e/7MhYyADP6S1O7oPEBK0wgRw2fdYNYdFmEeVUv","repoName":"@htmlbricks/hb-input-date","version":"0.66.10"},{"i18n":[],"name":"hb-input-coords","category":"inputs","tags":["inputs","maps"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-JCw/zfa77gnhwPAC4e719gDDF+AcJNVBZ4luvSd9rgdLdR2jgF+0ai2IMHlxZliP","repoName":"@htmlbricks/hb-input-coords","version":"0.66.10"},{"i18n":[],"name":"hb-input-color","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-r7x3qpxHXPf6A/eLgnvbzB8Lea3plarFJ0lOwAOP6mwAibT4HMm8sLj/KS9b9Tuj","repoName":"@htmlbricks/hb-input-color","version":"0.66.10"},{"i18n":[],"name":"hb-input-checkbox","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-/j2kNF2yii/R/nqt8qqGk9xeDsGtIhm8jXahDhxGu9bonnwMU22H5G5lDSCkdcfs","repoName":"@htmlbricks/hb-input-checkbox","version":"0.66.10"},{"i18n":[],"name":"hb-input-array-tags","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-lutRQZCjgT4WDuihKlFmTu9Dpr84jF5CvdT/Ss8gdFgJubecbeTRtVtMbS8cLNKh","repoName":"@htmlbricks/hb-input-array-tags","version":"0.66.10"},{"i18n":[],"name":"hb-input-array-objects","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-r7yaboYEOeFpwpxYtzP1K3XwrmRjV4LuK5pSFFlp3S7I38KvoysNy44/AKz8AQBw","repoName":"@htmlbricks/hb-input-array-objects","version":"0.66.10"},{"i18n":[],"name":"hb-input-area","category":"inputs","tags":["inputs"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-NvuCr49O5C1g73DH412A9N2JEiXrl6MiHXGGBa7Kr44tUF4XL033SQjtTckfWuo1","repoName":"@htmlbricks/hb-input-area","version":"0.66.10"},{"i18n":[],"name":"hb-gauge","category":"data","tags":["data","chart"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-fcnkTdXW2rSBI3c5MXmmZ3/IRipNYysgXzRYQUnj1DdSZpWaFXFfBfQcO9xjVoDw","repoName":"@htmlbricks/hb-gauge","version":"0.66.10"},{"i18n":[],"name":"hb-gallery-video","category":"media","tags":["media","video","gallery"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-gWKyQIbIdwBZyKEXWzGeP7sGAJG681l2M9KCkvrXIaTE3gDA3Cc3EHDexNlFvw5x","repoName":"@htmlbricks/hb-gallery-video","version":"0.66.10"},{"i18n":[],"name":"hb-funnel","category":"forms","tags":["forms","multistep"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-xKuYZCiDuxihN2QJlLSh0wYcIiJGIMHvytrzYHJuss8PJmV0tZAPnNWB1R8KL0zX","repoName":"@htmlbricks/hb-funnel","version":"0.66.10"},{"i18n":[],"name":"hb-form-contact","category":"forms","tags":["forms","contact"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-E6Q5U7FbUzpGKJ8DBBxba6IRSg3/nYAkN3Pnn+z53nVLPNbGpMxDQ66pfSHYQddQ","repoName":"@htmlbricks/hb-form-contact","version":"0.66.10"},{"i18n":[],"name":"hb-form-composer","category":"forms","tags":["forms","builder"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ymsTZZzTJnu1n0YsY5VkRMbQ5OrfMnn9yCBQDJcaaXndN00f/IKE9a4oHPk9571U","repoName":"@htmlbricks/hb-form-composer","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-form","category":"forms","tags":["forms"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ubwgX3tAOQEUxMOOZSjNcqn6x3OhTy4wWS4cmKKqk0zYEM9ypgzwG0bQ3opIYt8I","repoName":"@htmlbricks/hb-form","version":"0.66.10"},{"i18n":[],"name":"hb-footer","category":"layout","tags":["layout","navigation"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-5T1xVj5/7OIdyxMHySndcWHgfsOucMuWTttKck/KekRjI/y3CIxuxvG/hgd5U6UU","repoName":"@htmlbricks/hb-footer","version":"0.66.10"},{"i18n":[],"name":"hb-faq-component","category":"content","tags":["content"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-69g/VlpVdGq1J4aSl8YhckQbPLkZhleuFdr/hP7O6wC0WbNqWmNydG0rkPuVuCuJ","repoName":"@htmlbricks/hb-faq-component","version":"0.66.10"},{"i18n":[],"name":"hb-editor-video","category":"media","tags":["media","video","editor"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-SaJqzheJWL/rnxvucPnOhc2pM4TGUV1YktCimwJr6/7rDVcEHig/vzkII9s/PVd1","repoName":"@htmlbricks/hb-editor-video","version":"0.66.10"},{"i18n":[],"name":"hb-dropdown-simple","category":"overlays","tags":["overlays","menu"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-u+0J/PQJEsIZEsExMkNIO/hnw3A5E4haatugY8nSqoTAO4vtaNbr1NHkLuqIYK0z","repoName":"@htmlbricks/hb-dropdown-simple","version":"0.66.10"},{"i18n":[],"name":"hb-dropdown-notifications","category":"overlays","tags":["overlays","menu","notifications"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-kkZYlPbj3XCarXqWEgiJRAFUYb5YRyt94+HjOzJuyHP9HSkxxqlPjtvjzmeXttPl","repoName":"@htmlbricks/hb-dropdown-notifications","version":"0.66.10"},{"i18n":[],"name":"hb-downloader","category":"utilities","tags":["utilities","files"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-vLuYani2X1Q9dWd886/Am6lsEvm3NqCnXrBkLqNECavGgLTbsw9DEjCVoPb6iJ5F","repoName":"@htmlbricks/hb-downloader","version":"0.66.10"},{"i18n":[],"name":"hb-dialogform","category":"forms","tags":["forms","overlays"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-H3YeNCvIfd9LyPT0NRxgy/NLfa9AgEpkGJ8tA58AauU8WkICLSDKbaLi3vb78Ig2","repoName":"@htmlbricks/hb-dialogform","version":"0.66.10"},{"i18n":[],"name":"hb-dialog-loader","category":"overlays","tags":["overlays","modal","loading"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-stkOhwSE1cKdLo8qI8RYuP8AW8Q0pLeflpd7INAAXlFci+lHRHbdbB0MseiQ1Pzs","repoName":"@htmlbricks/hb-dialog-loader","version":"0.66.10"},{"i18n":[],"name":"hb-dialog","category":"overlays","tags":["overlays","modal"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-DhJWUAQSi/9BBLLBZUkMPrmFFHAbJHOyiXWpLV/A+nxo57i/QaPRNF7EVe91MhWh","repoName":"@htmlbricks/hb-dialog","version":"0.66.10"},{"i18n":[],"name":"hb-dashboard-indicator","category":"data","tags":["data","dashboard"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-toKRoDwk48SSRjMwO/rKfpALlQ6L9G199OOwVlZQTJBDMyWw4meZwIbqNm1vr4GP","repoName":"@htmlbricks/hb-dashboard-indicator","version":"0.66.10"},{"i18n":[],"name":"hb-dashboard-counter-lines","category":"data","tags":["data","dashboard"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-B1sVNiOX8KndQfiMvUUq0fjn4djTF9ksvaz7bsz77p9LRu63YVO/eawZF9rRv4Ut","repoName":"@htmlbricks/hb-dashboard-counter-lines","version":"0.66.10"},{"i18n":[],"name":"hb-dashboard-card1","category":"data","tags":["data","dashboard"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-V1fIvV/OakzZTl5gPMWtvzytYSUYLnv7Ewk1bSjPqSoVJXlN7zwBOjXOZ5Jg2J/T","repoName":"@htmlbricks/hb-dashboard-card1","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-cookie-law-banner","category":"layout","tags":["layout","compliance"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-ibQSTPd9EXOoN00vOqwXdpXVwQOQUsaF+9DCY+GbfAc64RNQpORmBaBKYlBMGss5","repoName":"@htmlbricks/hb-cookie-law-banner","version":"0.66.10"},{"i18n":[],"name":"hb-contact-item","category":"content","tags":["content","contact"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-A3qsFTcreRirRJ3xOm+PyUEG3hwu+VwDXpB4CU4hHay4Ltv/8MRAsqYp7L93ZzxY","repoName":"@htmlbricks/hb-contact-item","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-contact-card","category":"content","tags":["content","contact"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-IlEd1+feo+hZHIGq8GOkQ749CfLpIfQIIS6c7sMi3JN/Lf+0a2D/eZ9B9L1lM1XB","repoName":"@htmlbricks/hb-contact-card","version":"0.66.10"},{"i18n":[],"name":"hb-checkout-shopping-cart","category":"commerce","tags":["commerce","cart"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-AWfDqMnyPXi+PwRziBYfFraTjJ8r9aqg8cSZtvvQICYnl4RMmChikInR87x5D6TU","repoName":"@htmlbricks/hb-checkout-shopping-cart","version":"0.66.10"},{"i18n":[],"name":"hb-checkout","category":"commerce","tags":["commerce","checkout"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-z5AjXigSa0kUh1n2WJozDH1Y1dv9yDwjjSwQTTiuUQWRHji998Fmlw1nOOIGpbLf","repoName":"@htmlbricks/hb-checkout","version":"0.66.10"},{"i18n":[],"name":"hb-chartjs","category":"data","tags":["data","chart"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-mjWoCK2FCkqkbq5mvmay/YEejNWwGPfRnXu7FM4MQOSF4/qGPFrWegb85kpdClto","repoName":"@htmlbricks/hb-chartjs","version":"0.66.10"},{"i18n":[],"name":"hb-card-video","category":"media","tags":["media","video"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-JRVe2FE0zTg/ycWR3aXyH9IXVgqvMKz2vxiNxvXx3WAwps4AX+oGXLS5+iOA/umi","repoName":"@htmlbricks/hb-card-video","version":"0.66.10"},{"i18n":[],"name":"hb-captcha-google-recaptcha-v2-invisible","category":"utilities","tags":["utilities","security"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-LKR7oNsRvJZHnsJa7ENJISmQQcsxd1XEw3w+f1q3vo7AQdDCgpYF3yE5sPeCcQ8Y","repoName":"@htmlbricks/hb-captcha-google-recaptcha-v2-invisible","version":"0.66.10"},{"i18n":[],"name":"hb-calendar-events","category":"calendar","tags":["calendar"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-vUva8JfARvdiUZqlZ7v4rp60UkDsq3zDWHPecrVip5kVSpmHle3BanLpiy6LXVtz","repoName":"@htmlbricks/hb-calendar-events","version":"0.66.10"},{"i18n":[],"name":"hb-calendar-appointments","category":"calendar","tags":["calendar","appointments"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-fWv0UU5aeTz6ZMknCKEpjmlROhfM0SK4+Ql+cqOaPMd6L7DmoZuByXkh5BYqcIl5","repoName":"@htmlbricks/hb-calendar-appointments","version":"0.66.10"},{"i18n":[],"name":"hb-banner","category":"content","tags":["content","marketing"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-nmyh9wR90r+9xSANBUQ4QJ2Wo7MWK/wGWvpgR3deagQvR1SusaxwQzZJBtgm6/7F","repoName":"@htmlbricks/hb-banner","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-auth-social-login-button","category":"auth","tags":["auth","oauth"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-J7QAnCtXOoMoVkoL0B37fayu76+Yi4RiNAJvc8LAYN5WGq9e3zN2R4Su2y1OtGJ8","repoName":"@htmlbricks/hb-auth-social-login-button","version":"0.66.10"},{"i18n":[{"lang":"it","language":"italian"},{"lang":"en","language":"english"}],"name":"hb-auth","category":"auth","tags":["auth"],"size":{"layout":"fullscreen"},"iifePath":"main.iife.js","iifeIntegrity":"sha384-RlhSnYpI4Fq9vTy7k0r/HABC1EGZu0CeraI4HyTr/Yj+WRpZDEyJZlnnaA5cCa+/","repoName":"@htmlbricks/hb-auth","version":"0.66.10"},{"i18n":[],"name":"hb-area-code","category":"utilities","tags":["utilities","developer"],"size":{},"iifePath":"main.iife.js","iifeIntegrity":"sha384-LbXh+fg0OPWXlDpzkd5R2qcSSHjY1pALs4Athq8G7PxnlyObfg1XnyZ1V4s+9gm6","repoName":"@htmlbricks/hb-area-code","version":"0.66.10"}],"version":"0.66.10"}
package/cli.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { startMcp } from "./server.js";
3
+
4
+ await startMcp();
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@htmlbricks/mcp",
3
+ "version": "0.66.10",
4
+ "private": false,
5
+ "description": "MCP server with HTML Bricks (hb-*) web component catalog resources and tools for agentic IDEs.",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=18"
9
+ },
10
+ "bin": "./cli.js",
11
+ "files": [
12
+ "cli.js",
13
+ "server.js",
14
+ "assets",
15
+ "README.md"
16
+ ],
17
+ "keywords": [
18
+ "mcp",
19
+ "htmlbricks",
20
+ "web-components",
21
+ "model-context-protocol"
22
+ ],
23
+ "author": "",
24
+ "license": "Apache-2.0",
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "dependencies": {
29
+ "@modelcontextprotocol/sdk": "^1.28.0",
30
+ "zod": "^3.25.0"
31
+ }
32
+ }
package/server.js ADDED
@@ -0,0 +1,273 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import * as z from "zod/v4";
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
+
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ const PACKAGE_ROOT = __dirname;
10
+ const ASSETS_DIR = join(PACKAGE_ROOT, "assets");
11
+
12
+ const RESOURCE_REFERENCE_URI = "htmlbricks://catalog/agent-reference";
13
+ const RESOURCE_LIST_URI = "htmlbricks://catalog/package-list";
14
+ const RESOURCE_GUIDE_URI = "htmlbricks://docs/development-guide";
15
+
16
+ /** Cached reference markdown (large); avoids re-reading disk. */
17
+ let referenceCache = null;
18
+
19
+ const DEVELOPMENT_GUIDE = `# HTML Bricks — agent development guide
20
+
21
+ Use this together with the resource **${RESOURCE_REFERENCE_URI}** (full catalog) and **${RESOURCE_LIST_URI}** (manifest index).
22
+
23
+ ## Conventions
24
+
25
+ - Custom elements are **\`hb-*\`** tags (for example \`hb-button\`, \`hb-modal\`).
26
+ - **Web component attributes are snake_case**; values are **strings** (even booleans and numbers).
27
+ - Styling follows **Bootstrap 5**; prefer **\`--bs-*\`** CSS variables for themes. Optional bundle theme sheets live under \`style/bundle.light.vars.css\` and \`style/bundle.dark.vars.css\` in **@htmlbricks/hb-bundle**.
28
+ - Icons use **Bootstrap Icons**.
29
+
30
+ ## Loading components in the browser
31
+
32
+ - **Per-component** scripts from jsDelivr: \`https://cdn.jsdelivr.net/npm/@htmlbricks/hb-<name>@<version>/main.iife.js\` (see each package for optional \`integrity\` from npm).
33
+ - **Full catalog** IIFE: **@htmlbricks/hb-bundle** provides \`main.iife.js\`, \`list.json\`, \`bundle.json\`, and \`agents/docs/AGENT_WEBCOMPONENTS_REFERENCE.md\` (same content as the MCP resource above when versions match).
34
+
35
+ ## Workflow for agents
36
+
37
+ 1. Read **${RESOURCE_GUIDE_URI}** (this file) and **${RESOURCE_REFERENCE_URI}** before proposing markup or props.
38
+ 2. Use the **search_catalog** tool for keyword lookup when the reference is too large to scan manually.
39
+ 3. Prefer attributes and events documented in the reference; do not invent props.
40
+
41
+ Version of this MCP package tracks the published **@htmlbricks/hb-bundle** release it was built with.
42
+ `;
43
+
44
+ async function readPackageVersion() {
45
+ const raw = await readFile(join(PACKAGE_ROOT, "package.json"), "utf-8");
46
+ const pkg = JSON.parse(raw);
47
+ return typeof pkg.version === "string" ? pkg.version : "0.0.0";
48
+ }
49
+
50
+ async function readLocalFile(relPath) {
51
+ return readFile(join(ASSETS_DIR, relPath), "utf-8");
52
+ }
53
+
54
+ async function fetchReferenceFromCdn(version) {
55
+ const url = `https://cdn.jsdelivr.net/npm/@htmlbricks/hb-bundle@${version}/agents/docs/AGENT_WEBCOMPONENTS_REFERENCE.md`;
56
+ const res = await fetch(url);
57
+ if (!res.ok) {
58
+ throw new Error(
59
+ `Could not fetch catalog from CDN (${res.status}): ${url}. Install the published @htmlbricks/mcp package or run the HTML Bricks publish flow to populate assets/.`
60
+ );
61
+ }
62
+ return res.text();
63
+ }
64
+
65
+ async function getAgentReferenceMarkdown() {
66
+ if (referenceCache !== null) return referenceCache;
67
+ const version = await readPackageVersion();
68
+ try {
69
+ referenceCache = await readLocalFile("AGENT_WEBCOMPONENTS_REFERENCE.md");
70
+ return referenceCache;
71
+ } catch {
72
+ referenceCache = await fetchReferenceFromCdn(version);
73
+ return referenceCache;
74
+ }
75
+ }
76
+
77
+ async function getPackageListJson() {
78
+ const version = await readPackageVersion();
79
+ try {
80
+ return await readLocalFile("list.json");
81
+ } catch {
82
+ const url = `https://cdn.jsdelivr.net/npm/@htmlbricks/hb-bundle@${version}/list.json`;
83
+ const res = await fetch(url);
84
+ if (!res.ok) {
85
+ throw new Error(
86
+ `Could not read list.json from assets or CDN (${res.status}). Use a published @htmlbricks/mcp build.`
87
+ );
88
+ }
89
+ return res.text();
90
+ }
91
+ }
92
+
93
+ function searchInText(text, query, maxResults) {
94
+ const q = query.trim().toLowerCase();
95
+ if (!q) return [];
96
+ const lines = text.split(/\r?\n/);
97
+ const matches = [];
98
+ for (let i = 0; i < lines.length; i++) {
99
+ if (lines[i].toLowerCase().includes(q)) {
100
+ const from = Math.max(0, i - 2);
101
+ const to = Math.min(lines.length, i + 3);
102
+ matches.push({
103
+ line: i + 1,
104
+ excerpt: lines.slice(from, to).join("\n"),
105
+ });
106
+ if (matches.length >= maxResults) break;
107
+ }
108
+ }
109
+ return matches;
110
+ }
111
+
112
+ export async function startMcp() {
113
+ const version = await readPackageVersion();
114
+ const server = new McpServer(
115
+ {
116
+ name: "@htmlbricks/mcp",
117
+ version,
118
+ title: "HTML Bricks catalog MCP",
119
+ },
120
+ {
121
+ capabilities: {
122
+ resources: { subscribe: false, listChanged: false },
123
+ tools: {},
124
+ prompts: {},
125
+ },
126
+ }
127
+ );
128
+
129
+ server.registerResource(
130
+ "agent-reference",
131
+ RESOURCE_REFERENCE_URI,
132
+ {
133
+ title: "HTML Bricks — agent component reference",
134
+ description:
135
+ "Merged Markdown reference for all hb-* elements: props (snake_case), events, slots, theming.",
136
+ mimeType: "text/markdown",
137
+ },
138
+ async () => {
139
+ const text = await getAgentReferenceMarkdown();
140
+ return {
141
+ contents: [{ uri: RESOURCE_REFERENCE_URI, mimeType: "text/markdown", text }],
142
+ };
143
+ }
144
+ );
145
+
146
+ server.registerResource(
147
+ "package-list",
148
+ RESOURCE_LIST_URI,
149
+ {
150
+ title: "HTML Bricks — package list",
151
+ description: "list.json from hb-bundle: component metadata, versions, tags, IIFE paths.",
152
+ mimeType: "application/json",
153
+ },
154
+ async () => {
155
+ const text = await getPackageListJson();
156
+ return {
157
+ contents: [{ uri: RESOURCE_LIST_URI, mimeType: "application/json", text }],
158
+ };
159
+ }
160
+ );
161
+
162
+ server.registerResource(
163
+ "development-guide",
164
+ RESOURCE_GUIDE_URI,
165
+ {
166
+ title: "HTML Bricks — development guide for agents",
167
+ description: "Conventions, CDN usage, and workflow for building pages with hb-* components.",
168
+ mimeType: "text/markdown",
169
+ },
170
+ async () => ({
171
+ contents: [{ uri: RESOURCE_GUIDE_URI, mimeType: "text/markdown", text: DEVELOPMENT_GUIDE }],
172
+ })
173
+ );
174
+
175
+ server.registerTool(
176
+ "search_catalog",
177
+ {
178
+ title: "Search catalog reference",
179
+ description:
180
+ "Search the HTML Bricks agent reference (Markdown) for a keyword: tag name, attribute, or topic. Returns line numbers and short excerpts.",
181
+ inputSchema: {
182
+ query: z.string().min(1).describe("Case-insensitive substring to find"),
183
+ max_results: z
184
+ .number()
185
+ .int()
186
+ .min(1)
187
+ .max(80)
188
+ .optional()
189
+ .describe("Maximum matches (default 25)"),
190
+ },
191
+ },
192
+ async ({ query, max_results = 25 }) => {
193
+ const text = await getAgentReferenceMarkdown();
194
+ const matches = searchInText(text, query, max_results);
195
+ if (matches.length === 0) {
196
+ return {
197
+ content: [
198
+ {
199
+ type: "text",
200
+ text: `No matches for ${JSON.stringify(query)} in the agent reference.`,
201
+ },
202
+ ],
203
+ };
204
+ }
205
+ const body = matches
206
+ .map((m) => `--- Line ${m.line} ---\n${m.excerpt}`)
207
+ .join("\n\n");
208
+ return {
209
+ content: [{ type: "text", text: body }],
210
+ };
211
+ }
212
+ );
213
+
214
+ server.registerTool(
215
+ "get_bundle_cdn_urls",
216
+ {
217
+ title: "hb-bundle CDN base URLs",
218
+ description:
219
+ "Returns jsDelivr base URLs for @htmlbricks/hb-bundle for this MCP package version (IIFE, list.json, agent reference).",
220
+ inputSchema: {},
221
+ },
222
+ async () => {
223
+ const v = await readPackageVersion();
224
+ const base = `https://cdn.jsdelivr.net/npm/@htmlbricks/hb-bundle@${v}`;
225
+ const lines = [
226
+ `version: ${v}`,
227
+ `bundle_root: ${base}/`,
228
+ `main_iife: ${base}/main.iife.js`,
229
+ `list_json: ${base}/list.json`,
230
+ `agent_reference: ${base}/agents/docs/AGENT_WEBCOMPONENTS_REFERENCE.md`,
231
+ `style_light: ${base}/style/bundle.light.vars.css`,
232
+ `style_dark: ${base}/style/bundle.dark.vars.css`,
233
+ ].join("\n");
234
+ return { content: [{ type: "text", text: lines }] };
235
+ }
236
+ );
237
+
238
+ server.registerPrompt(
239
+ "plan_htmlbricks_page",
240
+ {
241
+ title: "Plan a page with HTML Bricks",
242
+ description:
243
+ "Guides the model to read catalog resources and then design HTML using hb-* components.",
244
+ argsSchema: {
245
+ goal: z.string().describe("What the page or UI should accomplish"),
246
+ },
247
+ },
248
+ async ({ goal }) => ({
249
+ messages: [
250
+ {
251
+ role: "user",
252
+ content: {
253
+ type: "text",
254
+ text: `You are building web UI with **HTML Bricks** (\`hb-*\` custom elements).
255
+
256
+ First, read MCP resources:
257
+ - ${RESOURCE_GUIDE_URI}
258
+ - ${RESOURCE_REFERENCE_URI}
259
+
260
+ Rules: use **snake_case** attributes with **string** values; follow Bootstrap 5 and Bootstrap Icons; align with the reference for props and events.
261
+
262
+ Goal: ${goal}
263
+
264
+ Produce a concise plan (sections, components, key attributes), then valid HTML example snippets using the correct \`hb-*\` tags.`,
265
+ },
266
+ },
267
+ ],
268
+ })
269
+ );
270
+
271
+ const transport = new StdioServerTransport();
272
+ await server.connect(transport);
273
+ }