mcpField
L
livewire-flux-mcp

livewire-flux-mcp

ローカル
github.com/leMaur開発ツール96 日前に更新

livewire-flux-mcp について

livewire-flux-mcpは、AIコーディングエージェント向けにLivewire Fluxのコンポーネント、レイアウト、アイコンのドキュメントを必要に応じて提供します。サイトから最新情報を取得し、Flux Pro対象を示すため、バージョンやライセンスに応じた参照に役立ちます。

主な機能

  1. 01コンポーネントとレイアウトのドキュメント取得
  2. 02コンポーネントとレイアウトの検索・一覧表示
  3. 03Pro対象とライセンス要件の表示
  4. 04Flux v1またはv2の参照
  5. 05Heroiconsの検索と使用例の提示
  6. 06高速化のためのドキュメントキャッシュ

活用シーン

  1. 01Flux UIの実装前にコンポーネントAPIを確認
  2. 02Proライセンスが必要なコンポーネントの確認
  3. 03プロジェクトで使えるレイアウトの検索
  4. 04flux:icon用アイコンの検索

MCP 対応

このサーバーは4つのMCPツールを公開し、Fluxのドキュメント、コンポーネント、レイアウト、Heroiconsの取得と検索を提供します。情報源はfluxui.devとHeroiconsのGitHubリポジトリです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"lemaur-livewire-flux": {
"command": "npx",
"args": [
"-y",
"livewire-flux-mcp"
]
}
}
}
起動コマンドnpx -y livewire-flux-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmlivewire-flux-mcp2.3.6

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
layoutstringいいえドキュメントを取得するレイアウト名(例:“header”、“sidebar”)(任意)
searchstringいいえ非推奨 — 受け付けますが無視されます。3.0 で削除されます。代わりにクライアント側で返されたテキストをフィルタリングしてください。
versionenumいいえ対象とする Flux のメジャーバージョン(デフォルトは v2)v1 | v2
componentstringいいえドキュメントを取得するコンポーネント名またはパス(任意)

詳細

Livewire Flux MCP

Npm CodeQL License Downloads Sponsor

Livewire Flux の Livewire Flux コンポーネントとレイアウトにアクセスできる MCP(Model Context Protocol)サーバーです。このサーバーを使用すると、AI アシスタントは Flux のコンポーネントとレイアウトのドキュメントを必要に応じて取得、検索できます。

⚠️免責事項

これは個人プロジェクトであり、Livewire Flux とは関係ありません。

概要

この MCP サーバーは Livewire Flux のドキュメントをスクレイピングし、構造化されたアクセスを提供することで、AI アシスタントが次のことをできるようにします。

  • https://fluxui.dev/components/ から特定の Flux コンポーネントのドキュメントを取得する
  • https://fluxui.dev/layouts/ から特定の Flux レイアウトのドキュメントを取得する
  • API の詳細、props、使用パターンを含むコンポーネントとレイアウトのリファレンスセクションにアクセスする
  • コンポーネントとレイアウトのドキュメントを検索する
  • 利用可能なすべての Flux コンポーネントを一覧表示する
  • flux:icon コンポーネントで使用できるすべての Heroicons を閲覧、検索する
  • Flux 公式サイトから最新のドキュメントに直接アクセスする
  • 高パフォーマンスなキャッシュにより、24 時間の有効期限で最適な応答速度を実現する

Laravel Boost だけではだめな理由

