Shadcn Space MCP
This server lets AI coding agents discover, search, install, and manage Shadcn Space UI blocks, components, and full landing pages directly in a project.
Explore blocks & components: List all 14 block categories, free/pro blocks, components, and full pages.
Search: Find blocks and pages by keyword, category, tag, or free-only filter.
Install: Get official install commands, import paths, JSX examples, and style options (base/radix) for blocks and pages.
Manage installed items: List blocks and pages already installed in the project and inspect their files.
Get architecture guidance: Access landing page section sequence, container standards, spacing cadence, and customization limits.
Diagnose issues: Use self-healing error handling for license errors, missing config, and CLI failures.
Follow best practices: Use audit checklist for style, package manager, license, and navbar deduplication rules.
Use built-in prompts: Speed up work with prompts for building landing pages, adding hero/pricing/feature sections, creating UI, and searching.
shadcnspace-mcp
Official Model Context Protocol (MCP) server for Shadcn Space.
This MCP server allows AI-powered IDEs and coding agents (Cursor, Windsurf, Claude Desktop, Cline, Antigravity, etc.) to discover, search, install, and architect Shadcn Space UI blocks, landing pages, and components directly inside your project — with zero copy-pasting.
Quick Installation
Using the CLI
npx shadcnspace-cli install <client>Supported Clients
cursor
windsurf
claude
cline
antigravity
Related MCP server: shadcn-vue-mcp
Manual Installation
Add to your IDE or client's MCP configuration (mcpServers):
{
"mcpServers": {
"shadcnspace-mcp": {
"command": "npx",
"args": ["-y", "shadcnspace-mcp@latest"]
}
}
}For more details, visit our documentation: How to use MCP Server
Available Tools
The server provides 14 specialized tools callable via MCP:
Tool Name | Description |
| Returns all 14 block categories ( |
| Lists blocks with license info ( |
| Lists only 100% free Shadcn Space blocks that do not require any license. Supports optional category and keyword filters. |
| Lists base components with search query and license filter ( |
| Returns official installation command, component export name, import path, JSX example, style options (base/radix), and license requirements for a specific block. |
| Search blocks by keyword, category, and optional |
| Lists blocks currently installed in the user's project and gets their files. |
| Lists all Shadcn Space full pages. |
| Returns official installation command, export name, import path, usage example, and style options for a specific full page. |
| Search full pages using keywords or tags. |
| Lists pages currently installed in the project. |
| Comprehensive UI/UX landing page architecture: section sequence (Hero -> Logos -> Features -> Testimonials -> Pricing -> FAQ -> CTA -> Footer), container standards, and vertical spacing cadence. |
| Self-healing diagnostic tool for resolving license errors, missing |
| Mandatory workflow rules for AI agents: style check (base/radix), package manager detection, license handling, and navbar deduplication. |
Note on Licensing: All pages and PRO blocks require a valid license key and email configured under registries in
components.json. Free blocks can be installed directly without any license.
Available Prompts
The server provides 7 rich prompts to accelerate UI architecture:
Prompt / Command | Description |
| Step-by-step guidance for an AI agent to architect and assemble a complete, high-converting landing page. |
| Find, install, and integrate a high-impact hero block into an existing page. |
| Add a multi-tier pricing table with monthly/annual billing toggles. |
| Add a modern feature showcase or bento grid section. |
| General prompt to architect a full UI page using Shadcn Space blocks. |
| Find specific UI blocks by topic or keyword. |
| Strict guidelines defining which parts of installed blocks can be safely customized (text only). |
Testing & Debugging with MCP Inspector
You can interactively inspect, test, and debug all tools and prompts in your browser using the official MCP Inspector:
npm run inspectorExample Agent Usage
Once configured in your AI IDE, you can ask prompts like:
"Show me all free hero blocks available in Shadcn Space."
"Build a complete SaaS landing page for an AI productivity app using hero, bento features, testimonials, pricing, and FAQ."
"Give me the install command and import statement for
pricing-01in base style."
"What categories of blocks are available in Shadcn Space?"
Agent Instructions (Claude / Cursor / Windsurf)
To ensure your AI assistant follows official Shadcn Space best practices (checking Base vs Radix, package managers, and avoiding duplicate navbars), copy the system prompt in claude-instructions.md into your .cursorrules, .windsurfrules, or Claude Project Instructions.
License & Credits
Created by Shadcn Space.
Available Tools
5 toolsgetBlockInstallGet Block Installation CommandA
Returns the official installation command for a specific Shadcn Space block. Agents can use this to add a block to the project automatically before customizing it.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The exact name of the block, e.g., 'hero-01'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the tool is read-only (returns a command) and adds context about adding a block. It does not mention any side effects, permissions, or rate limits. For a simple read operation, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero wasted words. The purpose is front-loaded in the first sentence, and usage context is in the second. Every sentence adds value.
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 (1 parameter, no output schema, no annotations, few siblings), the description fully covers what the tool does, when to use it, and what the parameter expects. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'name', providing an example. The description adds 'for a specific Shadcn Space block' but no further details beyond the schema. Baseline is 3 due to full schema coverage.
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 returns the installation command for a block and is used to add a block before customizing. The verb 'Returns' and resource 'installation command' are specific. It distinguishes from siblings such as listBlocks (listing) and listInstalledBlocks (listing installed) by focusing on the command retrieval action.
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 states when to use: 'Agents can use this to add a block to the project automatically before customizing it.' This provides clear usage context. However, it does not include when not to use or alternatives, though siblings implicitly cover other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listBlocksList All BlocksA
Provides a complete list of all Shadcn Space blocks that can be used in a project. Agents can use this to explore available block types before deciding which ones to add or customize.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states 'complete list' but fails to disclose read-only nature, performance implications, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words, directly stating purpose and typical usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no output schema, the description adequately covers use case but could mention what fields are returned (e.g., block names/types).
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?
No parameters exist, so baseline 4 applies. The description adds no param-specific info, but none is 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?
Clearly states the tool lists all Shadcn Space blocks, distinguishing it from siblings like getBlockInstall or searchBlocks by focusing on exploration before addition/customization.
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?
Implies usage for exploring available blocks before customizing, but does not explicitly contrast with siblings or state when not to use (e.g., if searching for a specific block, use searchBlocks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listComponentsList All ComponentsA
Provides a full list of Shadcn Space components. Agents can use this to discover components to build pages or sections within a project.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses it provides a 'full list', indicating a read-only operation. No annotations provided, so description covers basic behavior but lacks details on auth, rate limits, or return specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loading the purpose. No redundant words.
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?
Adequate for a simple list tool with no parameters or output schema. Could mention return format (e.g., component names/details) but not critical.
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?
No parameters, so baseline 4 applies. Description adds no param info but schema coverage is complete; no additional meaning 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?
Clearly states verb (list) and resource (components). Differentiates by focusing on 'components' rather than 'blocks', but does not explicitly distinguish from siblings like listBlocks.
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?
Implies usage for discovering components to build pages/sections, but lacks explicit when-not-to-use or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listInstalledBlocksList Installed BlocksA
Lists all blocks that are currently installed in the project. Agents can use this to determine which blocks are available for customization or updating, and optionally filter by specific block names.
| Name | Required | Description | Default |
|---|---|---|---|
| names | No | Optional list of block names to filter the installed blocks. |
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 only states the basic operation without disclosing behavioral traits such as read-only nature, performance considerations, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with the core purpose. Efficient and to the point.
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 tool is simple with one optional parameter, but the description omits return value details and behavioral context. It is minimally complete for a straightforward listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description in the schema. The description restates the filter option but adds no new semantics beyond what the schema already 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 clearly states the tool lists currently installed blocks, which differentiates it from sibling tools like listBlocks (which may list all blocks) and getBlockInstall (which gets a single install).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: agents can use it to determine available blocks for customization or updating. It does not explicitly exclude alternatives but implies a specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchBlocksSearch Blocks by KeywordA
Search Shadcn Space blocks using keywords or tags. Agents can use this to find relevant blocks when building a page based on user requirements or content type.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keyword or tag to search for relevant blocks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description must fully disclose behavior. It does not state if the operation is read-only, any auth needs, rate limits, or return format. Only purpose is conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action and target. Every sentence adds value, 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?
For a simple 1-param search tool with no output schema, description covers when to use but omits return value details (e.g., format, pagination). Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'query' parameter described as 'Keyword or tag to search for relevant blocks.' Description repeats this but adds no significant new meaning beyond 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?
Description clearly states the tool searches Shadcn Space blocks using keywords or tags, with a specific use case. It distinguishes itself from siblings like listBlocks (all blocks) or search-related tools.
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?
Explicit guidance on when to use: 'when building a page based on user requirements or content type.' No when-not or alternatives, but context is clear.
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.
5 tool updates
v1.2.3- First observed
getBlockInstall - First observed
listBlocks - First observed
listComponents - First observed
listInstalledBlocks - First observed
searchBlocks
TDQS
Scored across 5 tools
Tools have distinct purposes: listing all blocks, installed blocks, components, searching, and getting install commands. Slight potential confusion between listBlocks and listInstalledBlocks, but descriptions clarify the difference.
All tools follow a verb+object pattern in camelCase (e.g., listBlocks, getBlockInstall). The pattern is consistent, though some names are multi-word (getBlockInstall) while others are two words (listBlocks).
Five tools is well-scoped for a server focused on managing Shadcn Space blocks and components, providing essential discovery and installation information without being excessive.
Covers listing, searching, and install commands. Missing tools for adding/removing or customizing blocks, but the server's purpose appears informational, and agents can use the install command from getBlockInstall via shell.
Maintenance
Related MCP Connectors
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
The official Svelte MCP server providing docs and autofixing tools for Svelte development
Create, deploy, and operate MCP servers directly from your GitHub repositories.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseAqualityDmaintenanceA mcp server to allow LLMS gain context about shadcn ui component structure,usage and installation101,761 npm2,999MIT
- AlicenseBqualityDmaintenanceShadcn-vue MCP Server is a powerful AI-driven tool that helps developers instantly create beautiful, modern UI components through natural language descriptions. It integrates the shadcn-vue component library and tailwindcss, seamlessly connects with mainstream IDEs, and provides a streamlined UI dev5339 npm108Apache 2.0
- 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.815 npm4MIT