get_all_components
Retrieve all available UI components from the Magic UI design system for use in AI assistants and MCP clients.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server.ts:27-49 (handler)Handler function that implements the logic for the 'get_all_components' tool. It prefers raw registry data but falls back to parsed components from ComponentParser.getAllComponents().async () => { // Get the raw content of registry.json const rawData = githubService.getRawRegistryData(); // If no data, return processed components as fallback if (!rawData || rawData.length === 0) { const components = componentParser.getAllComponents(); return { content: [{ type: "text", text: JSON.stringify(components, null, 2), }], }; } // Return the raw content of registry.json return { content: [{ type: "text", text: JSON.stringify(rawData, null, 2), }], }; }
- src/server.ts:24-50 (registration)Registration of the 'get_all_components' tool on the MCP server using server.tool(), with empty input schema and inline handler.server.tool( "get_all_components", {}, async () => { // Get the raw content of registry.json const rawData = githubService.getRawRegistryData(); // If no data, return processed components as fallback if (!rawData || rawData.length === 0) { const components = componentParser.getAllComponents(); return { content: [{ type: "text", text: JSON.stringify(components, null, 2), }], }; } // Return the raw content of registry.json return { content: [{ type: "text", text: JSON.stringify(rawData, null, 2), }], }; } );
- Helper method getAllComponents() in ComponentParser class that returns the list of all parsed components, used as fallback in the tool handler.getAllComponents(): Component[] { return Array.from(this.components.values()); }
- Type definition (schema) for Component objects returned by getAllComponents() and serialized in the tool response.export interface Component { name: string; description: string; code: string; category: string; dependencies?: string[]; files?: { path: string; type: string; target: string; }[]; title?: string; }