shadcn.io is an independent project built on shadcn/ui
- Group
- Blocks
- Inputs
base?category?detail?framework?group?- Access
- Read-only
When to use it
- To see which kinds of section and screen exist before picking.
- To browse one category's groups and compare its variants.
Inputs
base?"base" | "aria" | "ark" | "radix"
React only. Default base (Base UI).
- Type
"base" | "aria" | "ark" | "radix"
category?string
One category: its groups and blocks. Default: every category.
detail?boolean
Each block's one-line description.
framework?"react" | "vue" | "svelte" | "solid"
Default react.
- Type
"react" | "vue" | "svelte" | "solid"
group?string
With category: only this group.
Example prompts
Name the server, so the agent doesn't answer from memory:
Call and response
Asked “What kanban boards are there?”, the agent sends this call. The response is real, trimmed: long lists show their first items and long strings are cut.
list_blocks({ category: "kanban" }){
"category": "kanban",
"count": 100,
"groups": [
{
"blocks": [
{
"slug": "kanban-agile-board",
"title": "Agile Sprint Board Kanban"
},
{
"slug": "kanban-developer-sprints",
"title": "Developer Sprints Kanban"
},
"… 5 more"
],
"count": 7,
"id": "sprints",
"line": "Stories across columns with points, capacity and a backlog to pull from.",
"name": "Sprint boards"
},
{
"blocks": [
{
"slug": "kanban-changelog-pipeline",
"title": "Changelog Pipeline Kanban"
},
{
"slug": "kanban-dependency-board",
"title": "Dependency Board Kanban"
},
"… 6 more"
],
"count": 8,
"id": "gates",
"line": "A change moves forward only when its checks, blockers or notes say it can.",
"name": "Pipelines and gates"
},
"… 13 more"
],
"kind": "app",
"line": "Kanban sections: boards with columns, cards, keyboard moves, limits and filters.",
"next": "get_block({ name }) has a block's install, faq and links; its page is /blocks/<slug>.",
"target": "React · Base UI",
"title": "Kanban"
}
Call it by hand
Your MCP client sends this for you. To try the tool without one, post the call yourself; the server answers in server-sent events, the result on the data: line.
What your agent reads
The server's description of list_blocks, one of the Blocks tools. Your agent reads it to decide when to call the tool:
The block catalog: the categories (kind, count, one line), or withcategoryits groups and blocks.detailadds each block's description.
Next
- get_blockA block, and what you need of it, in one call
- search_blocksFind a section or screen by what it does
FAQ
What does list_blocks return without a category?
The categories, each with its kind (marketing or app), how many blocks it holds and a line on what it is: a few hundred tokens for the whole catalog.