TailThemes
Server Details
Search Tailwind CSS and React themes, read their tokens and source files, and get download URLs.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search_themes and download_theme have clearly distinct roles, and get_component is scoped to reading an individual file. Some potential confusion exists because get_theme also returns AGENTS.md and README.md, which get_component can also read, but the manifest-vs-file distinction is explained.
All tools follow a consistent verb_noun snake_case pattern: search_themes, get_theme, get_component, download_theme. The singular/plural object forms are natural to the operation and do not create inconsistency.
Four tools is a tight, well-scoped set for a read-only theme marketplace server. Each tool covers a distinct stage: discover, inspect metadata, read files, and download.
The server covers the full discovery-to-download workflow, including license handling for paid themes. A minor gap is the lack of a generic file listing endpoint, but the manifest plus zip download mostly compensate.
Available Tools
4 toolsdownload_themeGet a download URLARead-onlyIdempotentInspect
Get a theme's zip download URL. Free themes download directly with no key or account. Paid themes need an active license: buy at the theme page, then call again with license_key and the ready-to-fetch URL comes back.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Theme slug. | |
| license_key | No | Optional. An active TailThemes license key covering this theme, or an all-access key. Only needed for paid themes, and only when the connection does not already send one as an Authorization: Bearer header. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation read-only and idempotent; the description adds valuable behavioral detail: licensing requirements, the need to call again with a license key, and that a ready-to-fetch URL is returned. It does not cover failure modes, but the core behavior is well disclosed.
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?
Two sentences with no filler. The core purpose is front-loaded, and the conditional licensing details are packed efficiently into the second sentence.
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 simple read-only tool with one required parameter, the description covers the workflow, authentication nuance, and expected result. Annotations cover the safety profile, and no output schema is needed because the return value is described as a URL.
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 coverage is 100%, so the baseline is 3. The description adds workflow meaning beyond the schema by explaining that paid themes require buying a license and calling again with license_key, and that the result is a ready-to-fetch URL. This is modest but genuine added context.
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: 'Get a theme's zip download URL.' It is clearly distinguished from siblings like get_theme or get_component, which fetch metadata or components rather than a download URL.
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 usage conditions: free themes need no credentials, paid themes require an active license, and the caller should re-invoke with license_key after purchasing. It does not explicitly contrast with sibling tools, but the resource difference makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_componentRead a theme fileARead-onlyIdempotentInspect
Read one manifest-declared component, page, theme.css, AGENTS.md, or README.md file. Paid theme source needs an active license.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Manifest-declared path relative to the theme root. | |
| slug | Yes | Theme slug. | |
| license_key | No | Optional. An active TailThemes license key covering this theme, or an all-access key. Only needed for paid themes, and only when the connection does not already send one as an Authorization: Bearer header. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and idempotentHint, so safety is covered. The description adds meaningful behavioral context beyond the annotations: only manifest-declared files are readable, and a paid theme's source requires an active license, which tells the agent about potential call failures. This is valuable, non-redundant information.
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 two sentences with no filler. The primary action is front-loaded, and the license caveat is separated clearly. It does not repeat schema or annotation information unnecessarily.
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 low-complexity read tool with rich annotations and full schema coverage, the description is complete enough. It identifies the allowed file categories, the manifest restriction, and the license prerequisite, which are the main operational concerns. The return format is obvious from the verb 'Read,' and no output schema exists to require elaboration.
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 covers 100% of the parameters with descriptions, and the tool description does not add substantive meaning beyond what the schema already provides. The mention of 'manifest-declared' aligns with the file parameter's schema description but does not enrich it further. Given full schema coverage, baseline 3 is appropriate.
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 uses the specific verb 'Read' and defines the resource as 'one manifest-declared component, page, theme.css, AGENTS.md, or README.md file,' leaving no ambiguity about what the tool does. The enumerated file types clearly distinguish this file-reading tool from siblings like get_theme or download_theme, even though they are not named. It avoids tautology and states observable scope.
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 provides clear context for when the tool is appropriate: it reads only manifest-declared files, and paid themes require an active license, which is a concrete prerequisite. However, it does not explicitly name sibling tools or state when to prefer them over this tool, so cross-tool routing is left partly to inference. This is just shy of fully explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_themeTheme manifest and docsARead-onlyIdempotentInspect
Get a theme's complete public manifest, including tokens, plus its AGENTS.md and README.md.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Theme slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context by stating that it returns a complete public manifest (including tokens) and the theme's docs, implying no authentication for public themes. It doesn't mention error behavior or output format, but for a read-only fetch this is acceptable.
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 one sentence that front-loads the action and resource. Every word contributes: 'complete public manifest' sets scope, and the list of docs is explicit. No filler or redundant phrasing.
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 simple tool with one parameter, existing annotations, and no output schema, the description adequately conveys the tool's purpose and returned contents. It could be more explicit about the returned data structure or error cases, but given the low complexity, it is reasonably complete.
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 input schema covers the single 'slug' parameter with a description, so schema coverage is 100%. The description doesn't add any additional parameter-level details beyond what the schema already provides; it only refers to 'a theme' without elaborating on formatting or validation.
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 uses the specific verb 'Get' and identifies the resource as a theme's complete public manifest, including tokens, plus AGENTS.md and README.md. This clearly distinguishes it from siblings like download_theme (likely package download) and get_component (single component). The scope is precise.
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 doesn't explicitly state when to use this tool instead of alternatives, nor does it mention exclusions. The usage is implied by the description itself, but it does not reference sibling tools like search_themes or download_theme, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_themesSearch themesARead-onlyIdempotentInspect
Search public Tailthemes metadata by name, description, tags, or category.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Case-insensitive substring to search for. Empty returns all themes. | |
| category | No | Optional case-insensitive category substring filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the 'public' scope which is useful, but provides no additional behavioral context like pagination or result limits. This is adequate but not 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?
A single, clear sentence that conveys the tool's purpose and scope with no extraneous words. All essential information is front-loaded.
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 simple read-only search tool with two optional parameters and full schema coverage, the description covers the essential usage. There is no output schema, so return format is not specified, but for a metadata search this is a minor gap. Annotations provide safety context.
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 coverage is 100%, so both parameters (query and category) are documented in the schema. The description mentions searching by name/description/tags/category, which maps to the query parameter, but adds no new information about parameter behavior or formats beyond what the schema provides.
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 states a specific verb ('Search'), a clear resource ('public Tailthemes metadata'), and the searchable fields (name, description, tags, category). This distinguishes it from sibling tools like get_theme or download_theme, which have different purposes.
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 does not explain when to use this tool versus alternatives. It implies searching is for discovery, but there is no explicit guidance on when to use search_themes instead of get_theme or get_component.
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
- Changed
download_theme1 field changed- added
Input schema / properties / license_keyAdded value: +{ + "description": "Optional. An active TailThemes license key covering this theme, or an all-access key. Only needed for paid themes, and only when the connection does not already send one as an Authorization: Bearer header.", + "type": "string" +}
- Changed
get_component1 field changed- added
Input schema / properties / license_keyAdded value: +{ + "description": "Optional. An active TailThemes license key covering this theme, or an all-access key. Only needed for paid themes, and only when the connection does not already send one as an Authorization: Bearer header.", + "type": "string" +}
4 tool updates
- First observed
download_theme - First observed
get_component - First observed
get_theme - First observed
search_themes
Related MCP Connectors
Search and pull 500+ production-ready React + Tailwind sections and elements
Find UI components and themes, retrieve code, and generate with hosted 21st AI when enabled.
Provides style context & tokens to design or restyle web UIs in any framework
Build and manage your design system with AI: tokens, themes, components, icons, Figma and code.
Related MCP Servers
- AlicenseAqualityBmaintenanceSearches design platforms for UI references and extracts design tokens such as colors, typography, spacing, and shadows from live websites.5MIT
- AlicenseAqualityBmaintenanceTranslates design tokens across platforms — extracts from Tailwind/CSS/Figma and generates native themes for Material 3, SwiftUI, and CSS variables with WCAG contrast validation.979 npm5MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to a universal design token system with 7 pre-built themes (colors, typography, spacing, motion) and multi-format export capabilities for Canva, Remotion, PPTX, CSS, and W3C JSON.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI coding agents to inspect a project's design tokens and component catalog, audit React/Tailwind files against seven static UI quality rules, score overall UI health, and apply auto-fixes that are re-audited and reverted on regression. It works both locally over filesystem access and remotely on raw TSX/JSX or CSS snippets passed directly as strings.-
Glama MCP Gateway
Add one secure layer between your agents and this server.