Skip to main content
Glama
725,932 tools. Updated 2026-10-30 18:48

"Tailwind CSS" matching MCP tools:

  • Rewrite Tailwind CSS classes into their canonical short form. Turns arbitrary values back into real design tokens: p-[1rem] becomes p-4, rounded-[24px] becomes rounded-3xl, -bottom-[4px] becomes -bottom-1. Backed by 12,438 replacements generated from Tailwind 4.3.3's own design system, so the answers are authoritative rather than guessed. Handles one class at a time and does NOT merge across classes (px-4 py-4 into p-4, w-6 h-6 into size-6) — that needs the surrounding group to be safe to collapse; use NormWind for that.
    ConnectorNo auth
  • Use this when the user asks how well one of their boards covers a keyword or topic, or when auditing whether a board is on-topic. Scores a board's own live Pinterest content against a keyword and returns the Pins that earned the score, each with its own relevance. This reads the board's real Pins from Pinterest, not just what Tailwind scheduled to it, so it covers Pins added outside Tailwind too. Metered: each scored call spends one plan credit, so score the board once and reuse the result rather than re-calling per question. A board that returns state "absent" yielded no readable Pins — it is empty, or the Pinterest connection needs reconnecting — and is not charged; report that as unknown coverage, never as poor coverage. Large boards are scored from a capped sample; when truncated is true say the score covers part of the board. If the user did not say which Pinterest account to use and list_accounts returns more than one, ask the user which account to use before calling this — do not choose for them.
    ConnectorOAuth
  • Overwrite the agent's customCSS field with new CSS that styles the chat widget. IMPORTANT: this REPLACES the existing customCSS value — always pass the FULL merged CSS (existing + your new rules), not just the delta. Workflow: (1) call get_widget_css_styling_guide to load selectors + rules, (2) optionally call get_agent_custom_css to read what's already there, (3) generate the merged CSS following the guide, (4) call this tool to persist. Pass an empty string to clear all customCSS for the agent.
    Connector
    Destructive
    API key
  • Fast, fully deterministic brand colour audit. Accepts a palette array plus market, use_case, medium and brand_category. COMPUTED SYNCHRONOUSLY, no model call of any kind: colour roles with archive names, the full WCAG accessibility matrix, cultural risk per colour, CSS variables, Tailwind config, design tokens and production notes. NOT COMPUTED HERE: palette interpretation -- the verdict, its score and the written narrative copy. Those require an LLM call and used to be made inside this tool without saying so, which put a normal five-colour audit at 43-45s. The palette_verdict and verdict_copy keys are still returned, carrying interpretation_status='not_computed' plus a ready-to-send palette_verdict.continuation.arguments -- forward those verbatim to the palette_verdict tool to get the interpretation. Replaces chaining accessibility_matrix + cultural_risk_assessment; palette_verdict is now an explicit, optional second call rather than a hidden one. FOR A LIVE-SITE BRAND AUDIT ('audit this website'): inspect representative rendered pages FIRST (homepage, about, one deep page) and pass what you observed as site_evidence -- a CSS scrape alone is not an audit of what a visitor sees, and the response's audit_evidence.audit_status will say PARTIAL until real multi-page rendered evidence is supplied. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth
  • Get a product's full, LLM-verified design system so you can match its exact look. Use this for "design like <product>" (e.g. site="Linear", "Stripe", "Figma"). Returns (default): color_scheme; colors with named roles (background, text, primary, secondary, accent, link, button_bg, button_text); fonts + font_roles; type_scale; spacing; primary/secondary button; framework + personality. All hex normalized. Deep-decoded products additionally include measured button hover/focus states, a shadow elevation scale (card/overlay/subtle), motion durations + easings, the measured spacing scale, the brand's own CSS custom properties (css_vars), and Icon DNA (icons: style outline/filled/duotone/3d, grid, stroke_weight, corner) — all measured from the live page, not guessed. Match them exactly; pass the domain to generate_asset(style_from=...) to strike icons in this exact style. Your own private BYODS design systems (call list_my_design_systems) resolve first. format: leave empty for the raw token dict. Pass "all" to also get paste-ready DESIGN.md / Tailwind v4 / CSS variables / W3C tokens JSON, or a single format name ("tailwind", "css", "design_md", "tokens", "astryx") to get just that text. "astryx" returns a ready Meta-Astryx defineTheme TypeScript file (measured hover/press states + [light,dark] tuples baked in) — save it and run `npx astryx theme build` for production CSS.
    ConnectorNo auth
  • Fast, fully deterministic brand colour audit. Accepts a palette array plus market, use_case, medium and brand_category. COMPUTED SYNCHRONOUSLY, no model call of any kind: colour roles with archive names, the full WCAG accessibility matrix, cultural risk per colour, CSS variables, Tailwind config, design tokens and production notes. NOT COMPUTED HERE: palette interpretation -- the verdict, its score and the written narrative copy. Those require an LLM call and used to be made inside this tool without saying so, which put a normal five-colour audit at 43-45s. The palette_verdict and verdict_copy keys are still returned, carrying interpretation_status='not_computed' plus a ready-to-send palette_verdict.continuation.arguments -- forward those verbatim to the palette_verdict tool to get the interpretation. Replaces chaining accessibility_matrix + cultural_risk_assessment; palette_verdict is now an explicit, optional second call rather than a hidden one. FOR A LIVE-SITE BRAND AUDIT ('audit this website'): inspect representative rendered pages FIRST (homepage, about, one deep page) and pass what you observed as site_evidence -- a CSS scrape alone is not an audit of what a visitor sees, and the response's audit_evidence.audit_status will say PARTIAL until real multi-page rendered evidence is supplied. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth

