@ignitionai/azure-storage-mcp
Version:
Complete Azure Storage MCP server with CRUD operations, batch processing, schema validation, and advanced querying for Azure Tables, Blobs, Service Bus Queues, and Storage Queues
70 lines (69 loc) • 2.3 kB
TypeScript
import { z } from 'zod';
declare const AzureQueueConfigSchema: z.ZodEffects<z.ZodObject<{
connectionString: z.ZodOptional<z.ZodString>;
namespaceName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
connectionString?: string;
namespaceName?: string;
}, {
connectionString?: string;
namespaceName?: string;
}>, {
connectionString?: string;
namespaceName?: string;
}, {
connectionString?: string;
namespaceName?: string;
}>;
declare const QueueOperationResultSchema: z.ZodObject<{
success: z.ZodBoolean;
data: z.ZodOptional<z.ZodAny>;
error: z.ZodOptional<z.ZodString>;
errorType: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
error?: string;
data?: any;
errorType?: string;
success?: boolean;
}, {
error?: string;
data?: any;
errorType?: string;
success?: boolean;
}>;
type AzureQueueConfig = z.infer<typeof AzureQueueConfigSchema>;
type QueueOperationResult = z.infer<typeof QueueOperationResultSchema>;
export declare class AzureQueueTools {
private serviceBusClient;
private adminClient;
private config;
constructor(config: AzureQueueConfig);
listQueues(): Promise<QueueOperationResult>;
createQueue(queueName: string, options?: {
maxSizeInMegabytes?: number;
defaultMessageTimeToLive?: string;
lockDuration?: string;
requiresDuplicateDetection?: boolean;
requiresSession?: boolean;
deadLetteringOnMessageExpiration?: boolean;
}): Promise<QueueOperationResult>;
deleteQueue(queueName: string): Promise<QueueOperationResult>;
sendMessage(queueName: string, messageBody: string, options?: {
messageId?: string;
correlationId?: string;
label?: string;
timeToLive?: number;
sessionId?: string;
userProperties?: Record<string, any>;
}): Promise<QueueOperationResult>;
receiveMessage(queueName: string, options?: {
maxMessageCount?: number;
maxWaitTimeInMs?: number;
}): Promise<QueueOperationResult>;
peekMessage(queueName: string, options?: {
maxMessageCount?: number;
}): Promise<QueueOperationResult>;
getQueueProperties(queueName: string): Promise<QueueOperationResult>;
close(): Promise<void>;
}
export {};