FastMCP server for browsing and searching TailwindPlus components
TailwindPlus MCP server demonstrates solid definition quality with properly named tools, comprehensive descriptions, and well-structured schemas. All 5 tools follow verb-noun naming conventions (list_*, get_*, search_*). Descriptions are detailed and action-oriented (average ~150 chars), exceeding the minimum baseline of 10-1024 chars. Input schemas are properly typed with parameter descriptions. Tool annotations (readOnlyHint, idempotentHint) are correctly applied. However, output schemas are not documented in the visible code, callers cannot see the structure of returned data (component lists, metadata, etc.). Error handling guidance is minimal. The resource-based approach (twplus:// URIs) is creative but underdocumented. No evidence of validation constraints (enums, ranges) in parameter descriptions. Overall, the tools are well-designed for their domain but lack the documentation completeness expected of production-grade tools.
Retrieve component code (HTML/React/Vue) for a specific TailwindPlus component by full name, framework, version, and mode
Retrieve the preview HTML for a specific TailwindPlus component by full name, framework, version, and mode
Get a complete list of all available TailwindPlus component names organized by category
Get TailwindPlus metadata information including version, download date, component count, etc.
Search for TailwindPlus component names by pattern or keyword (case-insensitive)
Output schemas not documented. Callers cannot see the structure of list_component_names, list_tailwindplus_information, or search_component_names results (are they arrays? objects? what fields?). Without documented returns, LLMs cannot plan downstream operations or extract required data.
Parameter descriptions lack validation constraints. The 'framework', 'tailwind_version', and 'mode' parameters accept specific values (framework: html/react/vue; version: 3/4; mode: light/dark/system/none) but these are only documented in the server instructions, not as enums or validation rules in parameter descriptions. Free-form string parameters invite hallucinated values.
Error handling lacks recovery guidance. No documented error responses or recovery steps. For example, if a component name is not found or a framework/version/mode combination is invalid, LLMs have no instruction on what to do next (retry? call search_component_names? ask the user?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Resource URI design underdocumented. The twplus:// resource URIs (twplus://{component_full_name}/{framework}/{version}/{mode}) are functional but lack clear guidance on when to use them vs the corresponding tool calls. Clients cannot determine which interface is preferred.
Pagination not documented. If list_component_names or search results return hundreds of components, there is no documented pagination support (limit, offset, next_cursor, total_count). Large result sets can blow context windows.