LoRA模型图像生成服务

一个基于LoRA(低秩适应)模型的MCP服务器,支持用户和自主代理通过自动发现和应用开源LoRA模型生成高质量的艺术风格图像。

  • by darekrossman
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 darekrossman/fluxlora-mcp

使用说明

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服务器的交互式开发工具。

通过检查员,您可以:

  • 以交互方式测试您的工具、资源和提示
  • 检查服务器响应和错误处理
  • 订阅资源并观察实时更新
  • 验证工具模式和输入验证

要使用检查器,请执行以下操作:

  1. 首先构建您的项目: npm run build
  2. 运行检查器: npm run inspect
  3. 使用自动打开的web界面与服务器交互

部署

该项目支持多种构建选项:

  1. TypeScript构建:标准TypeScript编译(npm run build)

    • 输出: dist/
    • 用途: node dist/index.js
  2. 优化捆绑包:带有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

许可证

麻省理工学院