LunarWerx
Server Details
Canonicalize Tailwind classes to their short form, and search LunarWerx free dev tools.
- Status
- Healthy
- Uptime
- 100.0% over 52 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have completely separate purposes: one searches a product catalogue, the other rewrites Tailwind CSS classes. There is no plausible way an agent would confuse or misselect between them.
Both names use snake_case, but the conventions diverge: lunarwerx_find_tool is server-namespaced with a verb_noun structure, while tailwind_canonicalize is unprefixed and verb-only with no clear noun. Readable, but not a predictable shared pattern.
Two tools is thin for a server that presents itself as a catalogue of developer utilities; the surface is essentially one search plus one unrelated helper. It is not wrong, but it feels under-scoped rather than well-rounded.
The catalogue side only supports keyword search with no list, browse, filter, or detail-fetch operation, and the lone utility tool explicitly defers class-merging to 'NormWind', which is not present in this server. Core discovery works, but there are notable gaps and a dead end.
Available Tools
2 toolslunarwerx_find_toolFind a LunarWerx toolAInspect
Search LunarWerx's catalogue of free developer tools and desktop utilities by task or keyword, e.g. "git from my phone", "Windows thumbnails", "voice dictation", "screenshot to UI". Returns what each one does and where to get it. Everything is free; most is MIT-licensed, open source and self-hosted. Products that run an MCP server of their own come back with an "MCP:" line saying how to connect and whether an account is needed, so a match can be used rather than merely reported.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 5, max 20). | |
| query | Yes | A task, problem, or keyword. Empty returns the whole catalogue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that results describe what each tool does and where to get it, that everything is free and mostly MIT/open-source/self-hosted, and that MCP-capable products include a connection line and account requirement. It does not mention rate limits, pagination behavior, or explicitly confirm the operation is read-only, but the returned-content disclosure is unusually rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and stays on topic across four sentences. Each sentence adds something (examples, return content, licensing, MCP detail), though the closing 'used rather than merely reported' phrase is slightly editorializing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain return values, and it does: what each tool does, where to get it, licensing, and the MCP connection line. For a simple search tool this is nearly complete; only pagination and result-shape details are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'query' and 'limit' thoroughly. The description adds example query strings but no additional syntax, format, or constraint meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Search LunarWerx's catalogue of free developer tools and desktop utilities by task or keyword.' It defines the scope and even gives query examples, so an agent knows exactly what this tool does without opening the schema. The sibling tool is unrelated, so no differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use it ('by task or keyword') and concrete example queries such as 'git from my phone' and 'screenshot to UI,' which guide invocation. It does not, however, state when not to use it or name any alternative search mechanism.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tailwind_canonicalizeCanonicalize Tailwind classesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| classes | Yes | A Tailwind class string, e.g. the contents of a class= attribute. Whitespace and unrecognized classes are preserved exactly. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | The canonicalized class string. |
| changed | Yes | |
| changes | Yes | |
| tailwindVersion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It does so richly: one-class-at-a-time processing, no cross-class merging, authoritative replacement data from Tailwind 4.3.3, and preservation of whitespace/unrecognized classes via the schema. These traits go well beyond what the structured fields reveal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence pulls its weight: purpose, concrete examples, data authority, and the critical merging limitation. The core verb and resource are front-loaded, and the description is compact despite covering multiple examples and an alternative tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter transformation tool with an output schema, the description is fully sufficient. It covers expected inputs, behavior, limitations, and alternative routing. No necessary information for an agent to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single `classes` parameter with 100% coverage, so the baseline is 3. The description adds value by illustrating valid input shapes (p-[1rem], rounded-[24px]) and by clarifying operational boundaries like 'one class at a time,' making the parameter's meaning more concrete than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Rewrite Tailwind CSS classes into their canonical short form.' Concrete examples (p-[1rem] becomes p-4) make the purpose unmistakable and differentiate it clearly from the sibling tool by focusing on canonicalization rather than merging.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use context and names an alternative: 'Handles one class at a time and does NOT merge across classes ... use NormWind for that.' This tells the agent exactly which capabilities are excluded and where to route class-merging requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
lunarwerx_find_tool - First observed
tailwind_canonicalize
Related MCP Connectors
Tailwind CSS palettes (50-950) from any color, the closest Tailwind color, and Tailwind's defaults
Search and pull 500+ production-ready React + Tailwind sections and elements
Search Tailwind CSS and React themes, read their tokens and source files, and get download URLs.
Search Wind UI, Magic, Dusk, Telescope and Artisan documentation. Hosted, public, no auth.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to validate, search and canonicalize Tailwind class names, resolve which conflicting utility wins, inspect theme tokens and variants, check color contrast, and migrate v3 classes to v4. It answers by querying the project's own installed Tailwind engine, so results reflect the real configuration, plugins and version instead of a stale snapshot.9MIT
- AlicenseBqualityDmaintenanceProvides comprehensive tools for TailwindCSS development including utility class retrieval, CSS-to-Tailwind conversion, and color palette generation. It enables AI assistants to search documentation, generate component templates, and provide framework-specific installation guides.81,391 npm40MIT
- AlicenseAqualityAmaintenanceGenerates Tailwind CSS palettes (50-950) from any color for Tailwind v4, v3, v2 and v1, in OKLCH, and finds the closest Tailwind color to any color.4541 npm78MIT
- AlicenseAqualityDmaintenanceLoads your project's Tailwind CSS config and exposes tools for AI agents to query actual design tokens and validate class names, preventing hallucination of non-existent utilities.712 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.