Matching MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Finds the closest Tailwind CSS palette colors to any given CSS color value. Supports multiple color spaces and customizable result filtering to help match designs to Tailwind's color system.
    1
    -

Matching MCP Connectors

  • Tailwind MCP server — list Pinterest accounts and create, schedule, and manage Pinterest posts.

  • What CSS you can actually ship today, from live Baseline data and MDN browser-compat-data.

  • Fast, fully deterministic brand colour audit. Accepts a palette array plus market, use_case, medium and brand_category. COMPUTED SYNCHRONOUSLY, no model call of any kind: colour roles with archive names, the full WCAG accessibility matrix, cultural risk per colour, CSS variables, Tailwind config, design tokens and production notes. NOT COMPUTED HERE: palette interpretation -- the verdict, its score and the written narrative copy. Those require an LLM call and used to be made inside this tool without saying so, which put a normal five-colour audit at 43-45s. The palette_verdict and verdict_copy keys are still returned, carrying interpretation_status='not_computed' plus a ready-to-send palette_verdict.continuation.arguments -- forward those verbatim to the palette_verdict tool to get the interpretation. Replaces chaining accessibility_matrix + cultural_risk_assessment; palette_verdict is now an explicit, optional second call rather than a hidden one. FOR A LIVE-SITE BRAND AUDIT ('audit this website'): inspect representative rendered pages FIRST (homepage, about, one deep page) and pass what you observed as site_evidence -- a CSS scrape alone is not an audit of what a visitor sees, and the response's audit_evidence.audit_status will say PARTIAL until real multi-page rendered evidence is supplied. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth
  • When the user says a screen looks generic, cheap or off and you need to know WHY — paste the code and get numbers back. This is the one tool here that reads YOUR work instead of someone else's product. Give it the component's CSS, or the JSX/HTML with its class attributes (Tailwind utilities are read on the default scale), or both. It measures what the paste actually contains — type ladder, spacing grid, radii, transition timing, container width — grades each against hundreds of live-decoded real products, and returns findings worst-first, each with the value, its percentile, the corpus median and the change to make. It only ever reports what it could genuinely read, and lists what it could not: it sees the source, not the rendered screen, so colour contrast, hover/focus states and runtime-resolved variables are out of reach — for a public URL, get_score(domain) reads those from the live DOM instead. Free and unmetered. Args: code: the CSS and/or markup to audit. Paste the real thing, not a summary.
    ConnectorNo auth
  • NEW SITE? STOP — run the BUILD ORDER first (get_account → ask single-file vs multi-page + notification emails → create_data_collection for EVERY repeating section → create_form / create_booking_page → upload_media → THEN deploy). Deploys ONE self-contained HTML file (markup, Tailwind CDN classes, small JS in index.html; optional css/js). Hardcoded list content that belongs in Data is a BROKEN build. After deploy: assign_to_project, configure_chatbot, and ALWAYS hand the user the complete site code in your own interface — deploying alone is not the deliverable. get_guide("workflow") has the full rules. Returns a live URL; reusing a project name redeploys it in-place.
    Connector
    Destructive
    OAuth
  • Inject site-wide CSS and/or JavaScript on every page. ONE snippet carries both: put CSS in a <style> block and JS in a <script> block in the same `code` body. Use this for anything the brand kit's design tokens cannot express — backdrop-filter, clip-path, layered shadows, @keyframes animation, scroll/sticky behaviour, analytics and third-party embeds. `name` is the IDEMPOTENCY KEY: re-pushing the same name UPDATES that snippet, so a re-run cannot stack duplicates that all inject at once. CHANGES EVERY PAGE — pass confirm=true. READ `rendered` IN THE RESPONSE, NOT THE STATUS CODE: the connector fetches the front page and reports whether the code actually reached the HTML, so a snippet that saved but never rendered comes back rendered=false with a hint instead of looking like success. The XeoRank Connector injects these itself on wp_head / wp_body_open / wp_footer, so it needs NO Elementor Pro and works on any theme — but it also means the snippets live in XeoRank, not in Elementor's Custom Code UI. Requires Connector v0.9.2+. CHOOSING THE RIGHT HOME: this renders on the frontend, but CSS that must show inside the Elementor editor CANVAS belongs in wp_set_brand_kit(custom_css); CSS scoped to one element belongs in wp_patch_page(style.custom_css). Prefer brand-kit TOKENS over CSS whenever a token can express it — tokens stay editable in the UI, CSS does not.
    Connector
    Destructive
    OAuth
  • Create a hosted landing page site shell with analytics, forms, and versioning. ランディングページ作成、LP作成、ホームページ作成、ページ作成。Equivalent to create_landing_page. If the user requested a specific full URL or path URL such as https://www.example.com/lp2, pass it in the url argument. Do not turn the requested path into a Convika subdomain. After creation, use save_page_content to add HTML (Tailwind CSS v3), then create_preview for user review. Only use publish_site after the user explicitly asks to publish/go live. Convika handles hosting, SSL, CDN, and custom domains automatically. If guidance.existingSite is present, the requested URL's hostname shows or forwards to another site now, and connecting it would replace that. Tell the user before any DNS change, as the text says. New pages per UTC day, per workspace: Free 10, Pro 100, MAX 1000. The count resets at midnight UTC and includes pages created through the dashboard, uploads, built-in AI, MCP, and free tools. Deleting a page does not restore the day's allowance.
    ConnectorOAuth
  • Sends a report about a wrong result from a Tailwind tool to the people who maintain these tools, who read every report. Use this when the user asks to report a problem or send feedback to the Tailwind team about a result: an output they tell you is wrong, a result that contradicts another result, or one you had to work around. If you notice a wrong result yourself, tell the user what you found and offer to report it; send it only if they agree. Describe what was asked for, what came back, and why it is wrong: 'list_boards returned 4 boards but the same account shows 11 in get_account' is actionable, 'boards are broken' is not. Name the tool you think is at fault in `tool`, even if you are unsure of the exact name — a near miss is still useful. What you write is recorded in Tailwind's analytics and posted to an internal Tailwind channel for staff to read, so describe the problem rather than quoting the user's content, and never include credentials or personal data. Write the report itself in English, even when you are working with the user in another language: the Tailwind staff who read these do not all read the user's language, and a report they cannot read is acted on late or not at all. Translate what you need to say rather than leaving it out, and keep speaking to the user in their own language. This does not fix anything now and returns nothing you can use, so tell the user the report was sent and carry on with the corrected information. Do not use it for calls that plainly failed: a rejected argument, an expired connection, or an out-of-credits message are errors to handle, not wrong answers. If the feedback is about something Tailwind has no tool for, use request_capability instead.
    ConnectorOAuth
  • How a form’s public page is styled: accent, page, card and text colours (hex), corner radius, and the author’s custom CSS in full. Read this before restyling — update_form_appearance merges, but you cannot edit CSS you have not seen. Everything unset means the default look. Requires form:write.
    ConnectorAPI key
  • Clear Elementor's CSS cache and bump the versioned per-post CSS files. Every write path already does this automatically, so reach for it only when a change you can confirm landed in the data is still not visible — a stale post-<id>.css being served from a CDN or host page cache. It does NOT purge caches outside WordPress; if it does not help, the cache is at the CDN.
    ConnectorOAuth
  • Use this when the user wants to connect another Pinterest account to Tailwind, asks how many Pinterest accounts their plan allows, or has an account whose tokenStatus is unauthorized in list_accounts or get_account. Returns a link the user opens in their browser to finish connecting through Pinterest. Pass accountId to re-authorize that existing account; omit it to add a new one. Adding a new account is checked first: when the user is not an organization admin or the plan has no room, no link is returned and the response says why. Calling this changes nothing: the account is connected, and any billing change is shown, only when the user completes the flow in the browser. The browser must be signed in to the same Tailwind organization, and to the Pinterest account the user wants to connect, because Pinterest connects whichever Pinterest account is signed in.
    ConnectorOAuth
  • Use this when the user asks what Pin Spacing rules their account has, or when planning a high-volume schedule across many destination URLs: lists the account-wide default rule, every URL-specific custom rule, and the linked URLs that follow another URL's rule. Pin Spacing is the minimum number of days Tailwind keeps between scheduled Pins that share a destination URL, so a daily cadence needs enough distinct URLs to fill it. To find the rule one particular URL gets, call get_pin_spacing_rule rather than matching URLs against this list: matching ignores http/https and trailing slashes, and a linked URL inherits its base URL's rule. Read-only: rules can only be changed in the Tailwind dashboard. If the user did not say which Pinterest account to use and list_accounts returns more than one, ask the user which account to use before calling this — do not choose for them.
    ConnectorOAuth
  • Use this when the user wants to delete a Pin draft or scheduled Pin in Tailwind: permanently deletes an unpublished Pin by postId (from create_post or list_posts). Only works on Pins not yet published to Pinterest — published Pins cannot be deleted through Tailwind, and deletion cannot be undone. To change a Pin's title, description, link, Board, Board section, alt text or product tags, use update_post instead of deleting it; only a change of image needs a delete and a fresh create_post. To take a scheduled Pin off the schedule but keep it, use unschedule_post instead. If the user did not say which Pinterest account to use and list_accounts returns more than one, ask the user which account to use before calling this — do not choose for them.
    Connector
    Destructive
    OAuth
  • Sends a feature request or a missing-capability report to Tailwind's product team, who read these. Use this when the user asks to send feedback or a feature request to the Tailwind team. If you find something Tailwind's tools cannot do — a tool you expected and could not find, a field or filter that does not exist, or a step you had to work around or abandon — tell the user and offer to pass it along; send it only if they agree. Describe what the user was trying to accomplish and what was missing, not just a tool name — 'no way to edit a scheduled Pin's board after creating it' is actionable, 'update_board_v2 missing' is not. What you write is recorded in Tailwind's analytics and posted to an internal Tailwind channel for staff to read, so describe the gap rather than quoting the user's content, and never include credentials or personal data. Write the report itself in English, even when you are working with the user in another language: the Tailwind staff who read these do not all read the user's language, and a report they cannot read is acted on late or not at all. Translate what you need to say rather than leaving it out, and keep speaking to the user in their own language. This does not fix anything now and returns no result you can use, so tell the user it was sent and continue with what Tailwind can do. Do not use it for things that failed for another reason: a rejected argument, an expired connection, or an out-of-credits message are not missing capabilities. Tailwind Communities (formerly Tribes) has no tool here: these tools cannot list the user's Communities, share Pins to one, or read how a Community performs. Tailwind is replacing Communities with Turbo Groups, niche groups of creators who see and engage with each other's Pins in Turbo, which the user joins from suggestions in their Turbo feed and finds again under My Groups in the Tailwind app. Turbo Groups has no tool either. A request for either one is a missing capability that request_capability records; Pinterest group boards (list_group_boards) are a different feature and do not answer it.
    ConnectorOAuth
  • Pretty-print or minify CSS, SCSS or Less, optionally sorting declarations alphabetically. Sorting is cascade-safe: a shorthand and its longhands (border / border-top, margin / margin-top, font / line-height) keep their original relative order. Minify removes comments and whitespace only; values such as 0px or colours are never rewritten. Returns: Text: the stylesheet. structuredContent { code, movedDeclarations, warnings[] }. Example input: {"css":".a{z-index:1;color:red;border-top:1px solid;border:0}","mode":"beautify","syntax":"css","sort":true,"indent":2} On error, includes hint: Unbalanced braces or an unterminated string or comment are reported as errors.
    ConnectorNo auth
  • Get the guide to authoring a wireframe mockup — the markup dialect, the wireframe component set, what the drawn style discards, and a complete valid example. Call this BEFORE composing your first mockup in a conversation: markup written from general Tailwind and HTML habits is refused, and the guide is what an author needs to write a mockup that is accepted first time.
    ConnectorOAuth
  • Detect a page's stack as two separate fields: `framework` — the application framework, CMS or site builder (e.g. nextjs, nuxt, sveltekit, vitepress, astro, gatsby, wordpress, shopify, mediawiki, vue, react; "unknown" when no signal) — and `cssToolkit` (tailwind, bootstrap, mui, plain-css). Lists the evidence it used and the value to pass as generate_ai_fix `framework`. scan_page reports the same two fields from the same detection. NOTE: on this HOSTED server, localhost and private addresses are refused — it runs in our cloud and cannot reach your machine. Two ways to scan a local dev server: run the MCP locally (`npx -y @webability/mcp`, simplest — nothing leaves the machine), or open a tunnel (`webability-tunnel --port 3000`) and pass its URL as `url` together with the printed secret as `tunnel_secret`.
    ConnectorNo auth