Search 301 React components, read usage docs and get shadcn install commands for Sundae UI.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer token from sundaeui.dev/account for Pro components. Free components work without it.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List the assets in one category, newest first, optionally only free or only pro.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://sundaeui.dev/api/mcp
Headers
Authorization (optional, not in the config above): Optional. Bearer token from sundaeui.dev/account for Pro components. Free components work without it.List the assets in one category, newest first, optionally only free or only pro.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| tier | string | |
| category* | string | |
| per_page | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"minimum": 1
},
"tier": {
"enum": [
"free",
"pro"
],
"type": "string"
},
"category": {
"enum": [
"components",
"sections",
"backgrounds",
"animations",
"data",
"navigation",
"forms",
"checkout",
"creative",
"templates"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
}
}Assets related to one asset (same category, shared tags or art direction), each marked free or pro.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1
}
}
}Whether this MCP connection is authenticated and has Sundae Pro. Never returns personal data beyond that.
No arguments.
{
"type": "object",
"properties": {}
}Full documentation for one asset: description, when to use it, props, variants (tweakable options), keyboard support, accessibility, dependencies, usage example and free/pro status.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}Returns the source files for an asset, to be written under components/sundae/. Free assets need no auth. Pro assets require an API token for an account with active Sundae Pro; the entitlement is checked on the server for every call.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}How to install one asset: target directory, shadcn command, dependencies, styling requirements and whether Pro is needed.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}The usage example and props table for one asset. Available for free and pro assets.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}All Sundae categories with descriptions and how many assets each holds.
No arguments.
{
"type": "object",
"properties": {}
}Search Sundae UI by keyword, optionally filtered by category and tier. Returns metadata and install commands, never source.
| Argument | Type | Description |
|---|---|---|
| tier | string | |
| limit | integer | |
| query | string | Free text, e.g. "animated pricing section", "otp", "shader background". |
| category | string | Restrict to a category slug (see list_categories). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tier": {
"enum": [
"free",
"pro"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 80,
"description": "Free text, e.g. \"animated pricing section\", \"otp\", \"shader background\"."
},
"category": {
"enum": [
"components",
"sections",
"backgrounds",
"animations",
"data",
"navigation",
"forms",
"checkout",
"creative",
"templates"
],
"type": "string",
"description": "Restrict to a category slug (see list_categories)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.