Skip to main content
Glama

list-blocks

Discover all available Shadcn UI blocks in the MCP server. Use this tool to view and manage components through natural language interactions in compatible AI platforms.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function for the 'list-blocks' tool. It fetches the list of blocks using fetchAndCacheBlocks and returns their names as JSON.
    export const listBlocks = async () => { try { const blocks = await fetchAndCacheBlocks(); const blockNames = blocks.map(block => block.name); return createResponse(JSON.stringify(blockNames, null, 2)); } catch (error) { return handleError(error, "Error fetching blocks"); } }
  • src/index.ts:76-82 (registration)
    The loop that registers all tools, including 'list-blocks', by calling server.tool with name, schema, and handler.
    for (const [name, definition] of Object.entries(toolDefinitions)) { server.tool( name, definition.toolSchema, definition.handler ); }
  • src/index.ts:38-42 (registration)
    The tool definition object for 'list-blocks' within toolDefinitions, including description, parameters, schema, and handler reference.
    "list-blocks": { description: "Get the list of available shadcn/ui blocks", parameters: {}, toolSchema: {}, handler: listBlocks
  • Empty input parameters and toolSchema for 'list-blocks' tool.
    parameters: {}, toolSchema: {},
  • Core helper function that fetches block data from shadcn/ui block pages, parses them, transforms to ComponentDocResource, and caches them.
    export async function fetchAndCacheBlocks(): Promise<ComponentDocResource[]> { const transformBlocks = (blockPages: Block[][]): ComponentDocResource[] => { const allBlocks = blockPages.flat(); return allBlocks.map((block: Block) => ({ name: block.name, description: block.description, doc: block.doc, commands: [{ npm: block.command, pnpm: getCliCommand(block.command, 'pnpm'), yarn: getCliCommand(block.command, 'yarn'), bun: getCliCommand(block.command, 'bun') }], isBlock: true })); }; return fetchAndCache( 'blocks', async () => Promise.all(BLOCK_PAGES.map(parseBlocksFromPage)), transformBlocks ); }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/heilgar/shadcn-ui-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server