威尼斯AI图像生成器MCP服务器
该项目实现了一个模型上下文协议(MCP)服务器,该服务器与Venice AI集成,用于生成具有审批/再生工作流的图像。
什么是MCP?
模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。它充当“AI应用程序的USB-C端口”,允许LLM以标准化的方式连接到各种数据源和工具。
有关更多信息,请访问 MCP官方介绍页面.
项目概述
此MCP服务器在LLM(如Claude)和Venice AI的图像生成功能之间提供了桥梁。它使LLM能够根据文本提示生成图像,并实现了一个带有竖起大拇指/向下大拇指反馈的交互式审批工作流。
主要特点
使用审批工作流生成图像
此服务器的核心功能是:
- 基于文本提示使用Venice AI生成图像
- 通过直接覆盖在图像上的可点击的拇指向上/向下图标向用户显示生成的图像
- 允许用户批准图像(点击大拇指向上)或请求重新生成(点击大拇指向下)
- 如果需要,使用相同的参数重新生成图像
技术实现
服务器实现了几个MCP工具:
- 生成便利图像:从文本提示创建图像,并将其与审批选项一起返回
- approve_image:当用户竖起大拇指时,将图像标记为已批准
- 再生图像:当用户向下竖起大拇指时,使用相同的参数创建新图像
- list_available_models:提供有关可用Venice AI模型的信息
用户体验
从用户的角度来看,交互流程是:
- 用户提供文本提示以生成图像
- LLM调用MCP服务器生成映像
- LLM显示图像,可点击的拇指向上/向下图标直接叠加在图像上
- 用户单击图像上的大拇指向上图标以批准,或单击大拇指向下图标以重新生成
- 如果拇指向下,则重复该过程,直到用户批准图像
建筑
服务器遵循MCP客户端-服务器架构:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ │ │ │ │
│ LLM Host │◄────┤ MCP Server │◄────┤ Venice AI │
│ (e.g. Claude)│ │ │ │ API │
│ │ │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘- LLM 主持人:运行LLM的应用程序(例如Claude)
- MCP服务器:我们的服务器实现MCP协议并连接到Venice AI
- 威尼斯AI API:生成图像的外部服务
实现细节
MCP服务器组件
服务器由以下部分组成:
- FastMCP服务器:处理MCP协议通信的核心服务器
- 威尼斯AI集成:与威尼斯人工智能API接口的代码
- 图像缓存:用于跟踪生成的图像及其批准状态的内存存储
- 工具定义:LLM可以调用以与服务器交互的函数
数据流
- LLM收到用户的提示
- LLM称
generate_venice_image带有提示的工具 - 服务器向Venice AI API发送请求
- Venice AI生成图像并返回URL
- 服务器缓存图像详细信息,并返回带有批准选项的URL
- LLM向用户显示图像和批准选项
- 用户选择竖起大拇指或向下大拇指
- LLM呼叫
approve_image或regenerate_image基于用户选择 - 如果再生,则从步骤3开始重复该过程
示例用法
当连接到像Claude这样的LLM时,交互如下:
User: Generate an image of a futuristic city skyline
Claude: I'll generate that image for you using Venice AI.
[Image of futuristic city skyline with clickable 👍 and 👎 icons overlaid on the image]
User: 👎 (Thumbs down)
Claude: Let me generate a new version for you.
[New image of futuristic city skyline with clickable 👍 and 👎 icons overlaid on the image]
User: 👍 (Thumbs up)
Claude: Great! I've saved this approved image for you.Gemini集成用于多视图生成
用户批准图像后(通过单击向上的大拇指图标),系统会通过Google的Gemini API自动处理批准的图像,以生成3D对象的多个一致视图:
- 批准的Venice AI图像用作Gemini视图生成脚本的输入
- 依次生成四个不同的视图:
- 前视图(0°)-首先生成 - 右视图(90°)-前视图完成后生成 - 左视图(270°)-右视图完成后生成 - 后视图(180°)-左视图完成后生成
- 每个视图在可用时都以4-up布局显示
- 每个脚本在执行之前都会等待前一个脚本成功完成
4-Up视图审批流程
四个生成的视图中的每一个都有自己的竖起/放下大拇指的审批系统:
- 4向上显示中的每个视图都有覆盖在图像上的拇指向上/向下图标
- 如果用户对任何特定视图选择向下大拇指:
- 再次运行该视图的相应Python脚本 - 新生成的图像将替换4-up显示器中被拒绝的图像 - 重复此过程,直到用户竖起大拇指批准图像
- 每个视图都可以单独批准或重新生成
3D模型生成
一旦所有四个视图都获得批准:
- 原始的Venice AI图像和四个经批准的Gemini生成的视图是使用 CUDA多视图立体
- 此处理发生在网络上的专用Linux服务器上
- CUDA多视图立体系统将2D图像转换为3D模型
这种多视图生成利用Gemini的对象一致性功能,从不同角度创建3D对象的连贯表示,同时保持与原始威尼斯AI图像相同的风格、颜色和比例。
未来的增强功能
未来可能的改进包括:
- 永久存储:将批准的图像保存到数据库
- 图像编辑:允许用户请求对生成的图像进行特定修改
- 多图像生成:一次生成多个变体供用户选择
- 其他视图:生成超出四个基本方向的更多角度
威尼斯AI集成
该服务器与Venice AI的图像生成API集成,提供高质量的图像生成能力。API允许:
- 根据文本提示生成图像
- 自定义图像尺寸
- 调整发电参数
- 为不同的风格使用不同的模型
入门指南
要实现此服务器,您需要:
- 安装FastMCP库
- 设置威尼斯AI API证书
- 按照说明实施MCP工具
- 运行服务器并将其连接到LLM主机
MCP资源
有关模型上下文协议以及如何构建MCP服务器的更多信息,请查看以下资源:
- MCP简介 -模型上下文协议的正式介绍
- MCP SDK -Python、TypeScript、Java和Kotlin的官方SDK
- -MCP的官方实施和示例
- 使用LLM构建MCP -使用LLM构建MCP服务器的教程
- 示例服务器 -MCP服务器官方实现库
- MCP检查员 -MCP服务器的交互式调试工具
