@mcp-consultant-tools/azure-sql 28.0.0-beta.15 → 28.0.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,4 +9,5 @@ export { registerConnectionCommands } from './connection-commands.js';
9
9
  export { registerViewCommands } from './view-commands.js';
10
10
  export { registerSprocCommands } from './sproc-commands.js';
11
11
  export { registerCrudCommands } from './crud-commands.js';
12
+ export { registerUnrestrictedCommands } from './unrestricted-commands.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAM/E;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAO/E;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -6,16 +6,19 @@ import { registerConnectionCommands } from './connection-commands.js';
6
6
  import { registerViewCommands } from './view-commands.js';
7
7
  import { registerSprocCommands } from './sproc-commands.js';
8
8
  import { registerCrudCommands } from './crud-commands.js';
9
+ import { registerUnrestrictedCommands } from './unrestricted-commands.js';
9
10
  export function registerAllCommands(program, ctx) {
10
11
  registerQueryCommands(program, ctx);
11
12
  registerConnectionCommands(program, ctx);
12
13
  registerViewCommands(program, ctx);
13
14
  registerSprocCommands(program, ctx);
14
15
  registerCrudCommands(program, ctx);
16
+ registerUnrestrictedCommands(program, ctx);
15
17
  }
16
18
  export { registerQueryCommands } from './query-commands.js';
17
19
  export { registerConnectionCommands } from './connection-commands.js';
18
20
  export { registerViewCommands } from './view-commands.js';
19
21
  export { registerSprocCommands } from './sproc-commands.js';
20
22
  export { registerCrudCommands } from './crud-commands.js';
