@ldavis9000aws/swarmui-generator
Version:
A Model Context Protocol server for SwarmUI image generation with TypeScript
129 lines (128 loc) • 2.98 kB
TypeScript
/**
* 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 {};