UNPKG

@ldavis9000aws/swarmui-generator

Version:

A Model Context Protocol server for SwarmUI image generation with TypeScript

129 lines (128 loc) 2.98 kB
/** * Generate Images MCP Tool * * This file contains the MCP tool definition for generating images with SwarmUI. * It handles the processing of image generation requests and formatting of responses. */ import { SwarmUIClient } from '../client/swarmui-client.js'; interface TextContent { type: 'text'; text: string; } interface ImageContent { type: 'image'; data: string; mimeType: string; } /** * Input schema for the generate_images tool */ export declare const generateImagesSchema: { description: string; type: string; properties: { prompt: { type: string; description: string; }; negative_prompt: { type: string; description: string; }; width: { type: string; minimum: number; maximum: number; description: string; }; height: { type: string; minimum: number; maximum: number; description: string; }; guidance_scale: { type: string; minimum: number; maximum: number; description: string; }; num_inference_steps: { type: string; minimum: number; maximum: number; description: string; }; num_images: { type: string; minimum: number; maximum: number; description: string; }; seed: { type: string; description: string; }; model_name: { type: string; description: string; }; scheduler: { type: string; description: string; }; }; required: string[]; }; /** * Type for the generate_images tool parameters */ export interface GenerateImagesParams { prompt: string; negative_prompt?: string; width?: number; height?: number; guidance_scale?: number; num_inference_steps?: number; num_images?: number; seed?: number; model_name?: string; scheduler?: string; } /** * Handler for the generate_images tool */ export declare function generateImagesHandler(params: GenerateImagesParams, swarmui: SwarmUIClient): Promise<{ content: { type: "text"; text: string; }[]; isError: boolean; _meta: { success: boolean; reason: string; imageCount?: undefined; error?: undefined; }; } | { content: (TextContent | ImageContent)[]; _meta: { success: boolean; imageCount: number; reason?: undefined; error?: undefined; }; isError?: undefined; } | { content: { type: "text"; text: string; }[]; isError: boolean; _meta: { success: boolean; error: string; reason?: undefined; imageCount?: undefined; }; }>; export {};