Tailwind Context Resolver Mcp

io.github.vola-treblaPublished by GitHub account vola-treblav0.2.0Updated Oct 24, 2026

Resolves Tailwind CSS design tokens and validates utility classes against the local project config.

The publisher's own server: Tailwind App

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Lets an assistant read a project's resolved Tailwind CSS v3 theme and validate utility class strings against it.

What you can do
Loads the project's tailwind.config.js or .ts and exposes the resolved design system through four tools. resolve_theme_tokens returns tokens for a namespace such as colors.brand or spacing; validate_class_string splits a className string into valid and invalid classes and flags conflicts; detect_css_conflicts reports utilities that clash, such as flex with grid; get_config_summary reports Tailwind version, prefix, customized theme sections and plugins. Validation is token-based rather than a full PostCSS/JIT run.
When to use it
Useful when an assistant writes Tailwind classes in a project with a custom palette, spacing scale, prefix or brand tokens, and you want it to check names against the real config instead of the default theme. Best suited to component or UI work in an existing Tailwind v3 codebase.
Requirements
Runs locally over stdio, typically started with npx. Needs Node.js 18+ and a tailwind.config.js or tailwind.config.ts in the project. Tailwind CSS v3 only; v4's CSS-based config is not supported. No accounts, API keys or environment variables are declared.
Before you install
Reads the project's Tailwind config, so it should be pointed at the intended project directory. It only reads and validates; it does not modify files or send data to third parties. No credentials are requested.

Installation

In SourceWeft

  1. Open Tailwind Context Resolver Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

tailwind-context-resolver-mcp 🎨🐸

[npm version] [npm downloads] [CI] [License: MIT]

An MCP server that loads your project's tailwind.config.ts/js and exposes its actual design system to AI agents — so they stop hallucinating class names.


🤔 The Problem

AI agents generate Tailwind classes based on training data — the default Tailwind docs. Your project is not the default docs.

You have a custom color palette. A non-standard spacing scale. Maybe a prefix like tw-. Brand tokens like bg-brand-primary. The agent doesn't know any of this. It guesses.

The result:

jsx
// Agent confidently generates this:<div className="bg-primary-500 text-brand p-18 tw-flex-center">
// Your project has:// - bg-brand-primary (not bg-primary-500)// - no "text-brand" token// - spacing.18 = 4.5rem (ok actually)// - no "flex-center" utility// - no "tw-" prefix

The agent can't validate what it writes because it has no access to your resolved config. It's working from memory of the default theme — not yours.


✅ The Fix

This MCP server runs the Tailwind resolver locally and gives agents a typed, queryable interface to your actual config. Before writing a component, the agent can ask:

  • "What brand colors exist in this project?"
  • "Is p-18 a valid spacing value here?"
  • "Does this project use a custom prefix?"
  • "Is bg-brand-primary flex grid a valid class string?"

🛠️ Tools

resolve_theme_tokens

Query any namespace in the resolved Tailwind theme. Returns all design tokens as flat key-value pairs.

namespace: "colors.brand" → { primary: "#3b82f6", secondary: "#8b5cf6", danger: "#ef4444" }namespace: "spacing"      → { "1": "0.25rem", "2": "0.5rem", "18": "4.5rem", ... }namespace: "fontFamily"   → { sans: ["Inter", "sans-serif"], mono: [...] }

Use before generating components to discover what tokens actually exist.

validate_class_string

Validates a Tailwind className string against the project's resolved config. Returns valid classes, invalid (hallucinated) classes, and conflict warnings.

json
{  "valid_classes": ["bg-brand-primary", "text-white", "p-4", "hover:bg-brand-secondary", "flex"],  "invalid_classes": ["bg-fake-token", "text-brand"],  "warnings": ["Conflicting multiple layout models: flex, grid"],  "config_prefix": ""}

Use to catch hallucinated design tokens before writing code.

detect_css_conflicts

Detects conflicting Tailwind utilities — e.g. flex + grid, or absolute + fixed on the same element.

json
{  "conflicts": [{ "classes": ["flex", "grid"], "reason": "multiple layout models" }],  "has_conflicts": true}

get_config_summary

Returns a compact overview: Tailwind version, prefix, which theme sections are customized, active plugins.

json
{  "tailwind_version": "3.4.19",  "prefix": "",  "theme_extensions": ["colors", "spacing", "fontFamily"],  "total_colors": 142,  "total_spacing": 34,  "plugins": ["@tailwindcss/forms"]}

Use first to understand the project's design system before querying specific tokens.


🚀 Setup

Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "tailwind-context-resolver": {      "command": "npx",      "args": ["-y", "tailwind-context-resolver-mcp"]    }  }}

Cursor / VS Code / Any MCP client

json
{  "tailwind-context-resolver": {    "command": "npx",    "args": ["-y", "tailwind-context-resolver-mcp"]  }}

📋 Requirements

  • Tailwind CSS v3 — v4 uses a CSS-based config format and is not supported (the server will tell you clearly)
  • Node.js 18+
  • A tailwind.config.js or tailwind.config.ts in your project

🔧 How It Works

The server uses the same config loading strategy as the Tailwind CLI:

  1. jiti loads your tailwind.config.ts at runtime — no ts-node required
  2. tailwindcss/resolveConfig merges your config with Tailwind defaults to produce the full resolved theme
  3. Tools perform token-based class validation — checking that bg-brand-primary maps to an actual colors.brand.primary token — without running the full PostCSS/JIT pipeline

This approach is fast, stable, and works with any Tailwind v3 project without additional configuration.


📖 Agent Workflow Example

1. get_config_summary       → understand the project's design system2. resolve_theme_tokens     → query specific namespaces before writing classes   (namespace: "colors.brand", "spacing")3. validate_class_string    → validate the className string before committing it4. detect_css_conflicts     → final sanity check for conflicting utilities

🐸 Part of the MCP Toolbelt

Built alongside:


License

MIT

Source: README.md at commit 2e58837

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tailwind integrations