Shadcn.io is not affiliated with official shadcn/ui
list_items
Dump every item on one shadcn.io surface — blocks, components, hooks, charts, themes, and more. The bulk-view tool for cataloguing.
list_items is the bulk-view counterpart to search_items. Same data source, same row shape — no query, higher default limit. Reach for it when the agent is cataloguing rather than searching.
When to use it
- The agent is scaffolding something big (a full landing page, a component inventory) and needs to see the whole surface.
- You're answering a "list all X" prompt.
- You want to filter client-side after pulling the full set ("all blocks with 'dashboard' in the title").
If the user gave a keyword, prefer search_items — it's cheaper on tokens and faster to iterate.
Arguments
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
type | surface enum | ✓ | — | The surface to enumerate — see search_items for valid values |
limit | number (1–1000) | — | 500 | Raise to 1000 when you want the full blocks catalog |
Example prompts
use shadcnio to list every hookuse shadcnio to list all themes so I can pick one for a dark-mode landing pageuse shadcnio to list 1000 blocks — I want to see the full catalogResponse shape
Same row shape as search_items: { id, title, url, tag }.
{
"count": 500,
"items": [
{ "id": "/blocks/ai-agent-workflow", "title": "React AI Agent Workflow Block", "url": "/blocks/ai-agent-workflow", "tag": "blocks" },
{ "id": "/blocks/ai-agent-task-queue", "title": "React AI Agent Task Queue Block", "url": "/blocks/ai-agent-task-queue", "tag": "blocks" }
]
}If count === limit, assume you truncated — raise limit or paginate on the client.
Manual invocation
curl -s -X POST "https://www.shadcn.io/api/mcp?token=YOUR_TOKEN" \
-H "content-type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_items",
"arguments": { "type": "hooks", "limit": 200 }
}
}' | jq '.result.content[0].text | fromjson | .count'FAQ
Was this page helpful?
Sign in to leave feedback.