Fabric
STDIOBridge connecting Fabric AI framework to Model Context Protocol (MCP) compatible applications.
Bridge connecting Fabric AI framework to Model Context Protocol (MCP) compatible applications.
| main | develop | |||
|---|---|---|---|---|
Connect the power of the Fabric AI framework to any Model Context Protocol (MCP) compatible application.
This project implements a standalone server that bridges the gap between Daniel Miessler's Fabric framework and the Model Context Protocol (MCP). It allows you to use Fabric's patterns, models, and configurations directly within MCP-enabled environments like IDE extensions or chat interfaces.
Imagine seamlessly using Fabric's specialized prompts for code explanation, refactoring, or creative writing right inside your favorite tools!
fabric --serve).fabric_run_pattern) via MCP's list_tools() mechanism.fabric --serve instance.fabric --serve instance executes the pattern.This project is feature-complete.
The project was completed by using the BMAD-METHOD (Breakthrough Method of Agile Ai-Driven Development).
The core architecture and proposed tools are outlined in the High-Level Architecture Document.
You can also use to explore the source code.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Clone the repository:
git clone https://github.com/ksylvan/fabric-mcp.git cd fabric-mcp
Install dependencies using uv sync:
uv sync --dev
This command ensures your virtual environment matches the dependencies in pyproject.toml and uv.lock, creating the environment on the first run if necessary.
Activate the virtual environment (uv will create it if needed):
On macOS/Linux:
source .venv/bin/activate
On Windows:
.venv\Scripts\activate
Now you have the development environment set up!
If you just want to use the fabric-mcp server without developing it, you can install it directly from PyPI:
# Using pip pip install fabric-mcp # Or using uv uv pip install fabric-mcp
This will install the package and its dependencies. You can then run the server using the fabric-mcp command.
The fabric-mcp server can be configured using the following environment variables:
FABRIC_BASE_URL: The base URL of the running Fabric REST API server (fabric --serve).
http://127.0.0.1:8080FABRIC_API_KEY: The API key required to authenticate with the Fabric REST API server, if it's configured to require one.
FABRIC_MCP_LOG_LEVEL: Sets the logging verbosity for the fabric-mcp server itself.
DEBUG, INFO, WARNING, ERROR, CRITICAL (case-insensitive).INFOYou can set these variables in your shell environment (or put them into a .env file in the working directory) before running fabric-mcp:
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
The fabric-mcp server supports multiple transport methods:
--stdio: Standard I/O transport for direct MCP client integration (default)--http-streamable: HTTP-based transport that runs a full HTTP server for MCP communication
--host: Server bind address (default: 127.0.0.1)--port: Server port (default: 8000)--mcp-path: MCP endpoint path (default: /message)For more details on transport configuration, see the Infrastructure and Deployment Overview.
Read the contribution document here and please follow the guidelines for this repository.
Also refer to the cheat-sheet for contributors which contains a micro-summary of the development workflow.
Copyright (c) 2025, Kayvan Sylvan Licensed under the MIT License.