关于 livewire-flux-mcp
livewire-flux-mcp 为 AI 编码 Agent 提供 Livewire Flux 组件、布局和图标文档的按需检索。它直接获取网站资料,并标示 Flux Pro 组件,帮助开发者按版本和许可等级查找参考内容。
主要功能
- 01获取组件与布局文档
- 02搜索并列出组件和布局
- 03标记 Pro 组件及许可要求
- 04按版本查询 Flux v1 或 v2
- 05搜索 Heroicons 并提供用法
- 06缓存文档以加快访问
适用场景
- 01编写 Flux 界面前查询组件 API
- 02核对组件是否需要 Pro 许可
- 03查找适用于项目的布局
- 04为 flux:icon 查找图标
MCP 相关
该服务通过 MCP 暴露四个工具,用于获取和搜索 Flux 文档、组件、布局及 Heroicons 信息;内容来自 fluxui.dev 和 Heroicons GitHub。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| layout | string | 否 | 要获取文档的布局名称(例如,“header”、“sidebar”)(可选) |
| search | string | 否 | 已弃用 — 接受但忽略。将在 3.0 中移除。请改为在客户端筛选返回的文本。 |
| version | enum | 否 | 目标 Flux 主版本(默认 v2)v1 | v2 |
| component | string | 否 | 要获取文档的组件名称或路径(可选) |
详细介绍
Livewire Flux MCP
一个 MCP(模型上下文协议)服务,可访问 Livewire Flux 中的 Livewire Flux 组件和布局。该服务允许 AI 助手按需获取和搜索 Flux 组件及布局文档。
⚠️ 免责声明
这是一个个人项目,与 Livewire Flux 无关。
功能介绍
该 MCP 服务会抓取 Livewire Flux 文档并提供结构化访问,让 AI 助手能够:
- 获取
https://fluxui.dev/components/中特定 Flux 组件的文档 - 获取
https://fluxui.dev/layouts/中特定 Flux 布局的文档 - 访问组件和布局参考章节,查看 API 详情、属性和用法
- 搜索组件和布局文档内容
- 列出所有可用的 Flux 组件
- 浏览并搜索所有可用于 flux:icon 组件的 Heroicons
- 直接访问来自 Flux 官方网站的最新文档
- 高性能缓存,缓存有效期为 24 小时,以获得最佳响应速度
为什么不直接使用 Laravel Boost?
Boost 已经通过 search-docs 工具索引了 Flux,回答很多问题时这已经足够。但它有两点不足:
- 答案范围可控。
search-docs会在包含 1.7 万份文档的语料库中进行语义搜索,因此针对宽泛 Flux 问题的回答可能会包含数千个 token 的内容倾倒 (laravel/boost#290)。该服务只会获取你指定的组件页面及其参考章节。 - 了解 Pro 套餐限制。 Boost 随附的
fluxui-development技能内置了组件列表,却不会告诉你的 Agent 哪些组件需要付费 Flux 许可证。该服务会实时读取套餐信息并标记相关组件,让你的 Agent 不再编写无法发布的标记。
如果你使用 Boost,运行 npx livewire-flux-mcp install 即可将两者连接起来——参见AI 指南与技能。两者相辅相成:继续使用 Boost 处理 Laravel、Livewire、Pest 等内容;让该服务负责回答 Flux 相关问题。
设置你的 Agent
该服务通过 stdio 运行,并使用 npx 启动,因此无需全局安装。
每个 Agent 保存配置的方式都不同——请在下方选择你的 Agent。
Cursor
一键安装:
或者手动将其添加到 .cursor/mcp.json(本项目)或 ~/.cursor/mcp.json(所有项目):
{
"mcpServers": {
"flux-docs": {
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
Cursor 没有 cursor mcp add 命令——深层链接和配置文件是仅有的两种受支持方式。
Claude Code
claude mcp add --transport stdio --scope project flux-docs -- npx -y livewire-flux-mcp
-- 之后的所有内容都会原样传递给服务。--scope project 会在项目根目录中写入 .mcp.json,
这样整个团队都能使用:
{
"mcpServers": {
"flux-docs": {
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
使用 --scope local(默认值)仅供自己使用,或使用 --scope user 以应用于所有项目。
项目级服务需要在首次打开项目时批准。在 Windows 上,请用以下命令包装:-- cmd /c npx -y livewire-flux-mcp。
Codex
codex mcp add flux-docs -- npx -y livewire-flux-mcp
此操作会写入 ~/.codex/config.toml:
[mcp_servers.flux-docs]
command = "npx"
args = ["-y", "livewire-flux-mcp"]
只有在信任项目后,才会读取项目级 .codex/config.toml。
使用 codex mcp list 验证。
Gemini CLI
gemini mcp add --scope project flux-docs npx -y livewire-flux-mcp
请注意,这里没有 -- 分隔符:命令及其参数直接跟在服务名称后面。此操作会写入 .gemini/settings.json(使用 --scope user 可写入 ~/.gemini/settings.json):
{
"mcpServers": {
"flux-docs": {
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
在信任文件夹之前,gemini mcp list 会将该服务报告为已断开连接。
GitHub Copilot (VS Code)
创建 .vscode/mcp.json。Copilot 使用 servers,而不是 mcpServers,且每个条目都需要声明类型:
{
"servers": {
"flux-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
或者,在命令面板中运行 MCP: Add Server(Cmd+Shift+P / Ctrl+Shift+P),并选择 Workspace 范围。对应的 CLI 命令会写入用户配置文件,而不是工作区:
code --add-mcp '{"name":"flux-docs","command":"npx","args":["-y","livewire-flux-mcp"]}'
需要 VS Code 1.102+,并启用 GitHub Copilot Chat。
Junie
打开 Settings → Tools → Junie → MCP Settings 并添加服务,或者直接编辑项目中的
.junie/mcp/mcp.json(所有项目使用 ~/.junie/mcp/mcp.json):
{
"mcpServers": {
"flux-docs": {
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
Junie 通过编辑 JSON 注册 MCP 服务——没有 CLI 命令。 在不受信任的项目中会忽略项目级服务。
注册服务器会告知你的 Agent 这些工具存在,但不会告诉它何时使用这些工具——而在 Laravel Boost 项目中,它甚至不会使用这些工具,因为 Boost 自带一个 fluxui-development 技能,会将 Flux 查询发送到自己的 search-docs 工具,并包含一个硬编码的组件列表。此软件包提供了相应指南来解决这个问题:
npx livewire-flux-mcp install
| 文件 | 说明 |
|---|---|
.ai/skills/fluxui-development/SKILL.md | 按需使用的技能:通过此服务器的工具驱动 Flux 工作流。替换 Boost 随附的同名技能。 |
.ai/guidelines/fluxui-{free,pro}/core.blade.php | 始终加载的指南,用于明确 Flux 相关问题应通过 flux-docs 解答。 |
.claude/agents/flux-ui-builder.md | Claude Code 子 Agent,可构建 Flux 界面,并会在编写标记前查找每个组件。 |
安装程序会检测适用项:composer.json 中的 livewire/flux-pro 会选择 fluxui-pro 指南键,livewire/flux 会选择 fluxui-free,而 .claude/ 目录则会添加子 Agent。使用 --boost 或 --claude 限定范围,使用 --path <dir> 指定其他位置,或使用 --dry-run 预览。之后运行 php artisan boost:update,让 Boost 载入这些文件。
关于覆盖。 此技能是有意替换的——Boost 最后解析自定义技能,并根据 frontmatter 中的 name 匹配,因此必须将 fluxui-development 设为相同名称才能生效。指南绝不会被覆盖:如果该路径下已有文件,或 Flux 软件包本身随附了该指南,我们会将其保留在我们的代码块下方;代码块由 {{-- livewire-flux-mcp:begin --}} 标记界定,因此重新运行时只会刷新该部分。除非传入 --force,否则安装程序未写入的任何文件都不会改动。
要撤销更改,请删除已安装的文件并运行 php artisan boost:update——Boost 会恢复自己的版本。
Laravel Boost 只会自动发现 Composer 软件包中的指南和技能,因此 npm 软件包无法自动注册它们。此安装程序会写入 Boost 文档中所述的自定义指南和技能路径,因此能够正常工作,并且在运行
boost:update后仍会保留。
支持我
大家好:
你喜欢这个软件包吗?觉得它有用,而且适合你的项目吗?
我很乐意为你提供帮助。如果你愿意支持我的工作,我将不胜感激。
你还可以选择以下方式 😃:
- 赞助我 😎
- 请我喝杯咖啡 ☕ 或吃个披萨 🍕
- 给这个仓库点个“Star ⭐”(完全免费哦 😉)
可用的 MCP 工具
该服务提供四种 MCP 工具:
-
fetch_flux_docs- 获取组件或布局的文档component(可选):要获取文档的特定组件名称layout(可选):要获取文档的特定布局名称(例如,“header”“sidebar”)version(可选):目标 Flux 主版本 —'v1'或'v2'(默认值为'v2')- 如有可用内容,会自动包含参考章节
- 从
https://fluxui.dev/components/{component}或https://fluxui.dev/layouts/{layout}(v2)获取;当version='v1'时,路由至https://v1.fluxui.dev/components/{component} - 如果页面对应的是付费 Flux 组件,响应开头会添加一行
[NOTICE] This is a Flux Pro component …
-
list_flux_components- 列出所有可用的 Flux 组件version(可选):'v1'或'v2'(默认值为'v2')tier(可选):'free'、'pro'或'all'(默认值为'all')。设置为'all'时,每个组件都会标注为[Pro]或[Free]。在 v1 中会忽略 tier 参数(v1 没有 Pro 等级)。- 提供组件名称及其文档路径
-
list_flux_layouts- 列出所有可用的 Flux 布局version(可选):'v1'或'v2'(默认值为'v2')。在 v1 中,该工具会返回简短提示“layouts are not available in v1”,且不会发起任何 HTTP 请求。- 提供布局名称及其文档路径
- 布局名称从
fluxui.dev/layouts读取;如果该索引不可用,则回退到fluxui.dev/components上的全站导航 — 无论哪种情况,单独的/layouts/{name}页面都不受影响
-
list_flux_component_icons- 列出所有可用于 flux:icon 组件的 Heroiconsvariant(可选):按图标变体筛选(outline、solid、mini、micro)search(可选):用于筛选图标名称的搜索词- 从 Heroicons GitHub 仓库获取实际图标名称
- 为每种变体提供用法示例、尺寸和 GitHub 链接
- 返回所有可用图标的完整列表,并采用正确的 Flux 语法
用法示例
MCP 服务运行后,AI 助手可以使用它来:
- 获取特定组件的文档:“显示 Button 组件文档”
- 获取特定布局的文档:“显示 header 布局文档”
- 列出可用组件:“有哪些 Flux 组件可用?”
- 列出可用布局:“有哪些 Flux 布局可用?”
- 浏览所有可用图标:“显示所有可用于 flux:icon 的 Heroicons”
- 搜索特定图标:“查找 outline 变体中的所有箭头图标”
- 获取图标用法示例:“如何使用 solid 变体中的 user 图标?”
该服务会自动从 fluxui.dev/components、fluxui.dev/layouts 和 GitHub 上的 Heroicons 获取最新文档,并以结构化格式呈现所有内容,方便 AI 助手使用。获取组件或布局文档时,会同时包含主要内容和提供详细 API 信息的参考章节。
版本
Flux 提供两个主版本,MCP 服务均支持:
- v2(默认)— 当前主机为
fluxui.dev。省略version或将其设为'v2'时使用。支持组件、布局和 Pro 等级识别。 - v1 — 旧版主机为
v1.fluxui.dev。设置version='v1'时使用。仅支持组件 — Flux v1 没有/layouts路由,也没有 Pro 等级。list_flux_layouts在 v1 中会返回友好提示,且不会发起任何 HTTP 请求;list_flux_components在 v1 中会忽略tier。
fetch_flux_docs、list_flux_components 和 list_flux_layouts 均接受 version 参数。list_flux_component_icons 与版本无关(Heroicons 不属于 Flux 版本体系)。
Pro 版级别说明
Flux v2 的部分组件仅限持有付费 Flux Pro 许可证的用户使用。MCP 服务通过两种方式说明这一点:
- 获取时提示。 当
fetch_flux_docs获取到 Pro 组件时,响应开头会添加一行[NOTICE] This is a Flux Pro component — requires a paid Flux license.。 - 列表中的级别筛选。
list_flux_components接受tier='free'以隐藏 Pro 组件,接受tier='pro'以仅显示 Pro 组件,或接受tier='all'(默认值)以列出所有组件,并在每个名称旁标注[Pro]/[Free]。
Pro 组件列表根据 fluxui.dev/pricing 生成,并在服务中内置了硬编码的备用列表,因此即使无法访问价格页面,级别筛选仍能正常工作。
手动注册 MCP 服务
如果你的编辑器不在设置你的 Agent中涵盖的六种编辑器之列,请使用以下信息手动注册服务:
| 命令 | npx |
| 参数 | -y livewire-flux-mcp |
{
"mcpServers": {
"flux-docs": {
"command": "npx",
"args": ["-y", "livewire-flux-mcp"]
}
}
}
-y 会跳过首次启动时的安装确认,因为 stdio 服务无法响应此确认。
性能与缓存
MCP 服务包含智能缓存,以提供最佳性能:
- 24 小时缓存过期时间——内容缓存 1 天,在新鲜度与性能之间取得平衡
- 自动缓存管理——自动清理过期条目
- 智能缓存键——针对不同参数(组件、布局、版本、级别、变体)使用不同的缓存条目
- GitHub API 速率限制保护——获取 Heroicons 时避免触及 GitHub API 限制
- 即时响应——缓存请求在毫秒内返回,而非数秒
缓存行为
- 文档请求:按组件/布局与版本组合缓存
- 组件列表:全局缓存(每日刷新)
- 布局列表:全局缓存(每日刷新)
- 图标列表:按变体和搜索组合缓存
- 缓存存储:内存中(服务重启时会重置)
缓存系统对 list_flux_component_icons 工具尤其有益;如果不使用缓存,该工具每次请求最多会调用 GitHub API 4 次。
更新日志
有关近期更改的更多信息,请参阅 CHANGELOG。
贡献
详情请参阅 CONTRIBUTING。
安全漏洞
请查看我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
MIT 许可证(MIT)。更多信息请参阅许可证文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。