aceternity-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aceternity-mcpGenerate a dark premium AI SaaS landing page layout"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Aceternity MCP
Model Context Protocol server for Aceternity UI components
Discover, search, and install 106 Aceternity UI components from your AI assistant. Generate full page layouts, get context-aware recommendations, and install everything with a single command.
Install
pipx install aceternity-mcp
aceternity-mcp installRestart your AI tool. Done.
Related MCP server: aceternityui-mcp
What It Does
Your AI assistant gets 11 tools for working with Aceternity UI:
Tool | What it does |
| Generate a full page layout with sections, components, and install commands |
| Full-text search across names, descriptions, tags, categories |
| Get recommendations for a use case or design goal |
| Get component suggestions for each page section |
| Match components to a whole project description |
| List all 106 components with optional filters |
| Show all 17 categories with component counts |
| Get full metadata for a single component |
| Get all components in a category |
| Get install command, dependencies, and setup steps |
| Filter by visual intensity, animation, performance, etc. |
Page Layout Generator
The standout feature. Ask your AI to generate a complete page layout and it returns:
Ordered sections with recommended components for each role
Design tone detection (dark, premium, modern, minimal, etc.)
Section-specific scoring using 17 role profiles
De-duplicated components across sections
Implementation notes for every section
Batch install command for all components at once
Performance estimate and dependency summary
7 page types: landing, saas, dashboard, portfolio, ecommerce, blog, documentation
Example prompts:
"Generate a page layout for a dark premium AI SaaS landing page"
"Build me a fintech dashboard layout with analytics"
"Create a portfolio page with 3D effects and scroll animations"
"Design an e-commerce store layout for a clothing brand"Scoring signals per component:
Signal | Description |
Section-role category match | 17 role profiles with preferred categories |
Section-role tag match | Role-specific tag boosting |
Section score weights | Tuned dimension weights per role |
Archetype context | Page-level scoring (SaaS, dashboard, portfolio, etc.) |
Text relevance | User description keyword matching |
Design tone coherence | Boosts components matching detected tones |
Dependency reuse | Bonus for shared npm dependencies |
Example Prompts
"Show me subtle dark background effects with low performance impact"
"Recommend a navbar + hero + CTA combination for a SaaS landing page"
"Find highly customizable card components for testimonials"
"Give me low-motion components suitable for a dashboard"
"Install Spotlight and show me what dependencies are needed"
"What components work well for dark mode dashboards?"
"Search for animated text effects"
"Filter components with visual intensity above 7 and low performance impact"Supported AI Tools
Tool | Auto-configured |
Claude Desktop | Yes |
Claude Code CLI | Yes |
Cursor | Yes |
Cline (VS Code) | Yes |
Windsurf | Yes |
OpenCode | Yes |
Run aceternity-mcp install and all detected tools are configured automatically.
Manual Configuration
All tools use the same server command:
{
"mcpServers": {
"aceternity-ui": {
"command": "aceternity-mcp-server",
"args": []
}
}
}Tool | Config file |
Cursor |
|
Claude Code |
|
Cline | VS Code extension settings |
Windsurf |
|
OpenCode |
|
CLI Commands
Command | Description |
| Interactive setup wizard |
| Show installation health |
| Check for and install updates |
| Fix registry, configs, or permissions |
| Output JSON diagnostics |
| Remove from all AI tools |
| Show version |
# Repair only the registry
aceternity-mcp repair --registry
# Repair only client configs
aceternity-mcp repair --configs
# Non-interactive update
aceternity-mcp update -yAlternative Install Methods
Docker
docker pull ghcr.io/devinoldenburg/aceternity-mcp
docker run -i ghcr.io/devinoldenburg/aceternity-mcpnpm (wrapper)
npx aceternity-mcp-serverRequires the Python package installed separately (pipx install aceternity-mcp).
pip
pip install aceternity-mcpFrom source
git clone https://github.com/devinoldenburg/aceternity-mcp.git
cd aceternity-mcp
pipx install .Component Registry
106 components across 17 categories:
Category | Count | Examples |
Backgrounds | 18 | Aurora, Beams, Grid, Spotlight, Vortex |
Cards | 15 | 3D Card, Card Hover, Expandable Card |
Text Effects | 13 | Typewriter, Text Generate, Gradient Text |
Scroll Effects | 11 | Parallax, Scroll Reveal, Tracing Beam |
Visualization | 9 | Globe, World Map, SVG Mask |
Hero Sections | 8 | Hero Parallax, Spotlight, Lamp Effect |
Navigation | 7 | Floating Dock, Navbar Menu |
Layout | 81 | Bento Grid, Container Scroll, Timeline |
Forms | 6 | Input, Placeholders, Multi-Step |
3D Effects | 5 | 3D Card, 3D Pin, Globe |
Each component includes: detailed description, purpose, behavior, visual characteristics, design tone, difficulty level, dependencies, install command, compatibility flags, and 7 scoring dimensions.
Scoring Dimensions
Every component is rated 1-10 on:
Dimension | What it measures |
Visual Intensity | How visually dominant (1 = subtle, 10 = dramatic) |
Animation Intensity | Amount of motion (1 = static, 10 = heavy animation) |
Layout Importance | Structural criticality (1 = decorative, 10 = essential) |
Customization Ease | Flexibility (1 = rigid, 10 = very configurable) |
Landing Page Fit | Suitability for landing pages |
Dashboard Fit | Suitability for dashboards |
Performance Impact | Runtime cost (1 = lightweight, 10 = heavy) |
Development
git clone https://github.com/devinoldenburg/aceternity-mcp.git
cd aceternity-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Lint + type check
ruff check src/ tests/
mypy src/aceternity_mcp/ tests/
# Validate registry
python scripts/validate_registry.pyQuality
172 tests, 9 archetypes, 17 section role profiles, 7 page templates
ruff lint + format, mypy strict, bandit security scan
CI: quality gates on every push, auto-publish on release
Security
Metadata only: No Aceternity source code, documentation, or images in this repository
No secrets: No API keys or credentials
Isolated: pipx provides sandboxed virtual environments
Install commands: Point to Aceternity's official
@aceternityshadcn registry
Troubleshooting
Command not found -- Run pipx ensurepath and restart your terminal.
Registry not found -- Run aceternity-mcp repair or pipx reinstall aceternity-mcp.
MCP server not connecting -- Run aceternity-mcp diagnose and check the output. Repair configs with aceternity-mcp repair --configs.
Update issues -- Run pipx upgrade aceternity-mcp or pipx reinstall aceternity-mcp.
License
MIT -- see LICENSE.
Links
Available Tools
12 toolsfilter_by_scoresA
Filter components by numeric scoring thresholds (1-10 scale).
All parameters are optional. Only components passing every specified threshold are returned.
Scoring dimensions:
visualIntensity: How visually dominant (1=subtle, 10=dramatic)
animationIntensity: How much animation/motion (1=static, 10=heavy)
layoutImportance: How critical to page structure (1=decorative, 10=essential)
customizationEase: How easy to customise (1=rigid, 10=very flexible)
landingPageFit: Suitability for landing pages (1=poor, 10=perfect)
dashboardFit: Suitability for dashboards (1=poor, 10=perfect)
performanceImpact: Runtime cost (1=lightweight, 10=heavy)
Args: min_visual_intensity: Minimum visual intensity (1-10) max_visual_intensity: Maximum visual intensity (1-10) min_animation_intensity: Minimum animation intensity (1-10) max_animation_intensity: Maximum animation intensity (1-10) min_landing_page_fit: Minimum landing page fit (1-10) min_dashboard_fit: Minimum dashboard fit (1-10) max_performance_impact: Maximum performance impact (1-10) min_customization_ease: Minimum customization ease (1-10) include_pro: Include pro components (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| min_visual_intensity | No | ||
| max_visual_intensity | No | ||
| min_animation_intensity | No | ||
| max_animation_intensity | No | ||
| min_landing_page_fit | No | ||
| min_dashboard_fit | No | ||
| max_performance_impact | No | ||
| min_customization_ease | No | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It explains the AND filtering logic and scoring dimensions, but does not disclose whether the tool is read-only, what the return format is, or any side effects. The output schema exists but is not referenced, leaving some gaps.
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 well-structured with a clear lead sentence, bullet points for dimensions, and an args list. It is informative but somewhat lengthy; a slightly more compact version could be equally clear.
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?
Given the complexity of 9 parameters and scoring thresholds, the description covers the core functionality, parameter meanings, and logical AND combination. It omits details about the output schema and any limitations, but is largely complete for a filtering tool.
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 0%, so the description fully compensates. It lists all 9 parameters, explains each scoring dimension with a scale (1-10), and notes the default for include_pro. This adds complete meaning beyond the schema titles.
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 clearly states the tool filters components by numeric scoring thresholds on a 1-10 scale. The verb 'filter' and resource 'components' are specific, and the distinct focus on scoring thresholds differentiates it from sibling tools like search_components or recommend_components.
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 notes that all parameters are optional and only components passing every threshold are returned, implying usage for narrowing down by scores. However, it does not explicitly guide when to use this tool versus alternatives like search_components or recommend_components, nor does it mention excluded cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_page_layoutA
Generate a complete page layout with component recommendations.
Analyses the description to detect the page type, selects the best template, and fills each section with recommended components. Returns an ordered layout with install commands and dependency summary.
Supported page types (auto-detected if not specified):
landing: Conversion-focused landing page
saas: SaaS product marketing page
dashboard: Data-rich admin dashboard
portfolio: Creative portfolio or showcase
ecommerce: E-commerce product store
blog: Blog or content publication
documentation: Documentation or knowledge base
Example descriptions:
"premium AI SaaS product page with dark theme"
"fintech dashboard with analytics and charts"
"designer portfolio with 3D effects"
"online clothing store with product grid"
"developer blog with code examples"
Args: page_description: Free-text description of the page to build page_type: Explicit page type (auto-detected if omitted) include_pro: Include pro components (default True) components_per_section: Components per section (default 2, max 10)
| Name | Required | Description | Default |
|---|---|---|---|
| page_description | Yes | ||
| page_type | No | ||
| include_pro | No | ||
| components_per_section | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses returns (ordered layout, install commands, dependency summary) and auto-detection behavior, but does not mention side effects, auth needs, or rate limits. Adequate but not comprehensive.
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?
Description is well-structured with a summary, supported types list, examples, and parameter details. Some redundancy in examples could be trimmed, but overall efficient and 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?
Given the tool's complexity and output schema presence, the description covers inputs, auto-detection, and return value. Minor gap: no mention of error handling for vague descriptions. Near 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?
Schema has 0% description coverage, but the description adds full meaning to all four parameters: what they are, defaults, constraints (e.g., max for components_per_section), and auto-detection behavior for page_type. Fully compensates for schema gap.
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 clearly states the tool generates a complete page layout with component recommendations, listing supported page types and giving examples. It is distinct from sibling tools which focus on individual components or cache stats.
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 implies when to use (to generate a layout), but does not explicitly mention when not to use or suggest alternatives (e.g., recommend_components for component-only tasks). Usage is inferred but not fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cache_statsA
Get search cache statistics for monitoring and debugging.
Returns cache performance metrics including:
size: Current number of cached entries
max_size: Maximum cache capacity
hits: Number of cache hits
misses: Number of cache misses
evictions: Number of evicted entries
hit_rate_percent: Cache hit rate as percentage
Use this to monitor cache effectiveness and tune cache parameters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description transparently explains that the tool returns performance metrics and implies a read-only, non-destructive behavior. It covers the main behavioral aspect well.
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 concise with a clear summary line followed by a bulleted list of returned metrics. Every sentence serves a purpose without redundancy.
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?
Given that the tool has no parameters and an output schema exists, the description fully explains what the tool does and why it should be used. It is complete for the monitoring 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?
The tool has zero parameters, so the schema coverage is 100%. The description adds value by detailing the output structure beyond the schema, which is appropriate for this case.
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 clearly states the tool retrieves search cache statistics for monitoring and debugging, with a specific verb and resource. It lists the exact metrics returned, making the purpose unambiguous.
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 explicitly says to use it for monitoring cache effectiveness and tuning cache parameters. While it doesn't provide when-not or alternatives, the context is sufficiently clear for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoryA
Get all components in a specific category.
Returns the category info and full summaries of every component that belongs to it.
Args: slug: Category slug (e.g. "hero-sections", "backgrounds", "cards")
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description carries transparency burden. It explains return structure (category info + component summaries) but does not mention side effects, permissions, or rate limits.
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?
Three sentences with no fluff; the main purpose is front-loaded. Efficient and clear.
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?
Output schema exists, so return values are covered. Description adds sufficient context about output contents. Could mention error conditions (e.g., invalid slug) but fine overall.
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 has 0% description coverage for the 'slug' parameter, but the description adds examples and context (e.g., 'hero-sections', 'backgrounds'), significantly aiding the agent.
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 clearly states the tool retrieves all components in a category, with specific return information (category info + full summaries). It differentiates from siblings like 'list_categories' and 'get_component'.
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?
No explicit guidance on when to use this tool over alternatives like 'search_components' or 'filter_by_scores'. The description provides example slugs but lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_componentA
Get the full detailed entry for a single component.
Returns ALL metadata including the 60+ word detailed description, purpose, behavior, visual characteristics, dependencies, install commands, props, compatibility, and scoring.
Args: slug: Component slug (e.g. "spotlight", "bento-grid", "hero-parallax")
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It implies a read-only operation by stating 'Get...entry,' but does not explicitly confirm non-destructiveness, idempotency, or any side effects. Adequate for a simple retrieval, but lacks depth.
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 concise, with the core purpose in the first sentence, followed by a bullet-like list of return contents. The Args line is efficient. No redundant or unnecessary text.
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?
Given the tool's simplicity (one required parameter) and the presence of an output schema, the description adequately covers the input semantics and return scope. It could mention error conditions but is still sufficient for correct usage.
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 description adds concrete examples for the slug parameter (e.g., 'spotlight'), which is not present in the schema. With 0% schema description coverage, this compensates well and clarifies usage beyond the raw type definition.
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 clearly states the tool retrieves full details for a single component using a slug. It distinguishes from sibling tools that list or search components, though it does not explicitly name alternatives.
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 minimal guidance on when to use this tool vs. alternatives like list_components or search_components. It implies use for a single component but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_componentA
Get full installation instructions for a component.
Returns the install command, dependencies, registry URL, documentation link, and step-by-step setup instructions.
Args: slug: Component slug (e.g. "spotlight", "sidebar", "bento-grid")
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It lists the returned fields (install command, dependencies, etc.) but does not disclose potential side effects, access permissions, rate limits, or any additional behavioral details beyond the return content.
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 concise: a two-sentence main description followed by a clear Args listing. The first sentence front-loads the purpose. No unnecessary words or repetition.
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?
Given the tool has only one required parameter and an output schema exists (not shown but indicated), the description sufficiently covers what the tool does, what it returns, and how to use it. The examples for slug provide additional clarity.
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 has 0% description coverage (no description in JSON Schema for the slug parameter). However, the description's Args section adds meaning with examples (e.g., 'spotlight', 'sidebar', 'bento-grid') and explains that it is a component slug, which compensates for the schema gap.
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 explicitly states 'Get full installation instructions for a component.' It identifies a specific resource (installation instructions) and a clear action (get). This distinguishes it from siblings like 'get_component' (likely returns component details) and 'list_components'.
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 implies usage for retrieving installation instructions but does not provide explicit guidance on when to use this tool versus alternatives, nor does it state when not to use it. There is no mention of exclusions or context where another sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesA
List all component categories with descriptions and component counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the tool lists data but does not mention that it is read-only, safe, or any side effects. The agent cannot infer safety from the description alone.
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 a single, concise sentence that front-loads the action ('List all...'). Every word adds value, with no redundancy or filler.
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?
The description covers the key output fields (descriptions and component counts). Since an output schema exists (has_output_schema: true), detailed return format is unnecessary. The description is complete for this simple, parameterless tool.
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 tool has zero parameters, so the schema coverage is 100% by default. According to guidelines, 0 parameters warrant a baseline score of 4. The description adds no parameter details, but none are needed.
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 clearly states the tool lists all component categories and includes descriptions and component counts. It distinguishes itself from siblings like 'get_category' (single category) and 'list_components' (different resource).
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 no guidance on when to use this tool versus alternatives like filter_by_scores or generate_page_layout. There are no explicit usage contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsA
List all available Aceternity UI components.
Optionally filter by category slug. Returns a compact summary for each component (slug, name, category, tags, summary).
Args: category: Optional category slug (e.g. "hero-sections") include_pro: Include pro-only components (default: True)
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description discloses the return format but does not mention pagination, rate limits, or side effects. It correctly implies a read-only operation but lacks detailed behavioral context.
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 concise with five lines, front-loading the main purpose and then detailing filtering and return format. Each sentence adds value, though the Args section could be integrated more smoothly.
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?
Given no annotations and a low-complexity tool, the description covers purpose, filtering, and return format. It lacks error handling or behavior when no results, but output schema exists. Adequate for the task.
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 0%, so the description carries the burden. It explains the 'category' parameter with an example slug and notes that 'include_pro' filters pro components. This adds meaning beyond the schema's type and default.
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 clearly states 'List all available Aceternity UI components' with optional filtering by category slug. It specifies the return format (compact summary with slug, name, category, tags, summary). This distinguishes it from sibling tools like search_components and filter_by_scores.
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 implies usage for listing components with optional category filter. However, it does not explicitly state when to use this tool over siblings (e.g., search_components for text search, filter_by_scores for scoring). No exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_components_to_projectA
Match components to a whole project description.
Similar to recommend_components but biased toward layout-critical components and returns more results for full project planning.
Args: project_description: Project description (e.g. "dashboard with dark mode") max_results: Number of results (default 15, max 100) include_pro: Include pro components (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| project_description | Yes | ||
| max_results | No | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It discloses that the tool returns more results and is biased, but does not explicitly state whether it is read-only or has side effects. For a matching tool, safety profile (e.g., no modification) is implied but not stated, leaving some ambiguity.
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?
Description is very concise: two sentences for purpose/context, then clean bullet-style args list. No wasted words, front-loaded with key differentiation.
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?
Given that output schema exists (but not shown here), description does not need to explain return structure. It covers purpose, bias, and parameters well. Could be improved by noting that the tool is read-only or clarifying 'layout-critical,' but overall adequate.
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 0% (no descriptions in schema), so description must add meaning. It does so clearly: gives example for project_description, specifies default and max for max_results, and default for include_pro. These details go beyond the schema's type/default information.
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?
Description clearly states the tool matches components to a project description. It explicitly distinguishes from the sibling 'recommend_components' by noting bias toward layout-critical components and returning more results for full project planning. Verb 'match' and resource are specific.
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?
Description provides clear context: use for full project planning with bias toward layout-critical components. It contrasts with recommend_components via 'similar to' but does not explicitly state when NOT to use. However, the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_combinationA
Recommend a full-page component combination.
Given a project or page description, returns recommended components for each page section: navigation, hero, features, background, cards, CTA, footer, and text effects.
Args: description: Description of the page or project (e.g. "AI SaaS landing page") include_pro: Include pro components (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes behavior as returning recommendations, implying no side effects. Missing explicit statement about read-only nature, but sufficient.
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?
Concise at 6 sentences, front-loaded with purpose, includes structured args list using docstring format, no fluff.
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 output schema present, description covers inputs and high-level output. Mentions all page sections returned, sufficient for agent to invoke correctly.
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 has 0% description coverage, but the description fully explains both parameters: 'description' with an example and 'include_pro' with default value, adding significant meaning beyond the schema.
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 clearly states it recommends a full-page component combination, listing specific sections (navigation, hero, etc.), distinguishing it from sibling tools like 'recommend_components' which likely recommend individual components.
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?
Provides clear use case: 'Given a project or page description'. Includes example input. However, it does not explicitly exclude cases or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_componentsA
Recommend components for a specific use case or design goal.
Analyses the description against component metadata, categories, tags, and scoring dimensions to find the best matches.
Example descriptions:
"premium AI SaaS landing page with dark theme"
"subtle background effect for a login page"
"testimonial section for a marketing site"
"animated hero for a startup landing page"
Args: description: Free-text description of what you need max_results: Number of recommendations to return (default 10, max 100) include_pro: Include pro components (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | ||
| max_results | No | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the analysis process but does not disclose behavioral traits such as idempotency, resource consumption, or error handling. The description lacks transparency on behavior beyond the basic operation.
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 concise and well-structured: purpose, mechanism, examples, then parameter docs. It front-loads the key information. Minor redundancy in explaining 'analyses' could be trimmed, but overall efficient.
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?
Given the presence of an output schema, the description handles inputs well but omits contextual details like edge cases, no-match handling, or differentiation from similar tools. It is adequate but not fully complete for complex usage.
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?
With 0% schema coverage, the description fully documents all three parameters: description with illustrative examples, max_results with default and max, and include_pro with its toggle meaning. This adds substantial value beyond the schema.
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 clearly states it recommends components for a use case or design goal by analyzing descriptions. It differentiates from simple search tools but not explicitly from similar tools like 'match_components_to_project'. Thus, it's clear but lacks full sibling differentiation.
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 examples that imply usage for natural language queries, but it does not explicitly state when to use this tool versus alternatives like 'search_components' or 'filter_by_scores'. Usage guidance is implicit and not robust.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_componentsA
Search components by text query with optional filters.
Searches across names, descriptions, tags, categories, purposes, behaviors, and visual characteristics. Results are ranked by relevance.
Args: query: Search query (e.g. "animated hero", "dark card") category: Optional category slug to narrow results tags: Optional comma-separated tags to filter by max_results: Max results to return (default 15, max 100) include_pro: Include pro components (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| category | No | ||
| tags | No | ||
| max_results | No | ||
| include_pro | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses ranking by relevance and default settings, but lacks details on case-sensitivity, matching behavior, or boundary conditions.
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 concise and well-structured: summary sentence, then detailed paragraph, then parameter list. Every sentence adds value without redundancy.
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?
Given an output schema exists, the description adequately covers search scope and fields. It lacks mention of pagination or whether search is across all components or user's, but is otherwise 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?
Schema coverage is 0%, so description compensates fully. It explains each parameter with examples, defaults, and constraints (e.g., max_results max 100), adding significant meaning beyond the schema.
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 clearly states it searches components by text query with optional filters, and lists the fields searched. It distinguishes from sibling tools like list_components (which lists all) and get_component (specific one).
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 implies usage for textual search with filters but does not explicitly state when not to use or alternatives. However, the context is clear and parameter details guide usage.
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. Dates show when Glama detected each change.
12 tool updates
v2.4.1- First observed
filter_by_scores - First observed
generate_page_layout - First observed
get_cache_stats - First observed
get_category - First observed
get_component - First observed
install_component - First observed
list_categories - First observed
list_components - First observed
match_components_to_project - First observed
recommend_combination - First observed
recommend_components - First observed
search_components
TDQS
Several tools serve similar recommendation purposes (recommend_components, recommend_combination, match_components_to_project, generate_page_layout), which could confuse agents. However, descriptions clarify their distinct scopes (single recommendation, per-section, whole project, full layout). Other tools like filter_by_scores, search_components, and list_components are more distinct.
All tools consistently use verb_noun naming with underscores (e.g., filter_by_scores, list_components, recommend_components). The pattern is predictable, even for longer names like match_components_to_project.
12 tools is well-scoped for a UI component library server. It covers browsing, searching, filtering, recommending, installation, and monitoring without being excessive or too sparse.
The tool surface covers the full lifecycle of component discovery: listing, filtering, searching, retrieving details, installation instructions, and cache stats. No obvious gaps for the stated purpose of helping users find and use Aceternity components.
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
MCP server for building and testing AI agents with multi-model experimentation and insights.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Search and install 4,000+ security-scanned MCP servers from inside any MCP-aware AI client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive template for building MCP servers that expose UI component registries and design systems to AI assistants. It enables users to browse, fetch, and retrieve implementation details from registries following the shadcn/ui format.892MIT
- AlicenseAqualityFmaintenanceAn MCP server that enables AI assistants to search, discover, and install Aceternity UI components programmatically.537523MIT
- AlicenseNot gradedqualityDmaintenanceThis MCP server provides tools to install and manage shadcn/ui components directly from AI coding agents.2MIT
- AlicenseAqualityCmaintenanceA secure MCP server that gives AI coding assistants direct access to the shadcn/ui registry, enabling fetching, installing, and wiring up components without switching context.8333MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devinoldenburg/aceternity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server