23
+ export { registerUnrestrictedCommands } from './unrestricted-commands.js';
21
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAmB;IACvE,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAmB;IACvE,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Unrestricted SQL CLI Command - maps to sql-execute-unrestricted MCP tool
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerUnrestrictedCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=unrestricted-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/unrestricted-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA2BxF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Unrestricted SQL CLI Command - maps to sql-execute-unrestricted MCP tool
3
+ */
4
+ import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
5
+ import { outputResult } from '../output.js';
6
+ export function registerUnrestrictedCommands(program, ctx) {
7
+ if (process.env.SQL_ENABLE_UNRESTRICTED !== 'true')
8
+ return;
9
+ const unrestricted = program.command('unrestricted').description('Execute any T-SQL without restrictions (requires SQL_ENABLE_UNRESTRICTED=true)');
10
+ unrestricted
11
+ .command('execute')
12
+ .description('Execute any T-SQL (DDL, DML, EXEC, multi-batch with GO)')
13
+ .argument('<sql>', 'T-SQL to execute (use GO on its own line to separate batches)')
14
+ .option('-s, --server-id <id>', 'Server ID (omit for default)')
15
+ .option('-d, --database <name>', 'Database name (omit for default)')
16
+ .action(async (sql, opts) => {
17
+ try {
18
+ const resolvedServerId = ctx.connection.resolveServerId(opts.serverId);
19
+ const resolvedDatabase = ctx.connection.resolveDatabase(resolvedServerId, opts.database);
20
+ const result = await ctx.write.executeUnrestricted(resolvedServerId, resolvedDatabase, sql);
21
+ const summary = result.completedBatches === result.totalBatches
22
+ ? `All ${result.totalBatches} batch(es) executed successfully.`
23
+ : `${result.completedBatches}/${result.totalBatches} batch(es) completed. Batch ${result.completedBatches} failed.`;
24
+ outputResult({ fileName: 'sql-unrestricted', data: result, summary }, getGlobalFlags(program));
25
+ }
26
+ catch (error) {
27
+ handleCliError(error, 'unrestricted execute');
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=unrestricted-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/unrestricted-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,4BAA4B,CAAC,OAAgB,EAAE,GAAmB;IAChF,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM;QAAE,OAAO;IAE3D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,gFAAgF,CAAC,CAAC;IAEnJ,YAAY;SACT,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,OAAO,EAAE,+DAA+D,CAAC;SAClF,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,CAAC;SACnE,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAS,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAChD,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,CACxC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,YAAY;gBAC7D,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,mCAAmC;gBAC/D,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,+BAA+B,MAAM,CAAC,gBAAgB,UAAU,CAAC;YACtH,YAAY,CACV,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACvD,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -5,6 +5,19 @@ export interface WriteResult {
5
5
  objectName?: string;
6
6
  rowsAffected?: number;
7
7
  }
8
+ export interface UnrestrictedBatchResult {
9
+ batchIndex: number;
10
+ sql: string;
11
+ success: boolean;
12
+ rowsAffected?: number;
13
+ resultSet?: any[];
14
+ error?: string;
15
+ }
16
+ export interface UnrestrictedResult {
17
+ batches: UnrestrictedBatchResult[];
18
+ totalBatches: number;
19
+ completedBatches: number;
20
+ }
8
21
  /**
9
22
  * WriteService handles all write operations against Azure SQL databases:
10
23
  * view management, stored procedure management/execution, and DML (INSERT/UPDATE/DELETE).
@@ -77,5 +90,20 @@ export declare class WriteService {
77
90
  * REQUIRES a WHERE clause to prevent accidental full-table deletes.
78
91
  */
79
92
  executeDelete(serverId: string, database: string, query: string): Promise<WriteResult>;
93
+ /**
94
+ * Split T-SQL on GO batch separators.
95
+ * Matches lines containing only GO (case-insensitive, optional whitespace).
96
+ */
97
+ private splitBatches;
98
+ /**
99
+ * Detect the primary operation type from a SQL batch for audit logging.
100
+ */
101
+ private detectOperationType;
102
+ /**
103
+ * Execute any T-SQL without restrictions. Supports multi-batch scripts with GO separators.
104
+ * This is the "break glass" method — no validation, no keyword restrictions.
105
+ * The caller (MCP tool / CLI) is responsible for gating behind SQL_ENABLE_UNRESTRICTED.
106
+ */
107
+ executeUnrestricted(serverId: string, database: string, sql: string): Promise<UnrestrictedResult>;
80
108
  }
81
109
  //# sourceMappingURL=write-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-service.d.ts","sourceRoot":"","sources":["../../src/services/write-service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAmBD;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAEjE;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IA6CvB;;;;OAIG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IA+EvB;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IA4CvB;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IA6CvB;;;;OAIG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IAmFvB;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC;IA4CvB;;;OAGG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA0DlE;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;IA2DvB;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;IA2DvB;;;OAGG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;CA4ExB"}
1
+ {"version":3,"file":"write-service.d.ts","sourceRoot":"","sources":["../../src/services/write-service.ts"],"names":[],"mappings":"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"}
@@ -629,5 +629,107 @@ export class WriteService {
629
629
  throw new Error(`DELETE execution failed: ${errorMsg}`);
630
630
  }
631
631
  }
632
+ /**
633
+ * Split T-SQL on GO batch separators.
634
+ * Matches lines containing only GO (case-insensitive, optional whitespace).
635
+ */
636
+ splitBatches(sql) {
637
+ return sql
638
+ .split(/^\s*GO\s*$/im)
639
+ .map(batch => batch.trim())
640
+ .filter(batch => batch.length > 0);
641
+ }
642
+ /**
643
+ * Detect the primary operation type from a SQL batch for audit logging.
644
+ */
645
+ detectOperationType(sql) {
646
+ const cleaned = this.cleanSql(sql).toLowerCase();
647
+ if (cleaned.startsWith('select'))
648
+ return 'READ';
649
+ if (cleaned.startsWith('insert') || cleaned.startsWith('create'))
650
+ return 'CREATE';
651
+ if (cleaned.startsWith('update') || cleaned.startsWith('alter'))
652
+ return 'UPDATE';
653
+ if (cleaned.startsWith('delete') || cleaned.startsWith('drop') || cleaned.startsWith('truncate'))
654
+ return 'DELETE';
655
+ return 'UPDATE'; // default for EXEC, etc.
656
+ }
657
+ /**
658
+ * Execute any T-SQL without restrictions. Supports multi-batch scripts with GO separators.
659
+ * This is the "break glass" method — no validation, no keyword restrictions.
660
+ * The caller (MCP tool / CLI) is responsible for gating behind SQL_ENABLE_UNRESTRICTED.
661
+ */
662
+ async executeUnrestricted(serverId, database, sql) {
663
+ const batches = this.splitBatches(sql);
664
+ const results = [];
665
+ if (batches.length === 0) {
666
+ throw new Error('No SQL batches to execute. The input was empty or contained only GO separators.');
667
+ }
668
+ const pool = await this.connectionService.getPool(serverId, database);
669
+ for (let i = 0; i < batches.length; i++) {
670
+ const batchSql = batches[i];
671
+ const timer = auditLogger.startTimer();
672
+ const opType = this.detectOperationType(batchSql);
673
+ try {
674
+ const request = pool.request();
675
+ const result = await request.query(batchSql);
676
+ const batchResult = {
677
+ batchIndex: i,
678
+ sql: batchSql.substring(0, 200),
679
+ success: true,
680
+ rowsAffected: result.rowsAffected?.reduce((a, b) => a + b, 0) ?? 0,
681
+ };
682
+ // Include result set if there are rows (SELECT-like statements)
683
+ if (result.recordset && result.recordset.length > 0) {
684
+ batchResult.resultSet = result.recordset;
685
+ }
686
+ results.push(batchResult);
687
+ auditLogger.log({
688
+ operation: 'execute-unrestricted',
689
+ operationType: opType,
690
+ componentType: 'Query',
691
+ componentName: `${serverId}/${database}`,
692
+ success: true,
693
+ parameters: {
694
+ batchIndex: i,
695
+ totalBatches: batches.length,
696
+ sql: batchSql.substring(0, 500),
697
+ rowsAffected: batchResult.rowsAffected,
698
+ },
699
+ executionTimeMs: timer(),
700
+ });
701
+ }
702
+ catch (error) {
703
+ const errorMsg = this.connectionService.sanitizeErrorMessage(error.message);
704
+ results.push({
705
+ batchIndex: i,
706
+ sql: batchSql.substring(0, 200),
707
+ success: false,
708
+ error: errorMsg,
709
+ });
710
+ auditLogger.log({
711
+ operation: 'execute-unrestricted',
712
+ operationType: opType,
713
+ componentType: 'Query',
714
+ componentName: `${serverId}/${database}`,
715
+ success: false,
716
+ error: errorMsg,
717
+ parameters: {
718
+ batchIndex: i,
719
+ totalBatches: batches.length,
720
+ sql: batchSql.substring(0, 500),
721
+ },
722
+ executionTimeMs: timer(),
723
+ });
724
+ // Stop on first failure
725
+ break;
726
+ }
727
+ }
728
+ return {
729
+ batches: results,
730
+ totalBatches: batches.length,
731
+ completedBatches: results.filter(r => r.success).length,
732
+ };
733
+ }
632
734
  }
633
735
  //# sourceMappingURL=write-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-service.js","sourceRoot":"","sources":["../../src/services/write-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-service.js","sourceRoot":"","sources":["../../src/services/write-service.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export { registerQueryTools } from './query-tools.js';
5
5
  export { registerViewTools } from './view-tools.js';
6
6
  export { registerSprocTools } from './sproc-tools.js';
7
7
  export { registerCrudTools } from './crud-tools.js';
8
+ export { registerUnrestrictedTools } from './unrestricted-tools.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAMvE;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAOvE;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -3,16 +3,19 @@ import { registerQueryTools } from './query-tools.js';
3
3
  import { registerViewTools } from './view-tools.js';
4
4
  import { registerSprocTools } from './sproc-tools.js';
5
5
  import { registerCrudTools } from './crud-tools.js';
6
+ import { registerUnrestrictedTools } from './unrestricted-tools.js';
6
7
  export function registerAllTools(server, ctx) {
7
8
  registerConnectionTools(server, ctx);
8
9
  registerQueryTools(server, ctx);
9
10
  registerViewTools(server, ctx);
10
11
  registerSprocTools(server, ctx);
11
12
  registerCrudTools(server, ctx);
13
+ registerUnrestrictedTools(server, ctx);
12
14
  }
13
15
  export { registerConnectionTools } from './connection-tools.js';
14
16
  export { registerQueryTools } from './query-tools.js';
15
17
  export { registerViewTools } from './view-tools.js';
16
18
  export { registerSprocTools } from './sproc-tools.js';
17
19
  export { registerCrudTools } from './crud-tools.js';
20
+ export { registerUnrestrictedTools } from './unrestricted-tools.js';
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ServiceContext } from '../types.js';
2
+ /**
3
+ * Conditionally register the unrestricted SQL execution tool.
4
+ * Only registers when SQL_ENABLE_UNRESTRICTED=true.
5
+ */
6
+ export declare function registerUnrestrictedTools(server: any, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=unrestricted-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-tools.d.ts","sourceRoot":"","sources":["../../src/tools/unrestricted-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqBlD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAoDhF"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Helper to build "defaults used" message for tool responses.
4
+ */
5
+ function buildDefaultsUsedMessage(providedServerId, resolvedServerId, providedDatabase, resolvedDatabase) {
6
+ const defaultsUsed = [];
7
+ if (!providedServerId)
8
+ defaultsUsed.push(`server='${resolvedServerId}'`);
9
+ if (resolvedDatabase !== undefined && !providedDatabase)
10
+ defaultsUsed.push(`database='${resolvedDatabase}'`);
11
+ if (defaultsUsed.length > 0) {
12
+ return `\n\nUsed defaults: ${defaultsUsed.join(', ')}`;
13
+ }
14
+ return '';
15
+ }
16
+ /**
17
+ * Conditionally register the unrestricted SQL execution tool.
18
+ * Only registers when SQL_ENABLE_UNRESTRICTED=true.
19
+ */
20
+ export function registerUnrestrictedTools(server, ctx) {
21
+ if (process.env.SQL_ENABLE_UNRESTRICTED !== 'true')
22
+ return;
23
+ server.tool("sql-execute-unrestricted", "Execute ANY T-SQL without restrictions: DDL, DML, EXEC, multi-batch with GO. " +
24
+ "This is the 'break glass' tool for incident response and environment resets. " +
25
+ "No statement filtering, no keyword restrictions. Uses same credentials as other tools. " +
26
+ "Requires SQL_ENABLE_UNRESTRICTED=true.", {
27
+ sql: z.string().describe("Any valid T-SQL. Supports multi-batch scripts separated by GO on its own line. " +
28
+ "Each batch executes sequentially; execution stops on first failure. " +
29
+ "Timeout is governed by the pool-level AZURE_SQL_QUERY_TIMEOUT setting."),
30
+ serverId: z.string().optional().describe("OMIT to use default server. DO NOT GUESS."),
31
+ database: z.string().optional().describe("OMIT to use default database. DO NOT GUESS."),
32
+ }, async ({ sql, serverId, database }) => {
33
+ try {
34
+ const resolvedServerId = ctx.connection.resolveServerId(serverId);
35
+ const resolvedDatabase = ctx.connection.resolveDatabase(resolvedServerId, database);
36
+ const result = await ctx.write.executeUnrestricted(resolvedServerId, resolvedDatabase, sql);
37
+ const defaultsMsg = buildDefaultsUsedMessage(serverId, resolvedServerId, database, resolvedDatabase);
38
+ const summary = result.completedBatches === result.totalBatches
39
+ ? `All ${result.totalBatches} batch(es) executed successfully.`
40
+ : `${result.completedBatches}/${result.totalBatches} batch(es) completed. Batch ${result.completedBatches} failed.`;
41
+ return {
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: summary + '\n\n' + JSON.stringify(result, null, 2) + defaultsMsg,
46
+ },
47
+ ],
48
+ };
49
+ }
50
+ catch (error) {
51
+ return {
52
+ content: [
53
+ {
54
+ type: "text",
55
+ text: `Error executing unrestricted SQL: ${error.message}`,
56
+ },
57
+ ],
58
+ isError: true,
59
+ };
60
+ }
61
+ });
62
+ }
63
+ //# sourceMappingURL=unrestricted-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-tools.js","sourceRoot":"","sources":["../../src/tools/unrestricted-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,SAAS,wBAAwB,CAC/B,gBAAoC,EACpC,gBAAwB,EACxB,gBAAqC,EACrC,gBAAyB;IAEzB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC,gBAAgB;QAAE,YAAY,CAAC,IAAI,CAAC,WAAW,gBAAgB,GAAG,CAAC,CAAC;IACzE,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,gBAAgB;QAAE,YAAY,CAAC,IAAI,CAAC,aAAa,gBAAgB,GAAG,CAAC,CAAC;IAE7G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAW,EAAE,GAAmB;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM;QAAE,OAAO;IAE3D,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,+EAA+E;QAC/E,+EAA+E;QAC/E,yFAAyF;QACzF,wCAAwC,EACxC;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACtB,iFAAiF;YACjF,sEAAsE;YACtE,wEAAwE,CACzE;QACD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACxF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAyD,EAAE,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAChD,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,CACxC,CAAC;YACF,MAAM,WAAW,GAAG,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAErG,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,YAAY;gBAC7D,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,mCAAmC;gBAC/D,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,+BAA+B,MAAM,CAAC,gBAAgB,UAAU,CAAC;YAEtH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,WAAW;qBACvE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE;qBAC3D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/azure-sql",
3
- "version": "28.0.0-beta.15",
3
+ "version": "28.0.0-beta.16",
4
4
  "description": "MCP server for Azure SQL Database - queries, schema exploration, and optional write operations",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",