@elad-nofy/mssql-mcp 1.0.1 → 1.0.3

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.
Files changed (43) hide show
  1. package/README.md +70 -1
  2. package/dist/config.d.ts +2 -2
  3. package/dist/config.js +4 -4
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.js +48 -16
  6. package/dist/index.js.map +1 -1
  7. package/dist/mssqlClient.d.ts +6 -4
  8. package/dist/mssqlClient.d.ts.map +1 -1
  9. package/dist/mssqlClient.js +49 -20
  10. package/dist/mssqlClient.js.map +1 -1
  11. package/dist/tools/availability.d.ts +30 -10
  12. package/dist/tools/availability.d.ts.map +1 -1
  13. package/dist/tools/availability.js +18 -12
  14. package/dist/tools/availability.js.map +1 -1
  15. package/dist/tools/connection.d.ts +26 -5
  16. package/dist/tools/connection.d.ts.map +1 -1
  17. package/dist/tools/connection.js +14 -8
  18. package/dist/tools/connection.js.map +1 -1
  19. package/dist/tools/health.d.ts +42 -10
  20. package/dist/tools/health.d.ts.map +1 -1
  21. package/dist/tools/health.js +22 -13
  22. package/dist/tools/health.js.map +1 -1
  23. package/dist/tools/index.d.ts +1 -0
  24. package/dist/tools/index.d.ts.map +1 -1
  25. package/dist/tools/index.js +1 -0
  26. package/dist/tools/index.js.map +1 -1
  27. package/dist/tools/jobs.d.ts +25 -5
  28. package/dist/tools/jobs.d.ts.map +1 -1
  29. package/dist/tools/jobs.js +12 -6
  30. package/dist/tools/jobs.js.map +1 -1
  31. package/dist/tools/performance.d.ts +26 -6
  32. package/dist/tools/performance.d.ts.map +1 -1
  33. package/dist/tools/performance.js +12 -6
  34. package/dist/tools/performance.js.map +1 -1
  35. package/dist/tools/queries.d.ts +15 -3
  36. package/dist/tools/queries.d.ts.map +1 -1
  37. package/dist/tools/queries.js +7 -3
  38. package/dist/tools/queries.js.map +1 -1
  39. package/dist/tools/schema.d.ts +230 -0
  40. package/dist/tools/schema.d.ts.map +1 -0
  41. package/dist/tools/schema.js +374 -0
  42. package/dist/tools/schema.js.map +1 -0
  43. package/package.json +1 -1
@@ -1,9 +1,12 @@
1
1
  import { z } from 'zod';
