Fabric MCP Server について
Fabric MCP Server は、Fabric AI フレームワークを MCP に対応した任意のアプリケーションに接続する独立したサーバーです。MCP リクエストを、実行中の fabric --serve REST API への呼び出しに変換します。IDE やチャット画面から Fabric のプロンプトを使いたいユーザー向けで、MIT ライセンスのオープンソースとして公開され、PyPI からインストールできます。
主な機能
- 01Fabric のパターン、モデル、設定の一覧表示
- 02パターンの実行と結果の返却
- 03パターンの MCP プロンプトとしての公開
- 04fabric --serve の REST API への転送
- 05stdio と HTTP ストリーミングのトランスポート対応
活用シーン
- 01IDE のアシスタントから Fabric のコード解説やリファクタリングのパターンを使用する
- 02MCP 対応のチャット画面で Fabric プロンプトを呼び出す
- 03PyPI からインストールしてローカルの MCP サーバーとして実行する
MCP 対応
MCP サーバーとして、Fabric パターン関連のツールとプロンプトを MCP クライアントに提供し、要求を Fabric の REST API に転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Fabric MCP サーバー
| main | develop | |||
|---|---|---|---|---|
Fabric AI フレームワークの力を、Model Context Protocol(MCP)対応アプリケーションで活用できます。
このプロジェクトは、Daniel Miessler の Fabric フレームワークとModel Context Protocol(MCP)の間を橋渡しする、スタンドアロンのサーバーを実装しています。IDE 拡張機能やチャットインターフェースなどの MCP 対応環境で、Fabric のパターン、モデル、設定を直接利用できます。
お気に入りのツール内で、コードの解説、リファクタリング、創作などに特化した Fabric のプロンプトをシームレスに活用する様子を想像してみてください!
目次
これは何ですか?
- Fabric: プロンプトエンジニアリングとモジュール式 AI ワークフローに重点を置き、AI を活用して人間の能力を拡張するオープンソースのフレームワークです。
- MCP: AI アプリケーション(IDE など)が外部のツールやデータソース(このサーバーなど)と安全に連携できるようにする、オープン標準のプロトコルです。
- Fabric MCP サーバー: MCP サーバーとして動作し、MCP リクエストを実行中の Fabric インスタンスの REST API(
fabric --serve)への呼び出しに変換します。
主な目標と機能(設計に基づく)
- シームレスな統合: コンテキストを切り替えることなく、MCP クライアント内で Fabric のパターンと機能を直接利用できます。
- ワークフローの強化: IDE やその他のツール内の LLM が、Fabric の専門的なプロンプトやユーザー設定を活用できるようにします。
- 標準化: AI ツール統合のためのオープンな MCP 標準に準拠します。
- Fabric コアの活用: 既存の Fabric CLI と REST API を基盤として構築し、Fabric のコアコードベースは変更しません。
- Fabric の機能を公開: パターンの一覧表示、パターンの詳細取得、パターンの実行、モデルや戦略の一覧表示、設定の取得を行う MCP ツールを提供します。
- パターンのプロンプトを公開: Fabric のパターンは MCP プロンプトとしても公開されるため、ユーザーはプロンプト対応クライアントを通じて、再利用可能なパターンテンプレートを見つけて直接呼び出せます。
仕組み
- MCP ホスト(IDE 拡張機能など)が、この Fabric MCP サーバーに接続します。
- ホストは、MCP の
list_tools()メカニズムを通じて利用可能なツール(fabric_run_patternなど)を検出し、MCP のprompts/listメカニズムを通じて利用可能な Fabric パターンテンプレートを検出します。 - ユーザーがツールまたはプロンプトを呼び出すと(たとえば、IDE の AI アシスタントに Fabric パターンを使ってコードをリファクタリングするよう依頼した場合)、ホストはこのサーバーに MCP リクエストを送信します。
- Fabric MCP サーバーは、MCP リクエストを、実行中の
fabric --serveインスタンスへの対応する REST API 呼び出しに変換します。 fabric --serveインスタンスがパターンを実行します。- Fabric MCP サーバーは Fabric からのレスポンス(ストリーミングされる場合があります)を受け取り、ホスト向けの MCP レスポンスに変換します。
プロジェクトの状況
このプロジェクトは機能が完成しています。
このプロジェクトは、BMAD-METHOD(Breakthrough Method of Agile Ai-Driven Development)を使用して完成しました。
中核となるアーキテクチャと提案されているツールについては、高レベルアーキテクチャドキュメントで説明しています。
はじめに
以下の手順に従うと、開発およびテスト用にプロジェクトをローカルマシンに取得して実行できます。
前提条件
- Python >= 3.10
- uv(Python パッケージおよび環境マネージャー。開発者向け)
ソースからのインストール(開発者向け)
-
リポジトリをクローンします。
git clone https://github.com/ksylvan/fabric-mcp.git cd fabric-mcp -
uv sync を使って依存関係をインストールします。
uv sync --devこのコマンドは、仮想環境を
pyproject.tomlとuv.lockに記載された依存関係に合わせます。初回実行時には、必要に応じて環境を作成します。 -
仮想環境を有効にします(必要に応じて uv が作成します)。
-
macOS/Linux の場合:
source .venv/bin/activate -
Windows の場合:
.venv\Scripts\activate
-
これで開発環境のセットアップは完了です。
PyPI からのインストール(ユーザー向け)
開発はせずに fabric-mcp サーバーを使いたい場合は、PyPI から直接インストールできます。
# Using pip
pip install fabric-mcp
# Or using uv
uv pip install fabric-mcp
これにより、パッケージとその依存関係がインストールされます。その後、fabric-mcp コマンドを使ってサーバーを実行できます。
設定(環境変数)
fabric-mcp サーバーは、次の環境変数を使って設定できます。
FABRIC_BASE_URL:実行中の Fabric REST API サーバー(fabric --serve)のベース URL です。- デフォルト:
http://127.0.0.1:8080
- デフォルト:
FABRIC_API_KEY:Fabric REST API サーバーで認証が必要な場合に使用する API キーです。- デフォルト:なし(設定されていない場合、認証は試行されません)。
FABRIC_MCP_LOG_LEVEL:fabric-mcpサーバー自体のログ出力レベルを設定します。- 選択肢:
DEBUG、INFO、WARNING、ERROR、CRITICAL(大文字と小文字は区別されません)。 - デフォルト:
INFO
- 選択肢:
fabric-mcp の実行前に、シェル環境でこれらの変数を設定するか、作業ディレクトリにある .env ファイルに記述できます。
export FABRIC_BASE_URL="http://your-fabric-host:port"
# This must match the key used by fabric --serve
export FABRIC_API_KEY="your_secret_api_key"
export FABRIC_MCP_LOG_LEVEL="DEBUG"
# Standard I/O transport (default)
fabric-mcp --stdio
# HTTP Streamable transport for HTTP-based MCP clients
fabric-mcp --http-streamable
# Custom host/port for HTTP transport
fabric-mcp --http-streamable --host 0.0.0.0 --port 3000 --mcp-path /message
トランスポートのオプション
fabric-mcp サーバーは複数のトランスポート方式をサポートしています。
--stdio:MCP クライアントと直接連携するための標準入出力トランスポート(デフォルト)--http-streamable:MCP 通信用の HTTP サーバー全体を実行する、HTTP ベースのトランスポート--host:サーバーのバインドアドレス(デフォルト:127.0.0.1)--port:サーバーのポート(デフォルト:8000)--mcp-path:MCP エンドポイントのパス(デフォルト:/message)
トランスポートの設定について詳しくは、インフラストラクチャとデプロイの概要をご覧ください。
貢献
こちらの貢献ドキュメントを読み、このリポジトリのガイドラインに従ってください。
また、開発ワークフローの概要を簡潔にまとめた貢献者向けチートシートも参照してください。
ライセンス
Copyright (c) 2025, Kayvan Sylvan MIT Licenseの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
