UNPKG

@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

309 lines (308 loc) 8.44 kB
import { ReadTableToolParams, CreateEntityToolParams, UpdateEntityToolParams, DeleteEntityToolParams, BatchCreateEntitiesParams, BatchUpdateEntitiesParams, BatchDeleteEntitiesParams, CreateTableParams, DeleteTableParams, QueryTableAdvancedParams } from "../types.js"; export declare class AzureTableTools { private tableServiceClient; private connectionString; private accountName; constructor(connectionString?: string, accountName?: string); readTable(params: ReadTableToolParams): Promise<{ success: boolean; data: any[]; count: number; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; count?: undefined; }>; private cleanEntity; listTables(): Promise<{ success: boolean; data: any[]; count: number; error?: undefined; } | { success: boolean; error: string; data?: undefined; count?: undefined; }>; private getTableClient; createEntity(params: CreateEntityToolParams): Promise<{ success: boolean; data: { partitionKey: string; rowKey: string; message: string; entitySize: number; schemaValidation: { conformsToSchema: boolean; warnings: any[] | string[]; errors: string[]; }; }; tableName: string; error?: undefined; errorType?: undefined; } | { success: boolean; error: string; tableName: string; errorType: string; data?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; errorType?: undefined; }>; updateEntity(params: UpdateEntityToolParams): Promise<{ success: boolean; data: { partitionKey: string; rowKey: string; mode: "merge" | "replace"; message: string; schemaValidation: { conformsToSchema: boolean; warnings: any[] | string[]; errors: string[]; }; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; deleteEntity(params: DeleteEntityToolParams): Promise<{ success: boolean; data: { partitionKey: string; rowKey: string; message: string; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; inferTableSchema(tableName: string, sampleSize?: number): Promise<{ success: boolean; data: { isEmpty: boolean; message: string; suggestedSchema: {}; sampleSize?: undefined; schema?: undefined; commonProperties?: undefined; optionalProperties?: undefined; typeVariations?: undefined; examples?: undefined; }; tableName: string; error?: undefined; } | { success: boolean; data: { isEmpty: boolean; sampleSize: number; schema: { [key: string]: any; }; commonProperties: string[]; optionalProperties: string[]; typeVariations: { [key: string]: string[]; }; examples: any[]; message?: undefined; suggestedSchema?: undefined; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; private analyzeEntitySchema; private getValueType; validateEntityAgainstSchema(tableName: string, entity: any): Promise<{ success: boolean; message: string; warnings: any[]; errors?: undefined; schemaInfo?: undefined; } | { success: boolean; message: string; errors: string[]; warnings: string[]; schemaInfo: { totalProperties: number; requiredProperties: number; optionalProperties: number; }; }>; batchCreateEntities(params: BatchCreateEntitiesParams): Promise<{ success: boolean; data: { totalEntities: number; successful: any; failed: any; partitions: number; details: any[]; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; batchUpdateEntities(params: BatchUpdateEntitiesParams): Promise<{ success: boolean; data: { totalEntities: number; successful: any; failed: any; partitions: number; details: any[]; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; batchDeleteEntities(params: BatchDeleteEntitiesParams): Promise<{ success: boolean; data: { totalEntities: number; successful: any; failed: any; partitions: number; details: any[]; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; createTable(params: CreateTableParams): Promise<{ success: boolean; error: string; tableName: string; errorType: string; data?: undefined; } | { success: boolean; data: { tableName: string; message: string; created: string; }; tableName: string; error?: undefined; errorType?: undefined; } | { success: boolean; error: string; tableName: string; errorType?: undefined; data?: undefined; }>; deleteTable(params: DeleteTableParams): Promise<{ success: boolean; error: string; tableName: string; errorType: string; data?: undefined; } | { success: boolean; data: { tableName: string; message: string; deleted: string; }; tableName: string; error?: undefined; errorType?: undefined; } | { success: boolean; error: string; tableName: string; errorType?: undefined; data?: undefined; }>; queryTableAdvanced(params: QueryTableAdvancedParams): Promise<{ success: boolean; data: { entities: any[]; count: number; totalAvailable: number; hasMore: string | true; continuationToken: string; queryInfo: { filter: string; select: string[]; orderBy: string[]; top: number; skip: number; }; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; data?: undefined; }>; checkEntityExists(tableName: string, partitionKey: string, rowKey: string): Promise<{ success: boolean; exists: boolean; data: { partitionKey: string; rowKey: string; entity: any; message: string; }; tableName: string; error?: undefined; } | { success: boolean; exists: boolean; data: { partitionKey: string; rowKey: string; message: string; entity?: undefined; }; tableName: string; error?: undefined; } | { success: boolean; error: string; tableName: string; exists?: undefined; data?: undefined; }>; private groupEntitiesByPartition; }