{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T15:52:24.541Z","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades","markdownUrl":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades.md","server":{"slug":"bourhaouta-tailwindshades","name":"Tailwind Shades","registryName":"io.github.bourhaouta/tailwindshades","description":"Tailwind CSS palettes (50-950) from any color, the closest Tailwind color, and Tailwind's defaults","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"tailwindshades","type":"remote","identifier":"https://tailwindshades.bourhaouta.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades","version":"1.6.0","transport":null,"scoredAt":"2026-11-05T05:13:03.286Z"},"score":{"total":88,"tier":"high trust","status":"scored","weekDelta":1,"history":[{"date":"2026-11-05","total":88},{"date":"2026-11-04","total":88},{"date":"2026-11-03","total":88},{"date":"2026-11-02","total":88},{"date":"2026-11-01","total":88},{"date":"2026-10-31","total":88},{"date":"2026-10-30","total":88},{"date":"2026-10-29","total":87},{"date":"2026-10-28","total":87},{"date":"2026-10-27","total":86},{"date":"2026-10-26","total":86},{"date":"2026-10-25","total":85},{"date":"2026-10-24","total":85},{"date":"2026-10-23","total":84},{"date":"2026-10-22","total":84},{"date":"2026-10-21","total":83},{"date":"2026-10-20","total":83},{"date":"2026-10-19","total":82},{"date":"2026-10-18","total":82},{"date":"2026-10-17","total":81},{"date":"2026-10-16","total":81},{"date":"2026-10-15","total":81},{"date":"2026-10-14","total":80},{"date":"2026-10-13","total":80},{"date":"2026-10-12","total":79},{"date":"2026-10-10","total":78},{"date":"2026-10-07","total":77},{"date":"2026-10-04","total":76},{"date":"2026-10-03","total":76},{"date":"2026-10-02","total":73}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":78,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1209 tokens (~241/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"241","items":"5","tools":"5","tokens":"1209","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"tailwindshades","type":"remote","identifier":"https://tailwindshades.bourhaouta.com/mcp","withdrawn":false,"score":88,"current":true,"url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades","markdownUrl":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades.md"},{"slug":"tailwindshades-mcp","type":"npm","identifier":"tailwindshades-mcp","withdrawn":false,"score":95,"current":false,"url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades-mcp","markdownUrl":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades-mcp.md"}],"facts":[{"label":"Endpoint","value":"https://tailwindshades.bourhaouta.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.6.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"generate_palette","title":"Generate a Tailwind palette","description":"Generates a full Tailwind CSS palette (50-950) from one color, ready to paste. Call it whenever you add a color to a Tailwind theme (e.g. \"add a brand color #db4d53\"), instead of writing a single variable or inventing shades. The input color stays exactly at its best-fit shade, and the other shades follow the closest Tailwind color, so they look like Tailwind's own.","inputs":[{"name":"color","type":"string","required":true,"description":"Any CSS color: hex (#db4d53), rgb(), hsl(), oklch() or a named color"},{"name":"format","type":"string","required":false,"description":"Color format. Defaults to oklch for v4 and hex for older versions"},{"name":"name","type":"string","required":false,"description":"Color name used in the code, e.g. \"brand\". Defaults to the closest Tailwind color, which replaces Tailwind's own palette of that name (e.g. red), so pass a name unless that is what the user wants"},{"name":"output","type":"string","required":false,"description":"theme: a v4 @theme block for the main CSS file. config: an object for theme.extend.colors in tailwind.config.js. css: plain CSS variables. live (v4 only): for a color picked at runtime (user, tenant…"},{"name":"plain","type":"boolean","required":false,"description":"With output live or shopify: a plain :root block instead of @theme, for projects without Tailwind (like the Dawn theme)"},{"name":"semantic","type":"boolean","required":false,"description":"With output live or shopify: also add --color-<name>-foreground for text on the color: white or the darkest shade, whichever contrasts more, following the runtime color"},{"name":"tailwindVersion","type":"number","required":false,"description":"The project's Tailwind CSS major version. Defaults to 4"}],"outputs":[{"name":"avoid","type":"object","required":false,"description":"White text on the input color, when it fails WCAG AA"},{"name":"closestTailwindColor","type":"string","required":true,"description":"Tailwind color whose curve the palette follows"},{"name":"code","type":"string","required":true,"description":"The palette as code, ready to paste"},{"name":"format","type":"string","required":true,"description":null},{"name":"inputShade","type":"number","required":true,"description":"Shade that holds the input color unchanged, e.g. 500"},{"name":"name","type":"string","required":true,"description":null},{"name":"output","type":"string","required":true,"description":null},{"name":"readablePairs","type":"array","required":false,"description":"Text and background pairs that pass WCAG AA. Use them for text and buttons in this color. Not for live and shopify outputs, whose shades change at runtime"},{"name":"replacesTailwindColor","type":"boolean","required":true,"description":"True when the code replaces a default Tailwind palette (default color name, theme or config output)"},{"name":"shades","type":"array","required":true,"description":null},{"name":"tailwindVersion","type":"number","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":456},{"name":"find_closest_tailwind_color","title":"Find the closest Tailwind color","description":"Finds the shade in Tailwind's default palette that looks most like a given color, e.g. #db4d53 -> red-500. Use it to pick an existing Tailwind class (bg-red-500) instead of an arbitrary value. If the difference is visible, use generate_palette to add the exact color as a custom palette instead.","inputs":[{"name":"color","type":"string","required":true,"description":"Any CSS color: hex (#db4d53), rgb(), hsl(), oklch() or a named color"},{"name":"tailwindVersion","type":"number","required":false,"description":"The project's Tailwind CSS major version. Defaults to 4"}],"outputs":[{"name":"className","type":"string","required":true,"description":"Color part of a utility class, e.g. \"red-400\" for bg-red-400"},{"name":"distance","type":"number","required":true,"description":"OKLab distance: 0 is identical, under 0.02 is hard to see"},{"name":"input","type":"object","required":true,"description":"The input color"},{"name":"name","type":"string","required":true,"description":"Tailwind color name, e.g. \"red\""},{"name":"shade","type":"number","required":true,"description":"Closest shade, e.g. 500"},{"name":"tailwindValue","type":"object","required":true,"description":"Tailwind's value for that shade"},{"name":"tailwindVersion","type":"number","required":true,"description":null},{"name":"visiblyDifferent","type":"boolean","required":true,"description":"True when the Tailwind shade looks different from the input"}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":135},{"name":"get_tailwind_palette","title":"Get Tailwind's default colors","description":"Looks up Tailwind's own default colors, exactly as Tailwind defines them: a whole color (e.g. \"blue\", all shades) or one shade (e.g. \"slate-500\"), for Tailwind v4, v3, v2 or v1. Use it instead of writing default Tailwind color values from memory. Values are oklch() in v4 and hex in older versions.","inputs":[{"name":"name","type":"string","required":true,"description":"A default Tailwind color, like \"blue\", or one shade of it, like \"blue-500\""},{"name":"tailwindVersion","type":"number","required":false,"description":"The project's Tailwind CSS major version. Defaults to 4"}],"outputs":[{"name":"name","type":"string","required":true,"description":"Tailwind color name, e.g. \"blue\""},{"name":"shades","type":"array","required":true,"description":"All shades, or only the one asked for"},{"name":"tailwindVersion","type":"number","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":144},{"name":"list_tailwind_colors","title":"List Tailwind's default colors","description":"Lists the names of Tailwind's default colors for a Tailwind version (e.g. red, slate, mauve in v4), with the shades each one has and its 500 value as a sample. Use it to see which colors exist before calling get_tailwind_palette or picking a utility class.","inputs":[{"name":"tailwindVersion","type":"number","required":false,"description":"The project's Tailwind CSS major version. Defaults to 4"}],"outputs":[{"name":"colors","type":"array","required":true,"description":null},{"name":"shades","type":"array","required":true,"description":"Shades every color has, e.g. 50 to 950"},{"name":"tailwindVersion","type":"number","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":93},{"name":"convert_color","title":"Convert a color","description":"Converts any CSS color to oklch(), hex and rgb, formatted like Tailwind (oklch() is what Tailwind v4 uses). Colors outside a format are mapped into it: oklch() to Display P3 like Tailwind's palette, hex and rgb to sRGB. Use it for one value; to add a color with all its shades, call generate_palette instead.","inputs":[{"name":"color","type":"string","required":true,"description":"Any CSS color: hex (#db4d53), rgb(), hsl(), oklch() or a named color"}],"outputs":[{"name":"hex","type":"string","required":true,"description":"e.g. #db4d53"},{"name":"oklch","type":"string","required":true,"description":"e.g. oklch(61.6% 0.177 21.62)"},{"name":"rgb","type":"string","required":true,"description":"e.g. rgb(219, 77, 83)"}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":119}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T05:13:03.000Z","track":"remote","endpoint":"https://tailwindshades.bourhaouta.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=*.bourhaouta.com","issuer":"CN=YR1,O=Let's Encrypt,C=US","notBefore":"2026-11-02T21:44:56Z","notAfter":"2027-01-31T21:44:55Z","keyType":"RSA","keyBits":2048,"isCa":false},{"subject":"CN=YR1,O=Let's Encrypt,C=US","issuer":"CN=Root YR,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=Root YR,O=ISRG,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"RSA","keyBits":4096,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"tailwindshades.bourhaouta.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"bourhaouta.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":308},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-01","recent":[{"id":"chg_01a19059-fac1-7629-bfae-f7fd200af352","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a19059-fac1-7629-bfae-f7fd200af352"},{"id":"chg_01a18b34-175e-7a04-9df8-c0658b4d374d","kind":"score.total_changed","summary":"Trust score (87 → 88)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a18b34-175e-7a04-9df8-c0658b4d374d"},{"id":"chg_01a180e8-3cab-7c3d-b947-b6265aadc4ea","kind":"score.total_changed","summary":"Trust score (86 → 87)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a180e8-3cab-7c3d-b947-b6265aadc4ea"},{"id":"chg_01a1769a-d3eb-70c0-9fa0-c14e1f221173","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a1769a-d3eb-70c0-9fa0-c14e1f221173"},{"id":"chg_01a16c4d-4b3d-7d14-bed4-df9f1375ec21","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a16c4d-4b3d-7d14-bed4-df9f1375ec21"},{"id":"chg_01a16200-c929-7cef-9a8a-c13b0f51bde2","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a16200-c929-7cef-9a8a-c13b0f51bde2"},{"id":"chg_01a157b4-2870-75bb-82d4-52f8d32f20e9","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a157b4-2870-75bb-82d4-52f8d32f20e9"},{"id":"chg_01a14d67-bf32-7518-b016-2bba9b7eb0c6","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a14d67-bf32-7518-b016-2bba9b7eb0c6"},{"id":"chg_01a13df3-93a8-7eef-8ced-b561388bac1b","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a13df3-93a8-7eef-8ced-b561388bac1b"},{"id":"chg_01a1336d-740b-7d7c-bc7f-7e3cd13628ac","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a1336d-740b-7d7c-bc7f-7e3cd13628ac"},{"id":"chg_01a1336d-740c-7973-9461-e3b3b6c8828c","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a1336d-740c-7973-9461-e3b3b6c8828c"},{"id":"chg_01a1336d-740b-71f0-82be-03d281161db7","kind":"server.version_changed","summary":"Server version (1.5.1 → 1.6.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a1336d-740b-71f0-82be-03d281161db7"},{"id":"chg_01a12de2-e3fe-71c2-9c62-763d11e0d428","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a12de2-e3fe-71c2-9c62-763d11e0d428"},{"id":"chg_01a12603-25ba-7f31-9116-5283bf178023","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-10","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a12603-25ba-7f31-9116-5283bf178023"},{"id":"chg_01a11799-42ea-7c74-a140-c2855db26757","kind":"server.version_changed","summary":"Server version (1.4.0 → 1.5.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-07","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a11799-42ea-7c74-a140-c2855db26757"},{"id":"chg_01a11799-428a-7ea1-9561-89de32afd82f","kind":"check.measure","summary":"Schema quality (191 → 237)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-07","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a11799-428a-7ea1-9561-89de32afd82f"},{"id":"chg_01a11799-43b3-7d4d-a45e-ebe76b9b3f57","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-07","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a11799-43b3-7d4d-a45e-ebe76b9b3f57"},{"id":"chg_01a0ff10-ef16-764b-91c9-d2d8355c9bfc","kind":"capability.enabled","summary":"The server now declares the “prompts” capability","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-03","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a0ff10-ef16-764b-91c9-d2d8355c9bfc"},{"id":"chg_01a0ff10-ef13-7d82-83a0-f3ac2a22551f","kind":"check.appeared","summary":"First check of Schema quality (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-03","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a0ff10-ef13-7d82-83a0-f3ac2a22551f"},{"id":"chg_01a0ff10-ef13-74fa-a3af-1f6533a18bfb","kind":"check.measure","summary":"Schema quality (236 → 191)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-03","url":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades#chg-chg_01a0ff10-ef13-74fa-a3af-1f6533a18bfb"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades/changelog.json"},"links":{"html":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades","markdown":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades.md","changelogJson":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades/changelog.json","changelogRss":"https://verifymcp.io/servers/bourhaouta-tailwindshades/tailwindshades.xml","external":[{"label":"Remote endpoint","href":"https://tailwindshades.bourhaouta.com/mcp"},{"label":"Repository","href":"https://github.com/bourhaouta/vscode-tailwindshades"},{"label":"Website","href":"https://tailwindshades.bourhaouta.com/"}]}}