关于 Fabric MCP Server
Fabric MCP Server 是一个独立服务,将 Fabric AI 框架的 pattern、模型和配置接入任何兼容 MCP 的应用。它把 MCP 请求转换为对运行中的 fabric --serve REST API 的调用,面向希望在 IDE 或聊天界面中使用 Fabric 提示词的用户。项目以 MIT 许可证开源,并提供 PyPI 安装方式。
主要功能
- 01列出 Fabric pattern 与模型信息
- 02运行 Fabric pattern 并返回结果
- 03将 pattern 作为 MCP 提示词暴露
- 04通过 REST API 调用 fabric --serve
- 05支持 stdio 与 HTTP 流式传输
适用场景
- 01在 IDE 助手中使用 Fabric 的代码解释或重构 pattern
- 02在支持 MCP 的聊天界面中调用 Fabric 提示词
- 03通过 PyPI 安装后作为本地 MCP 服务运行
MCP 相关
该项目是 MCP 服务端,向 MCP 客户端提供 Fabric pattern 相关的工具与提示词,并将请求转发至 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 或其他工具中的大模型能够利用 Fabric 的专用提示词和用户配置。
- 标准化: 遵循开放 MCP 标准,实现 AI 工具集成。
- 利用 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(突破性敏捷 AI 驱动开发方法)完成。
高层架构文档概述了核心架构和拟议的工具。
开始使用
按照以下说明,你可以在本地计算机上获取并运行本项目,以进行开发和测试。
前置条件
- 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 前,你可以在 shell 环境中设置这些变量(或将其写入工作目录中的 .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:基于 HTTP 的传输方式,运行完整的 HTTP 服务以进行 MCP 通信--host:服务绑定地址(默认:127.0.0.1)--port:服务端口(默认:8000)--mcp-path:MCP 端点路径(默认:/message)
有关传输配置的更多详情,请参阅基础设施与部署概述。
贡献
请阅读此处的贡献文档,并遵循本仓库的准则。
另请参阅贡献者速查表,其中简要总结了开发工作流。
许可证
版权所有 (c) 2025,Kayvan Sylvan。本项目采用 MIT License。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
