Skip to content

MCP for agents

Coding agents can discover Praesepe UI components through Laravel MCP. The registry is read-only: list, search, props, a11y notes, and copy-paste snippets. No authentication is required.

Remote HTTP

Point any MCP client that supports HTTP transport at the public production endpoint. No clone required.

Copied!
https://ui.praesepe.id/mcp/praesepe-ui

Cursor

Add this in Cursor Settings → MCP (or the consuming project's private MCP config), then restart Cursor and enable praesepe-ui. Editor config stays on your machine; it is not part of the Praesepe UI package.

Copied!
{
  "mcpServers": {
    "praesepe-ui": {
      "url": "https://ui.praesepe.id/mcp/praesepe-ui"
    }
  }
}

Agent prompt

After the MCP server is enabled, paste this into Cursor Settings → Rules → User Rules (or your project's agent rules). Agents will call Praesepe tools instead of inventing markup.

Copied!
# Praesepe UI MCP

When building Laravel Blade + Tailwind + Alpine UI with Praesepe UI, use the `praesepe-ui` MCP tools. Do not invent component APIs, props, variants, or markup.

MCP: https://ui.praesepe.id/mcp/praesepe-ui
Setup: https://ui.praesepe.id/docs/mcp

## Workflow
1. `get_guidelines` or resource `praesepe://guidelines` first. Follow Anti-generic and Taste rules before writing markup.
2. `search_components` or `list_components` to find candidates.
3. `get_component` for props, a11y notes, and example slugs.
4. `get_snippet` with format `blade` (Laravel) or `html` (Alpine-only).
5. Adapt the snippet. Keep long-form Alpine (`x-on:click`, `x-bind:class`). Self-check the Anti-generic ban list.

## Do not
- Invent prop names or variants not returned by `get_component`.
- Use Alpine shorthand on Blade components (`:class`, `@click` on `<x-ui.*>`).
- Construct Tailwind classes with string concatenation.
- Ship purple gradients, glow stacks, invented metrics, or generic AI landing layouts.

Local stdio

Optional when you have this repo checked out and prefer stdio over HTTP. Add the snippet below to your private Cursor MCP settings. You do not run mcp:start by hand; Cursor starts it.

Copied!
{
  "mcpServers": {
    "praesepe-ui": {
      "type": "stdio",
      "command": "php",
      "args": [
        "/absolute/path/to/praesepe-ui/artisan",
        "mcp:start",
        "praesepe-ui"
      ]
    }
  }
}

Tools

Tool Purpose
list_components List components (optional category)
search_components Search by name, slug, tags, or props
get_component Props, a11y notes, example slugs
get_snippet Blade or HTML source for an example
list_icons Built-in x-icons.* set
get_guidelines Authoring rules for agents (same as resource below)

Resource praesepe://guidelines exposes the same authoring rules (including Anti-generic and Taste rules) for clients that prefer MCP resources over tools.

Agent workflow

  1. get_guidelines or resource praesepe://guidelines once per task
  2. search_components or list_components
  3. get_component for props and example slugs
  4. get_snippet with blade or html
  5. Adapt the snippet. Keep Alpine long-form (x-on:click, x-bind:class) in Blade

More detail for maintainers: mcp/README.md in the repository.