@andrewlwn77/s3-upload-mcp-server
Version:
Pure Node.js MCP server for uploading images to AWS S3 with high-performance validation using Sharp and file-type
72 lines • 1.69 kB
TypeScript
export interface S3UploadResult {
success: boolean;
public_url: string;
s3_key: string;
bucket: string;
file_size?: number;
content_type?: string;
etag?: string;
}
export interface S3FileUploadResult extends S3UploadResult {
original_filename: string;
}
export interface PublicUrlResult {
success: boolean;
public_url?: string;
upload_url?: string;
expires_at: string;
expiration_seconds: number;
bucket?: string;
key?: string;
content_type?: string;
}
export interface BucketCreationResult {
success: boolean;
bucket_name: string;
region: string;
created: boolean;
already_exists?: boolean;
public_read_enabled?: boolean;
}
export interface BucketPolicyResult {
success: boolean;
bucket_name: string;
policy_applied: boolean;
policy_document?: object;
}
export interface UniqueFilenameResult {
success: boolean;
unique_filename: string;
original_extension: string;
timestamp: string;
}
export interface ImageValidationResult {
success: boolean;
is_valid: boolean;
file_format?: string;
file_size?: number;
dimensions?: {
width: number;
height: number;
};
content_type?: string;
validation_errors?: string[];
}
export interface S3Error {
code: string;
message: string;
details?: object;
retry_after?: number;
}
export interface S3ErrorResponse {
success: false;
error: S3Error;
}
export type S3Response<T> = T | S3ErrorResponse;
export interface S3Config {
accessKeyId: string;
secretAccessKey: string;
region: string;
defaultBucket?: string;
}
//# sourceMappingURL=types.d.ts.map