{"server":"io.github.Uvxxsh/layro","count":10,"tools":[{"name":"check_access","title":"Check Layro access","description":"Whether the caller can take a component or template, and why: free, subscriber, lifetime, purchased or unauthorized.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","maxLength":200,"description":"A component or template slug."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_component","title":"Get a Layro component","description":"Everything about one component except its source: when to use it, props, variants, npm dependencies, the files it installs, a typechecked usage example with real props, how it sizes and scrolls (layout), the components it pairs with and the recipes it appears in.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","maxLength":200,"description":"A component slug, like \"data-table\"."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_component_code","title":"Get a Layro component's code","description":"The complete source for one component and every file it imports, ready to save at the paths given. Free components need a free Layro account's token; Pro components need the caller's Layro lifetime access. Install with the shadcn CLI instead when you can run commands (see get_installation).","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","maxLength":200,"description":"A component slug, like \"data-table\"."},"include_dependencies":{"type":"boolean","description":"Also return every file it imports (the theme, foundations, sibling components). Default true. Set false only if those are already in the project."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_installation","title":"Install Layro components","description":"Installation for one or more components: the one-time @layro registry setup for components.json, the shadcn CLI command (always @layro/<slug>, never a bare URL), a ready-to-run agent command with a 15-minute install token when this connection carries a CLI token, the npm packages still missing (pass installed_packages from package.json), the files and where they go, and the theme setup.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slugs"],"properties":{"mode":{"enum":["cli","manual","both"],"type":"string","description":"Default \"cli\": the shadcn CLI install, packages and files. \"manual\" or \"both\" adds copy-by-hand steps, for when you cannot run the CLI."},"slugs":{"type":"array","items":{"type":"string","maxLength":200},"maxItems":10,"minItems":1,"description":"One or more component slugs."},"package_manager":{"enum":["npm","pnpm","yarn","bun"],"type":"string","description":"Default npm."},"installed_packages":{"type":"array","items":{"type":"string","maxLength":214},"maxItems":300,"description":"npm packages the project already has (from package.json), so they are not suggested again."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_recipe","title":"Get a Layro recipe","description":"Complete, runnable files that combine several Layro components the way they fit together: an AI chat app shell (Sidebar + Conversation History + AI Chat, with a phone drawer), a dashboard app and a billing page. Without a slug, lists the recipes. Every recipe typechecks against the components.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"slug":{"type":"string","maxLength":200,"description":"A recipe slug, like \"ai-chat-app\". Leave out to list the recipes."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_template","title":"Get a Layro template","description":"One template's details and whether the caller may download it. Never returns the template's files.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","maxLength":200,"description":"A template slug, like \"settle\"."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"get_theme","title":"Get the Layro theme","description":"The theme's colour tokens (light and dark values, and what each one colours), how to restyle Layro to a brand from your own CSS without editing components, the type scale, and the cn() config for it.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"list_categories","title":"List Layro categories","description":"The categories in the Layro catalogue with the components in each, plus the library contract: stack, theme, access, install path, and the accessibility and responsive behaviour every component has.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"search_components","title":"Search Layro components","description":"Find Layro React + Tailwind components by what they do. Returns the best matches first with slug, category, access (free or pro) and version. Start here, then call get_component for details.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1,"description":"How many results. Default 8."},"query":{"type":"string","maxLength":200,"minLength":1,"description":"What you need, in plain words: \"animated dashboard card\", \"date range picker\"."},"category":{"type":"string","maxLength":64,"description":"Only this category (name or slug from list_categories)."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"},{"name":"search_templates","title":"Search Layro templates","description":"Find complete Layro React / Next.js templates: what each is, its stack, a live preview and how it is licensed.","input_schema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":10,"minimum":1},"query":{"type":"string","maxLength":200,"description":"What the template is for. Leave out to list all templates."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T15:12:37.775Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.Uvxxsh%2Flayro/connection?target=mcpServers","arguments":{"name":"io.github.Uvxxsh/layro","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.Uvxxsh%2Flayro","arguments":{"name":"io.github.Uvxxsh/layro"}}]}