Boost はすでに search-docs ツールで Flux をインデックス化しているため、多くの質問にはそれで十分です。ただし、次の 2 点には対応していません。

  • 対象を絞った回答。 search-docs は 17k 件のドキュメントを対象にしたセマンティック検索なので、範囲の広い Flux に関する質問では、数千トークンに及ぶダンプが返されることがあります(laravel/boost#290)。このサーバーは、指定された 1 つのコンポーネントページとそのリファレンスセクションを取得します。
  • Pro ティアへの対応。 Boost に同梱されている fluxui-development スキルにはコンポーネント一覧がハードコードされており、有料の Flux ライセンスが必要なコンポーネントをエージェントに知らせません。このサーバーはティア情報をリアルタイムで読み取り、該当するコンポーネントを明示するため、エージェントが公開できないマークアップを作成しなくなります。

Boost を利用している場合は、npx livewire-flux-mcp install で両方を連携できます。詳しくは AI ガイドラインとスキルをご覧ください。両者は相互に補完します。Laravel、Livewire、Pest などには Boost を引き続き使い、Flux への回答にはこのサーバーをお使いください。

エージェントをセットアップする

サーバーは stdio 経由で動作し、npx で起動するため、グローバルにインストールする必要はありません。エージェントごとに設定方法が異なるため、以下からお使いのものを選んでください。

Cursor

ワンクリックでインストール:

Cursor に flux-docs を追加する

または、.cursor/mcp.json(このプロジェクト)か ~/.cursor/mcp.json(すべてのプロジェクト)に手動で追加します:

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

Cursor には cursor mcp add コマンドがありません。ディープリンクと設定ファイルが、サポートされている2つの方法です。

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 に書き込みます(~/.gemini/settings.json に書き込む場合は --scope user を指定してください):

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

フォルダーが信頼されるまで、gemini mcp list ではサーバーが切断状態として表示されます。

GitHub Copilot (VS Code)

.vscode/mcp.json を作成します。Copilot では mcpServers ではなく servers を使い、各エントリーでタイプを指定します:

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

または、コマンドパレット(Cmd+Shift+P / Ctrl+Shift+P)から MCP: Add Server を実行し、Workspace スコープを選択します。CLI で同様に設定すると、ワークスペースではなくユーザープロファイルに書き込まれます:

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

GitHub Copilot Chat が有効になっている VS Code 1.102+ が必要です。

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 コマンドはありません。信頼されていないプロジェクトでは、プロジェクトレベルのサーバーは無視されます。

## AI ガイドラインとスキル

サーバーを登録すると、エージェントにツールが存在することは伝わります。しかし、いつ使うべきかまでは伝わりません。さらに、Laravel Boost プロジェクトでは実際に使われません。Boost には、Flux の検索を独自の search-docs ツールに送信し、コンポーネントの一覧をハードコードした fluxui-development スキルが同梱されているためです。このパッケージには、それを解決するガイダンスが含まれています。

npx livewire-flux-mcp install
ファイル内容
.ai/skills/fluxui-development/SKILL.mdオンデマンドのスキル。このサーバーのツールを使って Flux のワークフローを実行します。Boost に同梱されている同名のスキルを置き換えます。
.ai/guidelines/fluxui-{free,pro}/core.blade.phpFlux に関する質問は flux-docs を通じて解決することを定める、常時読み込まれるガイドラインです。
.claude/agents/flux-ui-builder.mdFlux インターフェースを構築し、マークアップを記述する前に各コンポーネントを検索する Claude Code のサブエージェントです。

インストーラーは該当するものを検出します。composer.json に livewire/flux-pro があれば fluxui-pro ガイドラインキーを選択し、livewire/flux があれば fluxui-free を選択します。また、.claude/ ディレクトリがあればサブエージェントを追加します。--boost または --claude で対象を絞り込み、--path <dir> で別の場所を指定するか、--dry-run でプレビューできます。その後、php artisan boost:update を実行して Boost にファイルを読み込ませてください。

上書きについて。 スキルは意図的に置き換えます。Boost はカスタムスキルを最後に解決し、フロントマターの name をキーにするため、上書きを適用するには fluxui-development を一致させる必要があります。ガイドラインが上書きされることはありません。そのパスに既存のファイルがある場合も、Flux パッケージ自体に同梱されたガイドラインがある場合も、当パッケージのブロックより下に保持されます。このブロックは {{-- livewire-flux-mcp:begin --}} マーカーで区切られているため、再実行してもそのセクションだけが更新されます。インストーラーが書き込んでいないファイルは、--force を指定しない限り変更されません。

元に戻すには、インストールしたファイルを削除して php artisan boost:update を実行してください。Boost が独自のバージョンを復元します。

Laravel Boost は Composer パッケージからのみガイドラインとスキルを自動検出するため、npm パッケージからそれらを自動登録することはできません。このインストーラーは、カスタムガイドラインとスキル用に Boost が指定するパスにファイルを書き込むため、機能し、boost:update の実行後も維持されます。

ご支援のお願い

皆さん、こんにちは。

このパッケージを気に入っていただけましたか?役に立ち、プロジェクトにうまく適合していますか?

皆さんのお役に立てることをうれしく思います。私の活動をご支援いただけたら、とてもありがたいです。

次のような方法もあります 😃:

利用可能な MCP ツール

サーバーは4つの MCP ツールを提供します。

  1. 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 … の行が追加されます
  2. list_flux_components - 利用可能な Flux コンポーネントをすべて一覧表示します

    • version(任意):'v1' または 'v2'(デフォルトは 'v2')
    • tier(任意):'free'、'pro'、または 'all'(デフォルトは 'all')。'all' の場合、各コンポーネントに [Pro] または [Free] が付記されます。v1 では Pro ティアがないため、tier 引数は無視されます
    • コンポーネント名とそのドキュメントのパスを提供します
  3. list_flux_layouts - 利用可能な Flux レイアウトをすべて一覧表示します

    • version(任意):'v1' または 'v2'(デフォルトは 'v2')。v1 の場合、HTTP リクエストを行わず、「layouts are not available in v1」という簡潔な通知を返します
    • レイアウト名とそのドキュメントのパスを提供します
    • レイアウト名は fluxui.dev/layouts から読み込まれます。そのインデックスが利用できない場合は、fluxui.dev/components のサイト全体のナビゲーションを代わりに使用します。どちらの場合も、個々の /layouts/{name} ページには影響しません
  4. list_flux_component_icons - flux:icon コンポーネントで利用可能な Heroicons をすべて一覧表示します

    • variant(任意):アイコンのバリアントで絞り込みます(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 には2つのメジャーバージョンがあり、MCP サーバーはどちらもサポートしています。

  • v2(デフォルト)— 現在のホストは fluxui.dev です。version を省略するか、'v2' に設定すると使用されます。コンポーネント、レイアウト、Pro ティアの判別をサポートします。
  • v1 — レガシーホストは v1.fluxui.dev です。version='v1' の場合に使用されます。コンポーネントのみをサポートします。Flux v1 には /layouts ルートも Pro ティアもありません。list_flux_layouts は HTTP リクエストを行わずに v1 で利用できないことを知らせる通知を返し、list_flux_components では v1 の tier が無視されます。

version 引数は fetch_flux_docs、list_flux_components、list_flux_layouts で受け付けられます。list_flux_component_icons はバージョンに依存しません(Heroicons は Flux のバージョン管理に含まれません)。

Pro ティアについて

Flux v2 の一部のコンポーネントは、有料の Flux Pro ライセンスでのみ利用できます。MCP サーバーでは、次の 2 つの方法でこれを示します。

  • 取得時の通知。 fetch_flux_docs が Pro のコンポーネントを取得すると、応答の先頭に [NOTICE] This is a Flux Pro component — requires a paid Flux license. という 1 行が追加されます。
  • 一覧表示時のティアフィルター。 list_flux_components では、Pro コンポーネントを非表示にする tier='free'、Pro コンポーネントのみを表示する tier='pro'、またはすべてを一覧表示する tier='all'(デフォルト)を指定できます。tier='all' の場合、各名前の横に [Pro]/[Free] の注釈が付きます。

Pro コンポーネントの一覧は fluxui.dev/pricing をもとにしており、サーバーにはハードコードされたフォールバックが組み込まれています。そのため、料金ページにアクセスできない場合でも、ティアフィルターは正しく機能します。

MCP サーバーを手動で登録する

エディターがエージェントのセットアップで紹介している 6 つのエディターに含まれていない場合は、次の情報を使用してサーバーを手動で登録してください。

コマンド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 の制限に達するのを防ぎます
  • 即時応答 - キャッシュされたリクエストは、数秒ではなく数ミリ秒で返されます
キャッシュの動作
  • ドキュメントのリクエスト:コンポーネント/レイアウトとバージョンの組み合わせごとにキャッシュされます
  • コンポーネントの一覧:グローバルにキャッシュされます(毎日更新)
  • レイアウトの一覧:グローバルにキャッシュされます(毎日更新)
  • アイコンの一覧:バリアントと検索条件の組み合わせごとにキャッシュされます
  • キャッシュの保存先:メモリー内(サーバーの再起動時にリセットされます)

キャッシュシステムは、キャッシュがない場合、1 回のリクエストで最大 4 回の GitHub API 呼び出しを行う可能性がある list_flux_component_icons ツールで特に効果を発揮します。

変更履歴

最近の変更については、CHANGELOGをご覧ください。

コントリビューション

詳細については、CONTRIBUTINGをご覧ください。

セキュリティの脆弱性

セキュリティの脆弱性の報告方法については、セキュリティポリシーをご確認ください。

クレジット

ライセンス

MIT License(MIT)です。詳細については、ライセンスファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。