Magic UI MCP Server
The Magic UI MCP Server provides tools for fetching implementation details and components for building interactive and animated UI elements. You can:
Get a comprehensive list of all Magic UI components
Access implementation details for layout components (bento-grid, dock, file-tree)
Access media components (hero-video-dialog, terminal, marquee)
Access motion and animation components (blur-fade, scroll-progress)
Access text components (text-animate, typing-animation, word-rotate, hyper-text)
Access button variants (rainbow-button, shimmer-button, shiny, ripple)
Access special effects (animated-beam, confetti, particles, meteors)
Access widgets (animated-list, tweet-card, orbiting circles)
Access background components (warp-background, retro-grid, flickering grids)
Access device mock components (safari, iphone-15-pro, android)
Click on "Deploy 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., "@Magic UI MCP Serveradd a marquee of tech logos to my homepage"
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.
@magicuidesign/mcp
Official ModelContextProtocol (MCP) server for Magic UI.
Install MCP configuration
npx @magicuidesign/cli@latest install <client>Supported Clients
cursor
windsurf
claude
cline
roo-cline
Related MCP server: OmniMCP
Manual Installation
Add to your IDE's MCP config:
{
"mcpServers": {
"magicuidesign-mcp": {
"command": "npx",
"args": ["-y", "@magicuidesign/mcp@latest"]
}
}
}Example Usage
Once configured, you can questions like:
"Make a marquee of logos"
"Add a blur fade text animation"
"Add a grid background"
Available Tools
The server provides the following tools callable via MCP:
Tool Name | Description |
| Lists Magic UI registry items with optional filters like |
| Searches Magic UI registry items by keyword across names, titles, descriptions, and registry types, with pagination support. |
| Returns details for a single registry item, including install instructions and optional source, related items, and examples. |
MCP Limitations
Some clients have a limit on the number of tools they can call. The server keeps a small generic tool surface and reads directly from the live Magic UI registry, rather than relying on hardcoded category buckets. Broad semantic discovery concepts such as widgets, media, or devices are not currently modeled as first-class categories in the MCP API.
Credits
Big thanks to @beaubhp for creating the MCP server 🙏
Available Tools
11 toolsgetBackgroundsC
Provides implementation details for warp-background, flickering-grid, animated-grid-pattern, retro-grid, ripple components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. The description only states what the tool provides, not how it behaves - there's no information about response format, whether it returns structured data or documentation, potential limitations, or any behavioral characteristics. For a tool with no annotation coverage, this leaves significant gaps in understanding how the tool actually functions.
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, efficient sentence that lists the specific components covered. It's appropriately sized for a no-parameter tool and front-loads the core information. While it could potentially be more structured with clearer categorization of the components, it avoids unnecessary verbosity.
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 there's no output schema and no annotations, the description should provide more complete context about what 'implementation details' means and what format the response takes. For a tool that presumably returns information about multiple background components, the description is insufficient - it doesn't indicate whether this returns code snippets, configuration options, usage examples, or other implementation guidance.
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, and schema description coverage is 100% (though trivial since there are no parameters). The description doesn't need to compensate for any parameter documentation gaps. The baseline for zero parameters is 4, as there are no parameters whose semantics need explanation 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 the tool 'provides implementation details' for specific components, which gives a general purpose. However, it's somewhat vague about what 'implementation details' means (code examples, configuration options, usage instructions?) and doesn't clearly distinguish this from sibling tools like getEffects, getUIComponents, or getWidgets that might also provide component-related information.
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. With sibling tools like getEffects, getUIComponents, and getWidgets available, there's no indication whether this tool is for background-specific components only, whether it's more comprehensive than other tools, or what specific use cases warrant selecting getBackgrounds over other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getButtonsB
Provides implementation details for rainbow-button, shimmer-button, shiny-button, interactive-hover-button, animated-subscribe-button, pulsating-button, ripple-button components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. While 'Provides implementation details' suggests this is a read-only operation, it doesn't clarify what format the details come in (code examples, documentation, configuration), whether there are rate limits, authentication requirements, or what happens if components don't exist. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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, efficient sentence that lists all 7 button components without unnecessary words. It's appropriately sized for a tool with no parameters, front-loading the core purpose immediately. Every word earns its place by specifying exactly which components are covered.
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 no parameters and no output schema, the description adequately states what the tool does. However, without annotations or output schema, it should ideally provide more behavioral context about what 'implementation details' means and how results are structured. The description is complete enough for a simple lookup tool but could be more informative about the nature of the returned information.
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 has 0 parameters with 100% coverage, so there are no parameters to document. The description appropriately doesn't discuss parameters since none exist. A baseline of 4 is appropriate for zero-parameter tools where the schema fully covers the absence of inputs.
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's purpose: providing implementation details for specific button components. It lists 7 specific button types (rainbow-button, shimmer-button, etc.), making the verb+resource combination explicit. However, it doesn't distinguish this tool from sibling tools like 'getUIComponents' or 'getWidgets' that might also provide UI component details.
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. There's no mention of when this tool should be used instead of sibling tools like 'getUIComponents' or 'getWidgets', nor any context about prerequisites or typical use cases. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDevicesC
Provides implementation details for safari, iphone-15-pro, android components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'implementation details' but doesn't specify what kind of details (e.g., code snippets, configuration settings, performance metrics) or behavioral traits (e.g., whether it's a read-only operation, if it requires authentication, rate limits). The description is too vague to provide meaningful behavioral context beyond the implied read 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 a single concise sentence that efficiently states the tool's scope. It's appropriately sized for a simple tool with no parameters. While it could be more specific, there's no wasted verbiage or unnecessary complexity in the structure.
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, no output schema, and a vague description, the tool definition is incomplete. The description doesn't explain what 'implementation details' means, what format the output takes, or how this differs from sibling tools. For a tool with platform-specific focus, more context about the nature and format of returned information would be needed.
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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of parameters. The description appropriately doesn't add parameter information since none exist. This meets the baseline expectation for a parameterless tool.
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 'Provides implementation details for safari, iphone-15-pro, android components' states a general purpose but is vague about what 'implementation details' means and what specific resources are involved. It doesn't clearly distinguish this tool from sibling tools like getUIComponents or getWidgets that might also provide implementation details. The description avoids tautology but lacks specificity.
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 getUIComponents or getWidgets. It mentions specific platforms (safari, iphone-15-pro, android) but doesn't explain why one would choose this tool over others for those platforms. There's no explicit when/when-not usage context or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEffectsB
Provides implementation details for animated-beam, border-beam, shine-border, magic-card, meteors, neon-gradient-card, confetti, particles, cool-mode, scratch-to-reveal components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'provides implementation details' suggests a read-only informational function, it doesn't specify what format the details come in (code examples, documentation, configuration options), whether there are any access restrictions, or what happens when invoked. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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, efficient sentence that lists all the component types covered. It's appropriately sized for a zero-parameter tool and front-loads the core purpose ('Provides implementation details'). While it could be slightly more structured by grouping similar components, every word serves a purpose in specifying the scope.
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 this is a zero-parameter informational tool with no annotations and no output schema, the description is minimally complete. It tells what the tool provides and for which components, but doesn't describe the return format, depth of details, or any limitations. For a tool that presumably returns implementation information, more context about the output would be helpful since there's no output schema.
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 with 100% schema description coverage, so the baseline would be 4 even with no parameter information in the description. The description appropriately doesn't discuss parameters since none exist, and the schema already fully documents this. No additional parameter semantics are needed or provided.
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 'provides implementation details' for specific UI components, which is a specific verb+resource combination. It distinguishes itself from siblings like getBackgrounds or getButtons by focusing on animated/visual effects components rather than other UI categories. However, it doesn't explicitly differentiate from getTextEffects or getTextReveal which might overlap with some listed 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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool should be used instead of getTextEffects (which might cover text-specific animations) or getUIComponents (which might include some of these effects as part of larger components). There are no explicit when/when-not statements or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLayoutB
Provides implementation details for bento-grid, dock, file-tree, grid-pattern, interactive-grid-pattern, dot-pattern components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool 'provides implementation details' which suggests a read-only operation, but doesn't disclose any behavioral traits like authentication requirements, rate limits, response format, or whether it returns structured data versus documentation. The description is minimal and lacks operational 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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for a no-parameter tool and front-loads the core functionality immediately.
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 no parameters and no output schema, the description adequately covers the basic purpose. However, for a tool that 'provides implementation details', the lack of annotations and output schema means the description doesn't clarify what format those details come in (e.g., code examples, configuration, documentation). It's minimally complete but leaves important behavioral aspects unspecified.
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 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to compensate for missing parameter documentation. Baseline for 0 parameters is 4, as there's no parameter information to add beyond what the schema already provides (none).
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's purpose: 'Provides implementation details for [specific components]'. It specifies the verb 'provides' and the resource 'implementation details', listing 8 specific component types. However, it doesn't differentiate from sibling tools like getUIComponents or getWidgets that might overlap in 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 no guidance on when to use this tool versus alternatives. With sibling tools like getUIComponents and getWidgets that might cover similar UI elements, there's no indication of when this tool is appropriate versus those alternatives, nor any context about prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMediaC
Provides implementation details for hero-video-dialog, terminal, marquee, script-copy-btn, code-comparison components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 'Provides implementation details' but does not disclose behavioral traits such as whether this is a read-only operation, what format the details are in (e.g., code, documentation), or any limitations like rate limits or authentication needs. This leaves significant gaps in understanding how the tool behaves.
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 sentence that lists multiple components, which is concise but could be more structured. It front-loads the purpose but includes a somewhat cluttered list of components (e.g., 'hero-video-dialog, terminal, marquee, script-copy-btn, code-comparison components'), which might be verbose. However, it does not waste words on irrelevant details.
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 (retrieving implementation details for multiple components), no annotations, and no output schema, the description is incomplete. It does not explain what 'implementation details' entail (e.g., code snippets, configurations, usage examples) or how the results are returned, leaving the agent with insufficient context to use the tool effectively.
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 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description does not need to add parameter semantics, and it appropriately does not mention any. Baseline for 0 parameters is 4, as it avoids unnecessary 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?
The description states what the tool does ('Provides implementation details') but is vague about the specific resource. It lists several component types (hero-video-dialog, terminal, etc.) without specifying if it retrieves all of them, one, or a subset. This distinguishes it somewhat from siblings like 'getUIComponents' but lacks a clear verb+resource pairing.
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 versus alternatives is provided. The description lists specific components, which might imply usage for those cases, but it does not state exclusions, prerequisites, or compare to sibling tools like 'getUIComponents' or 'getWidgets' that could overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMotionB
Provides implementation details for blur-fade, scroll-progress, scroll-based-velocity, orbiting-circles, animated-circular-progress-bar components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool provides (implementation details) but doesn't describe how it behaves—e.g., whether it returns code snippets, documentation, or examples; if it's read-only or has side effects; or any performance considerations. This leaves significant gaps in understanding the tool's 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 a single, efficient sentence that directly states the tool's purpose and lists the components without any fluff. It's front-loaded with the main action ('Provides implementation details') and uses clear, technical terms, making it highly concise and well-structured.
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 0 parameters, no annotations, and no output schema, the description is minimally complete by specifying the components covered. However, it lacks details on what 'implementation details' entail (e.g., format, depth) and doesn't address behavioral aspects, making it adequate but with clear gaps for a tool that might return complex motion-related data.
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 has 0 parameters with 100% coverage, so no parameter information is needed. The description appropriately doesn't discuss parameters, focusing instead on the components covered. It adds value by specifying the scope (blur-fade, scroll-progress, etc.), which compensates for the lack of parameters, earning a high score.
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 what the tool does ('Provides implementation details') and specifies the exact components it covers (blur-fade, scroll-progress, etc.), making the purpose specific and understandable. However, it doesn't explicitly differentiate from siblings like 'getEffects' or 'getUIComponents' that might overlap with motion-related components, preventing a perfect score.
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. It lists the components covered but doesn't explain scenarios for choosing it over siblings like 'getEffects' (which might include motion effects) or 'getUIComponents' (which could include animated elements), leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTextEffectsB
Provides implementation details for word-rotate, flip-text, hyper-text, morphing-text, spinning-text, sparkles-text components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It states the tool 'Provides implementation details,' which suggests a read-only, informational function, but does not clarify aspects like response format, potential errors, rate limits, or authentication needs. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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, efficient sentence that directly states the tool's purpose without any wasted words. It is front-loaded with the key action ('Provides implementation details') and lists the specific components clearly. Every part of the sentence earns its place by specifying the resource.
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 (zero parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavioral traits, usage context, or output format. For a simple informational tool, it meets basic needs but could be more complete by addressing when to use it or what the implementation details include.
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, and schema description coverage is 100%, so there are no parameters to document. The description does not need to add parameter semantics beyond the schema, and it appropriately avoids mentioning any. Baseline is 4 for zero parameters, as it correctly omits unnecessary 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?
The description clearly states the tool's purpose: providing implementation details for specific text effect components (word-rotate, flip-text, hyper-text, morphing-text, spinning-text, sparkles-text). It uses a specific verb ('Provides') and identifies the resource (text effect components), but does not explicitly differentiate from sibling tools like 'getEffects' or 'getTextReveal', which might have overlapping functionality.
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 offers no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'getEffects' or 'getTextReveal', nor does it provide context for when this tool is appropriate (e.g., for text-specific effects vs. general effects). Usage is implied by listing components, but no explicit when/when-not instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTextRevealB
Provides implementation details for text-animate, line-shadow-text, aurora-text, animated-shiny-text, animated-gradient-text, text-reveal, typing-animation, box-reveal, number-ticker components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It states what the tool provides ('implementation details') but doesn't describe what those details include (e.g., code snippets, configuration options, usage examples), how they're formatted, or any behavioral traits like rate limits, authentication needs, or response structure. This leaves significant gaps for an agent to understand how to interact with the tool effectively.
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, efficient sentence that lists all relevant components without unnecessary elaboration. It's front-loaded with the core purpose ('Provides implementation details'), and the component list is specific and relevant. However, it could be slightly more structured by grouping components or clarifying the scope, but it's still highly concise.
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 (providing details for multiple components) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'implementation details' entail, the format of the response, or how to interpret the results. For a tool with no structured output and behavioral unknowns, this leaves the agent with insufficient context to use it effectively.
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 has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, which is correct for a parameterless tool. It focuses on the tool's purpose instead, which aligns with the baseline expectation for zero-parameter tools.
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's purpose: 'Provides implementation details for [list of components]'. It specifies the verb ('Provides implementation details') and the resources (9 specific text/animation component types). However, it doesn't differentiate from sibling tools like 'getTextEffects' or 'getUIComponents', which might have overlapping domains.
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 offers no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'getTextEffects' or 'getUIComponents', nor does it provide context about what distinguishes this tool's implementation details from other component-related tools. The user must infer usage from the component list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getUIComponentsB
Provides a comprehensive list of all Magic UI components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states what the tool does, not how it behaves. It lacks details on permissions, rate limits, response format, or whether it's a read-only operation. This is inadequate for a tool with zero annotation coverage.
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, efficient sentence that front-loads the core purpose without wasted words. It's appropriately sized for a simple tool and earns its place by clearly stating the action and resource.
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 no output schema, the description is incomplete. It doesn't explain what 'comprehensive list' entails (e.g., format, pagination) or behavioral traits. For a tool with rich sibling context and no structured data, more detail is needed to guide the agent effectively.
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, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's appropriate here. A baseline of 4 is applied as it meets expectations for a parameterless tool.
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's purpose with a specific verb ('Provides') and resource ('all Magic UI components'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'getButtons' or 'getWidgets' which likely provide subsets of components, missing an opportunity for clear distinction.
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 guidance is provided on when to use this tool versus alternatives like 'getButtons' or 'getWidgets'. The description implies it's comprehensive ('all'), but doesn't specify if siblings are for filtered subsets or different data types, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getWidgetsB
Provides implementation details for animated-list, tweet-card, client-tweet-card, lens, pointer, avatar-circles, icon-cloud, globe components.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states the tool provides implementation details but doesn't disclose behavioral traits like whether it's read-only, safe, requires authentication, has rate limits, returns structured data, or handles errors. For a tool with zero annotation coverage, this is a significant gap.
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, efficient sentence that lists all relevant components. It's front-loaded with the purpose and avoids unnecessary words. However, it could be slightly more structured by grouping components or adding brief categorization.
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 0 parameters, no output schema, and no annotations, the description is minimally complete by stating what it provides and which components. However, for a tool that 'provides implementation details', it lacks information on return format, depth of details, or examples, which could help an agent use it 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?
The input schema has 0 parameters with 100% coverage, so no parameters need documentation. The description appropriately doesn't discuss parameters, which is correct for a parameterless tool. It adds value by specifying the components covered, which is semantic context 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 what the tool does ('Provides implementation details') and specifies the exact components it covers (animated-list, tweet-card, etc.). It distinguishes itself from siblings by focusing on specific UI components rather than backgrounds, buttons, devices, etc. However, it doesn't explicitly state the verb 'retrieve' or 'fetch', though 'provides' implies retrieval.
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. It doesn't mention when to use getWidgets versus getUIComponents (which might overlap), getLayout, or other sibling tools. There's no context about use cases, prerequisites, or exclusions.
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.
11 tool updates
v1.0.0- Changed
getBackgrounds1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getButtons1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getDevices1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getEffects1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getLayout1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getMedia1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getMotion1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getTextEffects1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getTextReveal1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getUIComponents1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
getWidgets1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
11 tool updates
- First observed
getBackgrounds - First observed
getButtons - First observed
getDevices - First observed
getEffects - First observed
getLayout - First observed
getMedia - First observed
getMotion - First observed
getTextEffects - First observed
getTextReveal - First observed
getUIComponents - First observed
getWidgets
TDQS
Scored across 11 tools
Every tool has a clearly distinct purpose targeting specific categories of UI components (e.g., backgrounds, buttons, effects, text effects), with no overlap or ambiguity between them. The descriptions clearly indicate each tool retrieves implementation details for its designated component set, making misselection unlikely.
All tool names follow a consistent 'get' + plural noun pattern (e.g., getBackgrounds, getButtons, getEffects), with no deviations in style or structure. This predictable naming scheme enhances readability and agent usability.
With 11 tools, the server is well-scoped for a UI component library, covering diverse categories like backgrounds, buttons, effects, layout, media, motion, text effects, text reveal, UI components, and widgets. Each tool earns its place by addressing a distinct aspect of the domain.
The tool set provides comprehensive coverage for a Magic UI component library, including all major UI categories from basic elements (buttons, backgrounds) to advanced effects (motion, text effects) and utilities (widgets, layout). The getUIComponents tool offers a complete overview, ensuring no gaps in the surface for retrieving implementation details.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for Studex tools, notifications, and profile integrations
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- AlicenseNot gradedqualityCmaintenanceA server that provides rich UI context and interaction capabilities to AI models, enabling deep understanding of user interfaces through visual analysis and precise interaction via Model Context Protocol.75MIT
- AlicenseCqualityDmaintenanceA Model Context Protocol server that enables AI agents to generate, fetch, and manage UI components through natural language interactions.39 npm7ISC
- FlicenseDqualityDmaintenanceA Model Context Protocol server that provides access to Magic UI components, allowing AI assistants and other MCP clients to discover and use UI components from the Magic UI design system.214-