tailwind-context-resolver-mcp について
tailwind-context-resolver-mcpは、Tailwind CSS v3のプロジェクトで作業するAIエージェント向けのMCPサーバーです。ローカル設定を読み込み、デザイントークンの照会や、解決済みテーマに基づくユーティリティクラスの検証を行います。
主な機能
- 01解決済みテーマトークンの照会
- 02ユーティリティクラス文字列の検証
- 03競合するユーティリティの検出
- 04設定とプラグインの概要表示
活用シーン
- 01プロジェクト内の色や余白の値を確認
- 02コンポーネント追加前にクラスを検証
- 03競合するレイアウトユーティリティを特定
MCP 対応
解決済みTailwindテーマの照会、クラスの検証、競合検出、設定の概要表示を行うツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| filter | string | いいえ | トークン名に対する任意の部分文字列フィルター |
| namespace | string | はい | テーマ内のドット区切りパス(例:'colors'、'colors.brand'、'spacing') |
| config_path | string | はい | tailwind.config.js または tailwind.config.ts の絶対パス |
詳細
tailwind-context-resolver-mcp 🎨🐸
プロジェクトの tailwind.config.ts/js を読み込み、実際のデザインシステムを AI エージェントに提供する MCP サーバーです。これにより、クラス名の幻覚を防ぎます。
🤔 問題
AI エージェントは、トレーニングデータに基づいて Tailwind クラスを生成します。つまり、デフォルトの Tailwind ドキュメントが基準です。しかし、あなたのプロジェクトはデフォルトのドキュメントとは異なります。
独自のカラーパレットや、標準外のスペーシングスケールがあるかもしれません。tw- のようなプレフィックスや、bg-brand-primary のようなブランドトークンを使っているかもしれません。エージェントはこうした情報を知りません。推測するしかありません。
その結果は次のとおりです。
// 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
エージェントは解決済みの設定にアクセスできないため、生成した内容を検証できません。あなたのテーマではなく、デフォルトのテーマの記憶を頼りに作業しています。
✅ 解決策
この MCP サーバーは Tailwind のリゾルバーをローカルで実行し、実際の設定を型付きでクエリ可能なインターフェースとしてエージェントに提供します。コンポーネントを作成する前に、エージェントは次のように質問できます。
- 「このプロジェクトにはどのようなブランドカラーがありますか?」
- 「このプロジェクトでは
p-18は有効なスペーシング値ですか?」 - 「このプロジェクトではカスタムプレフィックスを使っていますか?」
- 「
bg-brand-primary flex gridは有効なクラス文字列ですか?」
🛠️ ツール
resolve_theme_tokens
解決済みの Tailwind テーマの任意の名前空間をクエリします。すべてのデザイントークンをフラットなキーと値のペアで返します。
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: [...] }
コンポーネントの生成前に使用して、実際に存在するトークンを確認します。
validate_class_string
プロジェクトの解決済み設定に照らして、Tailwind の className 文字列を検証します。有効なクラス、無効な(幻覚による)クラス、競合の警告を返します。
{
"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": ""
}
コードを書く前に幻覚によるデザイントークンを検出するために使用します。
detect_css_conflicts
競合する Tailwind ユーティリティを検出します。たとえば、同じ要素上の flex と grid、または absolute と fixed の組み合わせです。
{
"conflicts": [{ "classes": ["flex", "grid"], "reason": "multiple layout models" }],
"has_conflicts": true
}
get_config_summary
コンパクトな概要を返します。Tailwind のバージョン、プレフィックス、カスタマイズされているテーマセクション、有効なプラグインを確認できます。
{
"tailwind_version": "3.4.19",
"prefix": "",
"theme_extensions": ["colors", "spacing", "fontFamily"],
"total_colors": 142,
"total_spacing": 34,
"plugins": ["@tailwindcss/forms"]
}
最初に使用して、特定のトークンをクエリする前にプロジェクトのデザインシステムを把握します。
🚀 セットアップ
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"tailwind-context-resolver": {
"command": "npx",
"args": ["-y", "tailwind-context-resolver-mcp"]
}
}
}
Cursor / VS Code / 任意の MCP クライアント
{
"tailwind-context-resolver": {
"command": "npx",
"args": ["-y", "tailwind-context-resolver-mcp"]
}
}
📋 要件
- Tailwind CSS v3 — v4 は CSS ベースの設定形式を使用しており、サポートされていません(サーバーが明確に通知します)
- Node.js 18+
- プロジェクト内に
tailwind.config.jsまたはtailwind.config.tsがあること
🔧 仕組み
このサーバーは Tailwind CLI と同じ設定読み込み方式を使用します。
jitiが実行時にtailwind.config.tsを読み込みます。ts-nodeは不要ですtailwindcss/resolveConfigが設定を Tailwind のデフォルト設定とマージし、完全な解決済みテーマを生成します- ツールは トークンベースのクラス検証を行います。完全な PostCSS/JIT パイプラインを実行せずに、
bg-brand-primaryが実在するcolors.brand.primaryトークンに対応しているかを確認します
この方法は高速で安定しており、追加設定なしであらゆる Tailwind v3 プロジェクトで動作します。
📖 エージェントのワークフロー例
1. get_config_summary → understand the project's design system
2. resolve_theme_tokens → query specific namespaces before writing classes
(namespace: "colors.brand", "spacing")
3. validate_class_string → validate the className string before committing it
4. detect_css_conflicts → final sanity check for conflicting utilities
🐸 MCP ツールベルトの一部
以下のツールとともに開発されました。
- playwright-network-chaos-mcp — Playwright テスト用のネットワーク障害注入
- v8-cpu-profile-decoder-mcp — AI エージェント向けの V8 CPU プロファイル分析
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。