2
+ const serverParam = z.string().optional().describe('SQL Server instance (e.g., "server\\instance" or "server,port"). Uses default if not specified.');
2
3
  export const performanceTools = {
3
4
  get_blocking: {
4
5
  description: 'Get current blocking chains showing blocked and blocking sessions',
5
- inputSchema: z.object({}),
6
- handler: async (client) => {
6
+ inputSchema: z.object({
7
+ server: serverParam,
8
+ }),
9
+ handler: async (client, args) => {
7
10
  const query = `
8
11
  WITH BlockingTree AS (
9
12
  SELECT
@@ -40,7 +43,7 @@ export const performanceTools = {
40
43
  LEFT JOIN sys.dm_exec_connections bc ON bt.blocking_session_id = bc.session_id
41
44
  ORDER BY bt.wait_time_seconds DESC
42
45
  `;
43
- const result = await client.query(query);
46
+ const result = await client.query(query, undefined, args.server);
44
47
  return {
45
48
  blockingCount: result.length,
46
49
  chains: result,
@@ -50,6 +53,7 @@ export const performanceTools = {
50
53
  get_wait_stats: {
51
54
  description: 'Get aggregated wait statistics to identify performance bottlenecks',
52
55
  inputSchema: z.object({
56
+ server: serverParam,
53
57
  top: z.number().optional().default(20).describe('Number of top waits to return'),
54
58
  excludeIdle: z.boolean().optional().default(true).describe('Exclude idle and benign waits'),
55
59
  }),
@@ -85,12 +89,13 @@ export const performanceTools = {
85
89
  ${excludeFilter}
86
90
  ORDER BY wait_time_ms DESC
87
91
  `;
88
- return await client.query(query);
92
+ return await client.query(query, undefined, args.server);
89
93
  },
90
94
  },
91
95
  get_cpu_usage: {
92
96
  description: 'Get CPU usage history for SQL Server from ring buffer',
93
97
  inputSchema: z.object({
98
+ server: serverParam,
94
99
  minutes: z.number().optional().default(30).describe('Minutes of history to retrieve'),
95
100
  }),
96
101
  handler: async (client, args) => {
@@ -117,12 +122,13 @@ export const performanceTools = {
117
122
  ) AS y
118
123
  ORDER BY record_id DESC
119
124
  `;
120
- return await client.query(query);
125
+ return await client.query(query, undefined, args.server);
121
126
  },
122
127
  },
123
128
  get_index_usage: {
124
129
  description: 'Get index usage statistics to identify unused or missing indexes',
125
130
  inputSchema: z.object({
131
+ server: serverParam,
126
132
  database: z.string().describe('Database name to analyze'),
127
133
  showUnused: z.boolean().optional().default(true).describe('Include unused indexes'),
128
134
  }),
@@ -155,7 +161,7 @@ export const performanceTools = {
155
161
  ${unusedFilter}
156
162
  ORDER BY (ISNULL(s.user_seeks, 0) + ISNULL(s.user_scans, 0) + ISNULL(s.user_lookups, 0)) ASC
157
163
  `;
158
- return await client.query(query);
164
+ return await client.query(query, undefined, args.server);
159
165
  },
160
166
  },
161
167
  };
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/tools/performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE;QACZ,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCb,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO;gBACL,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EAAE,oEAAoE;QACjF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAChF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAC5F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAA6C,EAAE,EAAE;YACpF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW;gBACpC,CAAC,CAAC;;;;;;;;;;;;;;;2CAeiC;gBACnC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,KAAK,GAAG;qBACC,IAAI,CAAC,GAAG,IAAI,EAAE;;;;;;;;;UASzB,aAAa;;OAEhB,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;IAED,aAAa,EAAE;QACb,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACtF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAA0B,EAAE,EAAE;YACjE,MAAM,KAAK,GAAG;;;qBAGC,IAAI,CAAC,OAAO,IAAI,EAAE;;;;;;;;;;;;;;;;;;;OAmBhC,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACzD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACpF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAgD,EAAE,EAAE;YACvF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;gBAClC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,kDAAkD,CAAC;YAEvD,MAAM,KAAK,GAAG;eACL,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;UAqBlB,YAAY;;OAEf,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/tools/performance.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare const queryTools: {
4
4
  execute_query: {
5
5
  description: string;
6
6
  inputSchema: z.ZodObject<{
7
+ server: z.ZodOptional<z.ZodString>;
7
8
  query: z.ZodString;
8
9
  database: z.ZodOptional<z.ZodString>;
9
10
  maxRows: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -11,49 +12,60 @@ export declare const queryTools: {
11
12
  query: string;
12
13
  maxRows: number;
13
14
  database?: string | undefined;
15
+ server?: string | undefined;
14
16
  }, {
15
17
  query: string;
16
18
  database?: string | undefined;
19
+ server?: string | undefined;
17
20
  maxRows?: number | undefined;
18
21
  }>;
19
22
  handler: (client: MssqlClient, args: {
23
+ server?: string;
20
24
  query: string;
21
25
  database?: string;
22
26
  maxRows?: number;
23
27
  }) => Promise<{
24
28
  rowCount: number;
25
- rows: import("mssql").IRecordSet<unknown>[];
29
+ rows: Record<string, unknown>[];
26
30
  }>;
27
31
  };
28
32
  get_expensive_queries: {
29
33
  description: string;
30
34
  inputSchema: z.ZodObject<{
35
+ server: z.ZodOptional<z.ZodString>;
31
36
  metric: z.ZodDefault<z.ZodOptional<z.ZodEnum<["cpu", "reads", "writes", "duration", "executions"]>>>;
32
37
  top: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
33
38
  }, "strip", z.ZodTypeAny, {
34
39
  metric: "cpu" | "reads" | "writes" | "duration" | "executions";
35
40
  top: number;
41
+ server?: string | undefined;
36
42
  }, {
43
+ server?: string | undefined;
37
44
  metric?: "cpu" | "reads" | "writes" | "duration" | "executions" | undefined;
38
45
  top?: number | undefined;
39
46
  }>;
40
47
  handler: (client: MssqlClient, args: {
48
+ server?: string;
41
49
  metric?: string;
42
50
  top?: number;
43
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
51
+ }) => Promise<Record<string, unknown>[]>;
44
52
  };
45
53
  get_running_queries: {
46
54
  description: string;
47
55
  inputSchema: z.ZodObject<{
56
+ server: z.ZodOptional<z.ZodString>;
48
57
  includeSystem: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
49
58
  }, "strip", z.ZodTypeAny, {
50
59
  includeSystem: boolean;
60
+ server?: string | undefined;
51
61
  }, {
62
+ server?: string | undefined;
52
63
  includeSystem?: boolean | undefined;
53
64
  }>;
54
65
  handler: (client: MssqlClient, args: {
66
+ server?: string;
55
67
  includeSystem?: boolean;
56
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
68
+ }) => Promise<Record<string, unknown>[]>;
57
69
  };
58
70
  };
59
71
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;0BAQK,WAAW,QAAQ;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;0BA0CzE,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;0BA2CpD,WAAW,QAAQ;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE;;CAyCzE,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;0BASK,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BA2C1F,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;0BA4CrE,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE;;CAyC1F,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { z } from 'zod';
2
+ const serverParam = z.string().optional().describe('SQL Server instance (e.g., "server\\instance" or "server,port"). Uses default if not specified.');
2
3
  export const queryTools = {
3
4
  execute_query: {
4
5
  description: 'Execute a read-only SQL query. Only SELECT statements are allowed for safety.',
5
6
  inputSchema: z.object({
7
+ server: serverParam,
6
8
  query: z.string().describe('The SQL SELECT query to execute'),
7
9
  database: z.string().optional().describe('Database to run the query against (optional, uses default if not specified)'),
8
10
  maxRows: z.number().optional().default(1000).describe('Maximum rows to return (default: 1000)'),
@@ -29,7 +31,7 @@ export const queryTools = {
29
31
  if (args.database) {
30
32
  finalQuery = `USE [${args.database}]; ${finalQuery}`;
31
33
  }
32
- const result = await client.query(finalQuery);
34
+ const result = await client.query(finalQuery, undefined, args.server);
33
35
  return {
34
36
  rowCount: result.length,
35
37
  rows: result,
@@ -39,6 +41,7 @@ export const queryTools = {
39
41
  get_expensive_queries: {
40
42
  description: 'Get the most resource-intensive queries from the query store or plan cache',
41
43
  inputSchema: z.object({
44
+ server: serverParam,
42
45
  metric: z.enum(['cpu', 'reads', 'writes', 'duration', 'executions']).optional().default('cpu')
43
46
  .describe('Metric to sort by'),
44
47
  top: z.number().optional().default(20).describe('Number of queries to return'),
@@ -74,12 +77,13 @@ export const queryTools = {
74
77
  WHERE qs.execution_count > 0
75
78
  ORDER BY ${orderBy} DESC
76
79
  `;
77
- return await client.query(query);
80
+ return await client.query(query, undefined, args.server);
78
81
  },
79
82
  },
80
83
  get_running_queries: {
81
84
  description: 'Get currently executing queries with their status and resource usage',
82
85
  inputSchema: z.object({
86
+ server: serverParam,
83
87
  includeSystem: z.boolean().optional().default(false).describe('Include system processes'),
84
88
  }),
85
89
  handler: async (client, args) => {
@@ -118,7 +122,7 @@ export const queryTools = {
118
122
  ${systemFilter}
119
123
  ORDER BY r.total_elapsed_time DESC
120
124
  `;
121
- return await client.query(query);
125
+ return await client.query(query, undefined, args.server);
122
126
  },
123
127
  },
124
128
  };
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import { z } from 'zod';
2
+ import { MssqlClient } from '../mssqlClient.js';
3
+ export declare const schemaTools: {
4
+ get_tables: {
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ server: z.ZodOptional<z.ZodString>;
8
+ database: z.ZodString;
9
+ schema: z.ZodOptional<z.ZodString>;
10
+ includeRowCounts: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ database: string;
13
+ includeRowCounts: boolean;
14
+ server?: string | undefined;
15
+ schema?: string | undefined;
16
+ }, {
17
+ database: string;
18
+ server?: string | undefined;
19
+ schema?: string | undefined;
20
+ includeRowCounts?: boolean | undefined;
21
+ }>;
22
+ handler: (client: MssqlClient, args: {
23
+ server?: string;
24
+ database: string;
25
+ schema?: string;
26
+ includeRowCounts?: boolean;
27
+ }) => Promise<Record<string, unknown>[]>;
28
+ };
29
+ get_columns: {
30
+ description: string;
31
+ inputSchema: z.ZodObject<{
32
+ server: z.ZodOptional<z.ZodString>;
33
+ database: z.ZodString;
34
+ table: z.ZodString;
35
+ schema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ database: string;
38
+ schema: string;
39
+ table: string;
40
+ server?: string | undefined;
41
+ }, {
42
+ database: string;
43
+ table: string;
44
+ server?: string | undefined;
45
+ schema?: string | undefined;
46
+ }>;
47
+ handler: (client: MssqlClient, args: {
48
+ server?: string;
49
+ database: string;
50
+ table: string;
51
+ schema?: string;
52
+ }) => Promise<Record<string, unknown>[]>;
53
+ };
54
+ get_stored_procedures: {
55
+ description: string;
56
+ inputSchema: z.ZodObject<{
57
+ server: z.ZodOptional<z.ZodString>;
58
+ database: z.ZodString;
59
+ schema: z.ZodOptional<z.ZodString>;
60
+ name: z.ZodOptional<z.ZodString>;
61
+ includeCode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ database: string;
64
+ includeCode: boolean;
65
+ server?: string | undefined;
66
+ schema?: string | undefined;
67
+ name?: string | undefined;
68
+ }, {
69
+ database: string;
70
+ server?: string | undefined;
71
+ schema?: string | undefined;
72
+ name?: string | undefined;
73
+ includeCode?: boolean | undefined;
74
+ }>;
75
+ handler: (client: MssqlClient, args: {
76
+ server?: string;
77
+ database: string;
78
+ schema?: string;
79
+ name?: string;
80
+ includeCode?: boolean;
81
+ }) => Promise<Record<string, unknown>[]>;
82
+ };
83
+ get_functions: {
84
+ description: string;
85
+ inputSchema: z.ZodObject<{
86
+ server: z.ZodOptional<z.ZodString>;
87
+ database: z.ZodString;
88
+ schema: z.ZodOptional<z.ZodString>;
89
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "scalar", "table", "inline"]>>>;
90
+ includeCode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ database: string;
93
+ type: "table" | "all" | "scalar" | "inline";
94
+ includeCode: boolean;
95
+ server?: string | undefined;
96
+ schema?: string | undefined;
97
+ }, {
98
+ database: string;
99
+ type?: "table" | "all" | "scalar" | "inline" | undefined;
100
+ server?: string | undefined;
101
+ schema?: string | undefined;
102
+ includeCode?: boolean | undefined;
103
+ }>;
104
+ handler: (client: MssqlClient, args: {
105
+ server?: string;
106
+ database: string;
107
+ schema?: string;
108
+ type?: string;
109
+ includeCode?: boolean;
110
+ }) => Promise<Record<string, unknown>[]>;
111
+ };
112
+ get_views: {
113
+ description: string;
114
+ inputSchema: z.ZodObject<{
115
+ server: z.ZodOptional<z.ZodString>;
116
+ database: z.ZodString;
117
+ schema: z.ZodOptional<z.ZodString>;
118
+ includeDefinition: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ database: string;
121
+ includeDefinition: boolean;
122
+ server?: string | undefined;
123
+ schema?: string | undefined;
124
+ }, {
125
+ database: string;
126
+ server?: string | undefined;
127
+ schema?: string | undefined;
128
+ includeDefinition?: boolean | undefined;
129
+ }>;
130
+ handler: (client: MssqlClient, args: {
131
+ server?: string;
132
+ database: string;
133
+ schema?: string;
134
+ includeDefinition?: boolean;
135
+ }) => Promise<Record<string, unknown>[]>;
136
+ };
137
+ get_foreign_keys: {
138
+ description: string;
139
+ inputSchema: z.ZodObject<{
140
+ server: z.ZodOptional<z.ZodString>;
141
+ database: z.ZodString;
142
+ table: z.ZodOptional<z.ZodString>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ database: string;
145
+ server?: string | undefined;
146
+ table?: string | undefined;
147
+ }, {
148
+ database: string;
149
+ server?: string | undefined;
150
+ table?: string | undefined;
151
+ }>;
152
+ handler: (client: MssqlClient, args: {
153
+ server?: string;
154
+ database: string;
155
+ table?: string;
156
+ }) => Promise<Record<string, unknown>[]>;
157
+ };
158
+ get_indexes: {
159
+ description: string;
160
+ inputSchema: z.ZodObject<{
161
+ server: z.ZodOptional<z.ZodString>;
162
+ database: z.ZodString;
163
+ table: z.ZodOptional<z.ZodString>;
164
+ schema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ database: string;
167
+ schema: string;
168
+ server?: string | undefined;
169
+ table?: string | undefined;
170
+ }, {
171
+ database: string;
172
+ server?: string | undefined;
173
+ schema?: string | undefined;
174
+ table?: string | undefined;
175
+ }>;
176
+ handler: (client: MssqlClient, args: {
177
+ server?: string;
178
+ database: string;
179
+ table?: string;
180
+ schema?: string;
181
+ }) => Promise<Record<string, unknown>[]>;
182
+ };
183
+ get_connected_users: {
184
+ description: string;
185
+ inputSchema: z.ZodObject<{
186
+ server: z.ZodOptional<z.ZodString>;
187
+ database: z.ZodOptional<z.ZodString>;
188
+ activeOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ activeOnly: boolean;
191
+ database?: string | undefined;
192
+ server?: string | undefined;
193
+ }, {
194
+ database?: string | undefined;
195
+ server?: string | undefined;
196
+ activeOnly?: boolean | undefined;
197
+ }>;
198
+ handler: (client: MssqlClient, args: {
199
+ server?: string;
200
+ database?: string;
201
+ activeOnly?: boolean;
202
+ }) => Promise<Record<string, unknown>[]>;
203
+ };
204
+ get_triggers: {
205
+ description: string;
206
+ inputSchema: z.ZodObject<{
207
+ server: z.ZodOptional<z.ZodString>;
208
+ database: z.ZodString;
209
+ table: z.ZodOptional<z.ZodString>;
210
+ includeDefinition: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ database: string;
213
+ includeDefinition: boolean;
214
+ server?: string | undefined;
215
+ table?: string | undefined;
216
+ }, {
217
+ database: string;
218
+ server?: string | undefined;
219
+ table?: string | undefined;
220
+ includeDefinition?: boolean | undefined;
221
+ }>;
222
+ handler: (client: MssqlClient, args: {
223
+ server?: string;
224
+ database: string;
225
+ table?: string;
226
+ includeDefinition?: boolean;
227
+ }) => Promise<Record<string, unknown>[]>;
228
+ };
229
+ };
230
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/tools/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;0BASI,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BA8CrG,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;0BA0DxF,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;0BAmC/G,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BA+C/G,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;;;0BAiCtG,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BAuCxE,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;0BAuDzF,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BA8C/E,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;SAAE;;CA2BhI,CAAC"}