Connects Claude to Daniel Miessler's Fabric CLI, a collection of AI patterns for content processing. Exposes 19+ tools including direct pattern runners like fabric_extract_wisdom, fabric_summarize, and fabric_create_quiz, plus combined operations that fetch and analyze YouTube transcripts, URLs, or files in one call. Uses the Fabric CLI directly instead of running a REST server. The combined analysis tools are smart about Claude's context limits since they pipe full content straight to Fabric without truncation. Useful when you want structured workflows for summarizing videos, converting content to flashcards, analyzing git diffs, or running any of Fabric's dozens of patterns without leaving your Claude session. Requires Fabric CLI installed locally, plus yt-dlp if you want YouTube support.
Model Context Protocol (MCP) server for Fabric - Daniel Miessler's AI-powered content processing framework.
This MCP server allows Claude (via Claude Desktop or Warp CLI) to use Fabric's extensive collection of AI patterns for content analysis, summarization, learning, coding, security analysis, and more.
Install Fabric (if not already installed):
See the official Fabric installation guide for detailed instructions.
Install yt-dlp (optional, for YouTube transcripts):
# macOS
brew install yt-dlp
# Linux/Windows
pip install yt-dlp
Download and Install:
fabric-mcp.mcpb from ReleasesTry it: Ask Claude: "List all fabric patterns"
run_fabric_patternIf you don't have Fabric installed, follow the official Fabric installation guide.
Required only if you want to fetch YouTube transcripts:
# macOS
brew install yt-dlp
# Linux
pip install yt-dlp
# Or: sudo apt install yt-dlp (on Ubuntu/Debian)
# Windows
pip install yt-dlp
# Test Fabric
fabric --version
fabric --listpatterns
# Test yt-dlp (optional)
yt-dlp --version
The easiest way to install:
fabric-mcp.mcpb from ReleasesThe .mcpb file is a self-contained bundle that includes everything needed.
If you want to build from source:
git clone https://github.com/mpzarde/fabric-mcp.git
cd fabric-mcp
npm install
npm run build
Then either:
.mcpb bundle: ./build-mcpb.sh (creates fabric-mcp.mcpb you can install)Note: If you installed using the
.mcpbbundle (Option 1), Claude Desktop configures this automatically. This section is only needed for manual builds.
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fabric": {
"command": "node",
"args": ["/absolute/path/to/fabric-mcp/dist/index.js"]
}
}
}
Replace /absolute/path/to/fabric-mcp/ with your actual project path.
Optional environment variables (if needed):
"env": {
"FABRIC_PATH": "/custom/path/to/fabric",
"YTDLP_PATH": "/custom/path/to/yt-dlp"
}
Note: Manual configuration is required for Warp. Build from source or extract the
.mcpbbundle first.
Add to your Warp MCP configuration file:
macOS/Linux: ~/.warp/mcp_config.json
{
"mcpServers": {
"fabric": {
"command": "node",
"args": ["/absolute/path/to/fabric-mcp/dist/index.js"]
}
}
}
Replace /absolute/path/to/fabric-mcp/ with your actual project path.
Optional environment variables (if needed):
"env": {
"FABRIC_PATH": "/custom/path/to/fabric",
"YTDLP_PATH": "/custom/path/to/yt-dlp"
}
After configuration:
warp mcp reloadhealth_check - Check if Fabric, yt-dlp, and other dependencies are installed and configuredlist_fabric_patterns - List all available Fabric patternsrun_fabric_pattern - Run any Fabric pattern with custom inputget_youtube_transcript - Fetch transcript from YouTube videoThese tools streamline common workflows by fetching content and applying patterns in one step. Benefits:
analyze_youtube_video - Fetch YouTube transcript and apply a pattern in one stepanalyze_file - Read a file and apply a pattern in one stepanalyze_url - Fetch URL content and apply a pattern in one stepThese patterns are exposed as dedicated tools with the fabric_ prefix:
fabric_extract_wisdom - Extract key insights and quotes from contentfabric_summarize - Create concise summariesfabric_analyze_claims - Analyze and fact-check claimsfabric_analyze_paper - Analyze academic papersfabric_create_quiz - Generate quiz questionsfabric_to_flashcards - Convert content to flashcardsfabric_summarize_git_diff - Summarize git diffs for reviewsfabric_create_coding_project - Generate project structure from ideasfabric_explain_code - Explain code in simple termsfabric_analyze_logs - Analyze log filesfabric_analyze_incident - Analyze security incidentsfabric_improve_writing - Improve writing qualityExtract wisdom from a YouTube video:
User: Can you extract the key insights from this video?
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Claude: [Uses get_youtube_transcript + fabric_extract_wisdom]
Summarize an article:
User: Summarize this article: [paste article text]
Claude: [Uses fabric_summarize]
Create flashcards from lecture notes:
User: Convert these lecture notes into flashcards: [paste notes]
Claude: [Uses fabric_to_flashcards]
Analyze a git diff:
User: Review this git diff and summarize the changes:
[paste git diff output]
Claude: [Uses fabric_summarize_git_diff]
For efficiency, use the combined tools that fetch and analyze in one step:
User: Extract wisdom from this YouTube video:
https://www.youtube.com/watch?v=example
Claude: [Uses analyze_youtube_video with pattern='extract_wisdom']
User: Summarize this article:
https://example.com/article
Claude: [Uses analyze_url with pattern='summarize']
User: Explain the code in /path/to/script.py
Claude: [Uses analyze_file with pattern='explain_code']
Claude can chain multiple patterns together:
User: Get the transcript from this video, extract the wisdom,
then create flashcards from it.
https://www.youtube.com/watch?v=example
Claude:
[1. Uses get_youtube_transcript]
[2. Uses fabric_extract_wisdom on transcript]
[3. Uses fabric_to_flashcards on extracted wisdom]
Based on Daniel Miessler's Fabric patterns:
create_coding_project or similar patterns)summarize_git_diff)run_fabric_pattern with agility_story)to_flashcards)create_quiz)analyze_malware)analyze_logs)run_fabric_pattern)Ask Claude: "Run a health check" - this will verify:
Error: Failed to spawn fabric: ENOENT
Solutions:
which fabric and fabric --versionFABRIC_PATH in your MCP configError: Pattern not found: pattern_name
Solutions:
fabric --updatepatternsextract_wisdom not extractWisdom)Error: Failed to fetch YouTube transcript
Solutions:
brew install yt-dlp (macOS) or pip install yt-dlpyt-dlp --versionYTDLP_PATH in your MCP configSolutions:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.jsondist/index.js is absolute~/Library/Logs/Claude/mcp-server-fabric.logError: Fabric command timed out
Solutions:
# Build TypeScript only
npm run build
# Build complete .mcpb bundle
./build-mcpb.sh
npm run watch
# Build the project
npm run build
# Test the MCP server
node dist/index.js
# Server will run on stdio and wait for MCP protocol messages
# Or use the health check to verify dependencies
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"health_check","arguments":{}}}' | node dist/index.js
┌─────────────────┐
│ Claude/Warp │
└────────┬────────┘
│ MCP Protocol (stdio)
▼
┌─────────────────┐
│ MCP Server │ ← This project
│ (Node.js) │
└────────┬────────┘
│ Direct CLI calls
▼
┌─────────────────┐
│ Fabric CLI │
│ (fabric cmd) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ AI Patterns │
│ OpenAI/etc. │
└─────────────────┘
The MCP server:
MIT
Contributions welcome! Please open an issue or PR.
FABRIC_PATHCustom path to Fabric CLI (optional, uses PATH by default)
YTDLP_PATHCustom path to yt-dlp CLI (optional, uses PATH by default)