# livewire-flux-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/leMaur/livewire-flux-mcp  
**GitHub Stars:** 9  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/livewire-flux-mcp

## Description
Flux UI component and layout docs for AI coding agents. Live from fluxui.dev, Pro-tier aware.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "livewire-flux-mcp": {
    "command": "npx",
    "args": ["-y","livewire-flux-mcp"]
  }
}
```

## Documentation & README

# Livewire Flux MCP

[![Npm](https://img.shields.io/npm/v/livewire-flux-mcp?style=flat-square)](https://www.npmjs.com/package/livewire-flux-mcp)
[![CodeQL](https://img.shields.io/github/actions/workflow/status/lemaur/livewire-flux-mcp/github-code-scanning%2Fcodeql?style=flat-square)](https://github.com/leMaur/livewire-flux-mcp/actions/workflows/github-code-scanning/codeql)
[![License](https://img.shields.io/github/license/lemaur/livewire-flux-mcp?style=flat-square&color=yellow)](https://github.com/leMaur/livewire-flux-mcp/blob/main/LICENSE.md)
[![Downloads](https://img.shields.io/npm/d18m/livewire-flux-mcp?style=flat-square)](https://www.npmjs.com/package/livewire-flux-mcp)
[![Sponsor](https://img.shields.io/github/sponsors/lemaur?style=flat-square&color=pink)](https://github.com/sponsors/leMaur)

An MCP (Model Context Protocol) server that provides access to Livewire Flux Components and Layouts from [Livewire&nbsp;Flux](https://fluxui.dev). This server allows AI assistants to fetch and search through Flux component and layout documentation on demand.

> **⚠️ Disclaimer**
> 
> This is a personal project and is not affiliated with Livewire Flux.

## What it does

This MCP server scrapes and provides structured access to the Livewire Flux documentation, enabling AI assistants to:

- Fetch documentation for specific Flux components from `https://fluxui.dev/components/`
- Fetch documentation for specific Flux layouts from `https://fluxui.dev/layouts/`
- Access component and layout reference sections with API details, props, and usage patterns
- Search through component and layout documentation content
- List all available Flux components
- Browse and search all available Heroicons for use with flux:icon component
- Access up-to-date documentation directly from the official Flux website
- **High-performance caching** with 24-hour expiration for optimal response times

## Why not just Laravel Boost?

Boost already indexes Flux through its `search-docs` tool, and for a lot of questions that is
enough. Two things it does not do:

