What it does
This server exposes shadcn/ui component library metadata, source code, and implementations to Claude via the Model Context Protocol. It fetches data from the official shadcn/ui repositories (and framework variants like shadcn-svelte, shadcn-vue, react-native-reusables) and indexes component source, demos, block implementations, dependencies, and directory structures. Supports four frameworks—React, Svelte, Vue, and React Native—with optional UI library selection (Radix or Base for React). Built-in caching and rate-limit handling via GitHub API, with optional SSE transport for production deployments or Docker environments.
Who it's for
Frontend engineers building component-heavy interfaces who use Claude for code generation or documentation. Particularly useful for AI-assisted UI development workflows where you need Claude to reference exact component APIs, copy patterns from blocks, or generate wrapper components based on shadcn/ui primitives.
Common use cases
- Generate a custom form component by having Claude reference the source of the shadcn/ui form component and its dependencies.
- Build a dashboard layout using Claude's context over shadcn/ui dashboard blocks.
- Ask Claude to adapt a demo or block example to your specific use case.
- Have Claude explain how a particular shadcn component is composed from primitives.
- Reference component metadata (props, dependencies, descriptions) when designing new components.
Setup pitfalls
- Two secrets detected in the repository. Do not commit real GitHub tokens to version control; use environment variables via
GITHUB_PERSONAL_ACCESS_TOKENor.envfiles instead. - GitHub API rate limits: unauthenticated requests are capped at 60 per hour. Pass a GitHub Personal Access Token via
--github-api-keyto raise the limit to 5,000 per hour (recommended for consistent operation). - Requires filesystem write access for caching; if running in a sandboxed environment, ensure the cache directory is writable or disable caching appropriately.
- SSE transport requires additional HTTP server configuration and differs from the default stdio mode. Test transport selection carefully before production deployment.