使用说明
FluxLoRA MCP服务器
MCP(模型上下文协议)服务器,允许用户和自主代理通过自动发现和应用开源LoRA(低秩自适应)模型,以选定的艺术风格生成高质量的图像。
特性
- 工具:
generate_image-基于样式自动选择LoRA生成图像 - 工具:
discover_loras-从HuggingFace Hub或本地目录搜索LoRA型号 - 工具:
save_image_to_disk-将生成的图像保存到本地文件系统 - 资源:
lora://{name}-访问LoRA模型的元数据 - 资源:
config://defaults-查看有效的配置默认值 - 鼓励 -助手提示LLM有效使用工具
项目结构
fluxlora-mcp/
├── bin/ # Executable scripts
├── scripts/ # Dev utility scripts
├── src/
│ ├── config/ # Environment configuration
│ ├── mcp/ # MCP server implementation
│ ├── prompts/ # System prompts for LLMs
│ ├── resources/ # MCP resources
│ ├── services/ # External service integrations
│ │ ├── fal/ # Fal.ai client for image generation
│ │ ├── fs/ # Filesystem operations
│ │ └── hf/ # HuggingFace Hub client
│ ├── tools/ # MCP tool implementations
│ │ ├── discover_loras.ts
│ │ ├── generate_image.ts
│ │ └── save_image_to_disk.ts
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── IMPLEMENTATION-PLAN.md # Current status and roadmap
└── README.md # This file
技术栈
- TypeScript:类型安全的JavaScript,用于稳健开发
- 萨德:输入/输出模式的运行时验证
- MCP-SDK:与模型上下文协议集成
- Fal.ai客户:用于图像生成的API客户端
- 拥抱脸中心:用于发现LoRA模型的API客户端
安装
# Clone the repository
git clone https://github.com/yourusername/fluxlora-mcp.git
cd fluxlora-mcp
# Install dependencies
npm install
配置
复制示例环境文件并使用您的设置进行更新:
cp .env.example .env
所需的环境变量:
FAL_KEY-您的Fal API密钥(从 Fal.ai)HF_TOKEN-可选拥抱面部API代币,用于提高费率限制
发展
# Start the server in development mode
npm run dev
# Build the project with TypeScript
npm run build
# Create an optimized bundle with esbuild
npm run bundle
# Run tests
npm test
# Run the MCP Inspector with your development server
npm run inspect
# Lint and typecheck your code
npm run lint
npm run typecheck
使用MCP检查器
该项目包括与 MCP检查员,一个用于测试和调试MCP服务器的交互式开发工具。
通过检查员,您可以:
- 以交互方式测试您的工具、资源和提示
- 检查服务器响应和错误处理
- 订阅资源并观察实时更新
- 验证工具模式和输入验证
要使用检查器,请执行以下操作:
- 首先构建您的项目:
npm run build - 运行检查器:
npm run inspect - 使用自动打开的web界面与服务器交互
部署
该项目支持多种构建选项:
-
TypeScript构建:标准TypeScript编译(
npm run build)- 输出:
dist/ - 用途:
node dist/index.js
- 输出:
-
优化捆绑包:带有esbuild的单文件包(
npm run bundle)- 输出:
dist/bundle/index.js - 用途:
node dist/bundle/index.js - 优点:启动速度更快,部署规模更小,依赖关系更简单
- 输出:
用法
服务器公开了一个MCP-兼容的API,可以与任何MCP客户端一起使用。以下是一些示例:
生成图像
// Using an MCP client
const response = await client.invokeTool('generate_image', {
prompt: 'A watercolor portrait of a cyberpunk cat',
style: 'watercolor',
width: 512,
height: 512
});
console.log(response.image.url);
发现LoRA模型
const loras = await client.invokeTool('discover_loras', {
style: 'anime',
limit: 10
});
console.log(loras.results);
保存图像
const result = await client.invokeTool('save_image_to_disk', {
url: 'https://example.com/image.png'
});
console.log(result.filePath);
项目路线图
完成
- ✅ 带协议集成的MCP服务器
- ✅ Fal.ai客户端实现
- ✅ 带参数验证的图像生成
- ✅ HuggingFace Hub集成用于LoRA发现
- ✅ 具有安全检查的图像存储实用程序
- ✅ 配置资源实施
- ✅ LLM的系统提示
进行中
- 🔄 测试基础设施
- 🔄 通过更好的样式映射增强LoRA发现
- 🔄 本地
.safetensor文件扫描
计划的
- ⏳ LoRA资源实施
- ⏳ API响应缓存
- ⏳ 日志记录基础设施
- ⏳ 性能优化
- ⏳ 文件网站
- ⏳ 发布自动化
未来的增强功能
- 批量图像生成
- 网格视图输出
- ControlNet集成
- 视频和音频生成
- 可选web UI
文档
有关更详细的文档,请参阅:
依赖项
- MCP TypeScript SDK:
@modelcontextprotocol/sdk - 虚假客户:
@fal-ai/client - 拥抱脸中心:
@huggingface/hub - 佐德:
zod
许可证
麻省理工学院