- **Scoped answers.** `search-docs` is a semantic search over a 17k-document corpus, so a broad Flux
  question can come back as a several-thousand-token dump ([laravel/boost#290](https://github.com/laravel/boost/issues/290)).
  This server fetches the one component page you asked for, plus its reference section.
- **Pro-tier awareness.** Boost's bundled `fluxui-development` skill carries a hardcoded component
  list and does not tell your agent which components need a paid Flux license. This server reads the
  tier live and flags it, so your agent stops writing markup you cannot ship.

If you are on Boost, `npx livewire-flux-mcp install` wires both together — see
[AI Guidelines & Skills](#ai-guidelines--skills). The two are complementary: keep Boost for
Laravel, Livewire, Pest and the rest; let this server answer Flux.

## Set Up Your Agents

The server runs over stdio and is launched with `npx`, so there is nothing to install
globally. Every agent stores that differently — pick yours below.

<details>
<summary><b>Cursor</b></summary>

One-click install:

[Add `flux-docs` to Cursor](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/cursor://anysphere.cursor-deeplink/mcp/install?name=flux-docs&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImxpdmV3aXJlLWZsdXgtbWNwIl19)

Or add it by hand to `.cursor/mcp.json` (this project) or `~/.cursor/mcp.json` (every project):

```json
{
    "mcpServers": {
        "flux-docs": {
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

Cursor has no `cursor mcp add` command — the deeplink and the config file are the two supported routes.

</details>

<details>
<summary><b>Claude Code</b></summary>

```shell
claude mcp add --transport stdio --scope project flux-docs -- npx -y livewire-flux-mcp
```

Everything after `--` is passed to the server verbatim. `--scope project` writes `.mcp.json`
in the project root so the whole team gets it:

```json
{
    "mcpServers": {
        "flux-docs": {
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

Use `--scope local` (the default) to keep it to yourself, or `--scope user` for every project.
A project-scoped server needs approving the first time you open the project. On Windows, wrap
the command: `-- cmd /c npx -y livewire-flux-mcp`.

</details>

<details>
<summary><b>Codex</b></summary>

```shell
codex mcp add flux-docs -- npx -y livewire-flux-mcp
```

This writes to `~/.codex/config.toml`:

```toml
[mcp_servers.flux-docs]
command = "npx"
args = ["-y", "livewire-flux-mcp"]
```

A project-level `.codex/config.toml` is only read once you have trusted the project.
Verify with `codex mcp list`.

</details>

<details>
<summary><b>Gemini CLI</b></summary>

```shell
gemini mcp add --scope project flux-docs npx -y livewire-flux-mcp
```

Note there is no `--` separator: the command and its arguments follow the server name
directly. This writes `.gemini/settings.json` (use `--scope user` for `~/.gemini/settings.json`):

```json
{
    "mcpServers": {
        "flux-docs": {
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

`gemini mcp list` reports the server as disconnected until the folder is trusted.

</details>

<details>
<summary><b>GitHub Copilot (VS Code)</b></summary>

Create `.vscode/mcp.json`. Copilot uses `servers`, not `mcpServers`, and each entry declares its type:

```json
{
    "servers": {
        "flux-docs": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

Or run **MCP: Add Server** from the command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) and choose
the Workspace scope. The CLI equivalent writes to your user profile rather than the workspace:

```shell
code --add-mcp '{"name":"flux-docs","command":"npx","args":["-y","livewire-flux-mcp"]}'
```

Requires VS Code 1.102+ with GitHub Copilot Chat enabled.

</details>

<details>
<summary><b>Junie</b></summary>

Open **Settings → Tools → Junie → MCP Settings** and add the server, or edit
`.junie/mcp/mcp.json` in the project (`~/.junie/mcp/mcp.json` for every project) directly:

```json
{
    "mcpServers": {
        "flux-docs": {
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

Junie registers MCP servers by editing JSON — there is no CLI command. Project-level servers
are ignored in untrusted projects.

</details>

## AI Guidelines & Skills

Registering the server tells your agent the tools *exist*. It does not tell it *when to reach
for them* — and in a Laravel Boost project it actively will not, because Boost ships a
`fluxui-development` skill that sends Flux lookups to its own `search-docs` tool and carries a
hardcoded component list. This package ships guidance that fixes that:

```shell
npx livewire-flux-mcp install
```

| File | What it is |
| --- | --- |
| `.ai/skills/fluxui-development/SKILL.md` | On-demand skill: the Flux workflow, driven by this server's tools. **Replaces Boost's bundled skill of the same name.** |
| `.ai/guidelines/fluxui-{free,pro}/core.blade.php` | Always-loaded guideline establishing that Flux questions are resolved through `flux-docs`. |
| `.claude/agents/flux-ui-builder.md` | A Claude Code subagent that builds Flux interfaces and looks every component up before writing markup. |

The installer detects what applies: `livewire/flux-pro` in `composer.json` selects the `fluxui-pro`
guideline key, `livewire/flux` selects `fluxui-free`, and a `.claude/` directory adds the subagent.
Restrict it with `--boost` or `--claude`, point it elsewhere with `--path <dir>`, or preview with
`--dry-run`. Afterwards run `php artisan boost:update` so Boost picks the files up.

**On overwriting.** The skill is a deliberate replacement — Boost resolves custom skills last and
keys them on the frontmatter `name`, so `fluxui-development` has to match for the override to
land. The guideline is never clobbered: an existing file at that path, or the guideline shipped
inside the Flux package itself, is preserved below our block, which is delimited by
`{{-- livewire-flux-mcp:begin --}}` markers so re-running only refreshes that section. Any file
the installer did not write is left alone unless you pass `--force`.

To undo, delete the installed files and run `php artisan boost:update` — Boost restores its own
versions.

> Laravel Boost only auto-discovers guidelines and skills from Composer packages, so an npm
> package cannot register them automatically. This installer writes to the paths Boost documents
> for custom guidelines and skills, which is why it works and survives `boost:update`.

## Support Me

Hey folks,

Do you like this package? Do you find it useful, and it fits well in your project?

I am glad to help you, and I would be so grateful if you considered supporting my work.

You can even choose 😃:
* You can [sponsor me 😎](https://github.com/sponsors/leMaur)
* You can [buy me a coffee ☕ or a pizza 🍕](https://github.com/sponsors/leMaur?frequency=one-time&sponsor=leMaur)
* You can "Star ⭐" this repository (it's free BTW 😉)

## Available MCP Tools

The server provides four MCP tools:

1. **`fetch_flux_docs`** - Fetches documentation for components or layouts
   - `component` (optional): Specific component name to fetch docs for
   - `layout` (optional): Specific layout name to fetch docs for (e.g., "header", "sidebar")
   - `version` (optional): Flux major version to target — `'v1'` or `'v2'` (default `'v2'`)
   - Automatically includes reference sections when available
   - Fetches from `https://fluxui.dev/components/{component}` or `https://fluxui.dev/layouts/{layout}` (v2); routes to `https://v1.fluxui.dev/components/{component}` when `version='v1'`
   - When the page is a paid Flux component, a `[NOTICE] This is a Flux Pro component …` line is prepended to the response

2. **`list_flux_components`** - Lists all available Flux components
   - `version` (optional): `'v1'` or `'v2'` (default `'v2'`)
   - `tier` (optional): `'free'`, `'pro'`, or `'all'` (default `'all'`). On `'all'`, each component is annotated `[Pro]` or `[Free]`. On v1, the tier argument is ignored (v1 has no Pro tier).
   - Provides component names and their documentation paths

3. **`list_flux_layouts`** - Lists all available Flux layouts
   - `version` (optional): `'v1'` or `'v2'` (default `'v2'`). On v1 the tool returns a brief "layouts are not available in v1" notice without making any HTTP request.
   - Provides layout names and their documentation paths
   - Layout names are read from `fluxui.dev/layouts`, falling back to the site-wide navigation on `fluxui.dev/components` when that index is unavailable — the individual `/layouts/{name}` pages are unaffected either way

4. **`list_flux_component_icons`** - Lists all available Heroicons for flux:icon component
   - `variant` (optional): Filter by icon variant (`outline`, `solid`, `mini`, `micro`)
   - `search` (optional): Search term to filter icon names
   - Fetches actual icon names from Heroicons GitHub repository
   - Provides usage examples, dimensions, and GitHub links for each variant
   - Returns comprehensive list of all available icons with proper Flux syntax

### Example Usage

Once the MCP server is running, AI assistants can use it to:

- Get documentation for a specific component: "Show me the Button component docs"
- Get documentation for a specific layout: "Show me the header layout docs"
- List available components: "What Flux components are available?"
- List available layouts: "What Flux layouts are available?"
- Browse all available icons: "Show me all Heroicons available for flux:icon"
- Search for specific icons: "Find all arrow icons in the outline variant"
- Get icon usage examples: "How do I use the user icon in solid variant?"

The server automatically fetches the latest documentation from fluxui.dev/components, fluxui.dev/layouts, and Heroicons from GitHub, presenting everything in a structured format for easy consumption by AI assistants. When fetching component or layout documentation, it includes both the main content and the reference section with detailed API information.

### Versions

Flux ships in two major versions, and the MCP server supports both:

- **v2** (default) — the current host at `fluxui.dev`. Used when `version` is omitted or set to `'v2'`. Supports components, layouts, and Pro-tier awareness.
- **v1** — the legacy host at `v1.fluxui.dev`. Used when `version='v1'`. Components only — Flux v1 has no `/layouts` route and no Pro tier. `list_flux_layouts` returns a friendly notice on v1 without making any HTTP request; `tier` is ignored on `list_flux_components` for v1.

The `version` argument is accepted on `fetch_flux_docs`, `list_flux_components`, and `list_flux_layouts`. `list_flux_component_icons` is version-independent (Heroicons are not part of Flux versioning).

### Pro tier awareness

A subset of Flux v2 components is only available with a paid Flux Pro license. The MCP server surfaces this in two ways:

- **Notice on fetch.** When `fetch_flux_docs` retrieves a component that is Pro, the response is prepended with a single `[NOTICE] This is a Flux Pro component — requires a paid Flux license.` line.
- **Tier filter on listing.** `list_flux_components` accepts `tier='free'` to hide Pro components, `tier='pro'` to show only Pro ones, or `tier='all'` (default) to list everything with `[Pro]` / `[Free]` annotations next to each name.

The list of Pro components is derived from `fluxui.dev/pricing` with a hardcoded fallback baked into the server, so tier filtering still works correctly if the pricing page is unreachable.

## Manually Registering the MCP Server

If your editor is not one of the six covered in [Set Up Your Agents](#set-up-your-agents), register
the server manually using the following details:

<table>
<tr><td><strong>Command</strong></td><td><code>npx</code></td></tr>
<tr><td><strong>Args</strong></td><td><code>-y livewire-flux-mcp</code></td></tr>
</table>

```json
{
    "mcpServers": {
        "flux-docs": {
            "command": "npx",
            "args": ["-y", "livewire-flux-mcp"]
        }
    }
}
```

`-y` skips the install confirmation on first launch, which a stdio server cannot answer.

## Performance & Caching

The MCP server includes intelligent caching to provide optimal performance:

- **24-hour cache expiration** - Content is cached for 1 day to balance freshness with performance
- **Automatic cache management** - Expired entries are automatically cleaned up
- **Intelligent cache keys** - Different cache entries for different parameters (component, layout, version, tier, variant)
- **GitHub API rate limit protection** - Prevents hitting GitHub API limits when fetching Heroicons
- **Instant responses** - Cached requests return in milliseconds instead of seconds

### Cache Behavior

- **Documentation requests**: Cached per component/layout and version combination
- **Component listings**: Cached globally (refreshed daily)
- **Layout listings**: Cached globally (refreshed daily)
- **Icon listings**: Cached per variant and search combination
- **Cache storage**: In-memory (resets when server restarts)

The caching system is particularly beneficial for the `list_flux_component_icons` tool, which can make up to 4 GitHub API calls per request without caching.

## Changelog

Please see [CHANGELOG](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/.github/CONTRIBUTING.md) for details.

## Security Vulnerabilities

Please review [our security policy](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/../../security/policy) on how to report security vulnerabilities.

## Credits

- [Maurizio](https://github.com/lemaur)
- [All Contributors](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/../../contributors)

## License

The MIT License (MIT). Please see [License File](https://github.com/leMaur/livewire-flux-mcp/blob/HEAD/LICENSE.md) for more information.

