@elad-nofy/mssql-mcp 1.0.2 → 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.
@@ -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 healthTools = {
3
4
  get_database_states: {
4
5
  description: 'Get the health status of all databases including any that are offline, recovering, or suspect',
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
  SELECT
9
12
  name,
@@ -26,7 +29,7 @@ export const healthTools = {
26
29
  CASE WHEN state_desc != 'ONLINE' THEN 0 ELSE 1 END,
27
30
  name
28
31
  `;
29
- const result = await client.query(query);
32
+ const result = await client.query(query, undefined, args.server);
30
33
  const critical = result.filter((r) => r.health_status === 'CRITICAL');
31
34
  const warning = result.filter((r) => r.health_status === 'WARNING');
32
35
  return {
@@ -43,6 +46,7 @@ export const healthTools = {
43
46
  get_disk_space: {
44
47
  description: 'Get disk space usage for all database files including data and log files',
45
48
  inputSchema: z.object({
49
+ server: serverParam,
46
50
  database: z.string().optional().describe('Specific database to check (optional, checks all if not specified)'),
47
51
  }),
48
52
  handler: async (client, args) => {
@@ -71,13 +75,15 @@ export const healthTools = {
71
75
  ${dbFilter}
72
76
  ORDER BY database_name, type_desc
73
77
  `;
74
- return await client.query(query);
78
+ return await client.query(query, undefined, args.server);
75
79
  },
76
80
  },
77
81
  get_memory_usage: {
78
82
  description: 'Get SQL Server memory usage including buffer pool, plan cache, and other memory clerks',
79
- inputSchema: z.object({}),
80
- handler: async (client) => {
83
+ inputSchema: z.object({
84
+ server: serverParam,
85
+ }),
86
+ handler: async (client, args) => {
81
87
  const query = `
82
88
  SELECT
83
89
  type as memory_clerk_type,
@@ -88,7 +94,7 @@ export const healthTools = {
88
94
  WHERE pages_kb > 0
89
95
  ORDER BY pages_kb DESC
90
96
  `;
91
- const clerks = await client.query(query);
97
+ const clerks = await client.query(query, undefined, args.server);
92
98
  // Get overall memory status
93
99
  const memoryQuery = `
94
100
  SELECT
@@ -98,7 +104,7 @@ export const healthTools = {
98
104
  visible_target_kb / 1024 as visible_target_mb
99
105
  FROM sys.dm_os_sys_info
100
106
  `;
101
- const memoryInfo = await client.query(memoryQuery);
107
+ const memoryInfo = await client.query(memoryQuery, undefined, args.server);
102
108
  // Get buffer pool usage
103
109
  const bufferQuery = `
104
110
  SELECT
@@ -108,7 +114,7 @@ export const healthTools = {
108
114
  GROUP BY database_id
109
115
  ORDER BY COUNT(*) DESC
110
116
  `;
111
- const bufferUsage = await client.query(bufferQuery);
117
+ const bufferUsage = await client.query(bufferQuery, undefined, args.server);
112
118
  return {
113
119
  serverMemory: memoryInfo[0],
114
120
  topMemoryClerks: clerks.slice(0, 15),
@@ -118,12 +124,14 @@ export const healthTools = {
118
124
  },
119
125
  get_log_space: {
120
126
  description: 'Get transaction log space usage for all databases',
121
- inputSchema: z.object({}),
122
- handler: async (client) => {
127
+ inputSchema: z.object({
128
+ server: serverParam,
129
+ }),
130
+ handler: async (client, args) => {
123
131
  const query = `
124
132
  DBCC SQLPERF(LOGSPACE) WITH NO_INFOMSGS
125
133
  `;
126
- const result = await client.query(query);
134
+ const result = await client.query(query, undefined, args.server);
127
135
  // Add health assessment
128
136
  const assessed = result.map((r) => ({
129
137
  ...r,
@@ -145,6 +153,7 @@ export const healthTools = {
145
153
  get_backup_status: {
146
154
  description: 'Get last backup information for all databases',
147
155
  inputSchema: z.object({
156
+ server: serverParam,
148
157
  maxAgeDays: z.number().optional().default(7).describe('Flag databases with no backup in this many days as warning'),
149
158
  }),
150
159
  handler: async (client, args) => {
@@ -166,7 +175,7 @@ export const healthTools = {
166
175
  CASE WHEN MAX(CASE WHEN b.type = 'D' THEN b.backup_finish_date END) IS NULL THEN 0 ELSE 1 END,
167
176
  MAX(CASE WHEN b.type = 'D' THEN b.backup_finish_date END)
168
177
  `;
169
- const result = await client.query(query);
178
+ const result = await client.query(query, undefined, args.server);
170
179
  // Add health assessment
171
180
  const maxAge = args.maxAgeDays || 7;
172
181
  const assessed = result.map((r) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
@@ -4,50 +4,70 @@ export declare const jobTools: {
4
4
  list_jobs: {
5
5
  description: string;
6
6
  inputSchema: z.ZodObject<{
7
+ server: z.ZodOptional<z.ZodString>;
7
8
  enabledOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
9
  }, "strip", z.ZodTypeAny, {
9
10
  enabledOnly: boolean;
11
+ server?: string | undefined;
10
12
  }, {
13
+ server?: string | undefined;
11
14
  enabledOnly?: boolean | undefined;
12
15
  }>;
13
16
  handler: (client: MssqlClient, args: {
17
+ server?: string;
14
18
  enabledOnly?: boolean;
15
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
19
+ }) => Promise<Record<string, unknown>[]>;
16
20
  };
17
21
  get_running_jobs: {
18
22
  description: string;
19
- inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
20
- handler: (client: MssqlClient) => Promise<import("mssql").IRecordSet<unknown>[]>;
23
+ inputSchema: z.ZodObject<{
24
+ server: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ server?: string | undefined;
27
+ }, {
28
+ server?: string | undefined;
29
+ }>;
30
+ handler: (client: MssqlClient, args: {
31
+ server?: string;
32
+ }) => Promise<Record<string, unknown>[]>;
21
33
  };
22
34
  get_failed_jobs: {
23
35
  description: string;
24
36
  inputSchema: z.ZodObject<{
37
+ server: z.ZodOptional<z.ZodString>;
25
38
  hours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
26
39
  }, "strip", z.ZodTypeAny, {
27
40
  hours: number;
41
+ server?: string | undefined;
28
42
  }, {
43
+ server?: string | undefined;
29
44
  hours?: number | undefined;
30
45
  }>;
31
46
  handler: (client: MssqlClient, args: {
47
+ server?: string;
32
48
  hours?: number;
33
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
49
+ }) => Promise<Record<string, unknown>[]>;
34
50
  };
35
51
  get_job_history: {
36
52
  description: string;
37
53
  inputSchema: z.ZodObject<{
54
+ server: z.ZodOptional<z.ZodString>;
38
55
  jobName: z.ZodString;
39
56
  top: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
40
57
  }, "strip", z.ZodTypeAny, {
41
58
  top: number;
42
59
  jobName: string;
60
+ server?: string | undefined;
43
61
  }, {
44
62
  jobName: string;
63
+ server?: string | undefined;
45
64
  top?: number | undefined;
46
65
  }>;
47
66
  handler: (client: MssqlClient, args: {
67
+ server?: string;
48
68
  jobName: string;
49
69
  top?: number;
50
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
70
+ }) => Promise<Record<string, unknown>[]>;
51
71
  };
52
72
  };
53
73
  //# sourceMappingURL=jobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,QAAQ;;;;;;;;;;0BAMO,WAAW,QAAQ;YAAE,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;0BAiE5C,WAAW;;;;;;;;;;;0BA8BX,WAAW,QAAQ;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;0BAmCrC,WAAW,QAAQ;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE;;CA8B/E,CAAC"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;0BAOO,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;0BAmE7D,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;0BA+BtC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;0BAoCtD,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE;;CA8BhG,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 jobTools = {
3
4
  list_jobs: {
4
5
  description: 'List all SQL Server Agent jobs with their status and schedule',
5
6
  inputSchema: z.object({
7
+ server: serverParam,
6
8
  enabledOnly: z.boolean().optional().default(false).describe('Only show enabled jobs'),
7
9
  }),
8
10
  handler: async (client, args) => {
@@ -61,13 +63,15 @@ export const jobTools = {
61
63
  ${enabledFilter}
62
64
  ORDER BY j.name
63
65
  `;
64
- return await client.query(query);
66
+ return await client.query(query, undefined, args.server);
65
67
  },
66
68
  },
67
69
  get_running_jobs: {
68
70
  description: 'Get currently executing SQL Server Agent jobs',
69
- inputSchema: z.object({}),
70
- handler: async (client) => {
71
+ inputSchema: z.object({
72
+ server: serverParam,
73
+ }),
74
+ handler: async (client, args) => {
71
75
  const query = `
72
76
  SELECT
73
77
  j.name as job_name,
@@ -87,12 +91,13 @@ export const jobTools = {
87
91
  AND ja.stop_execution_date IS NULL
88
92
  ORDER BY ja.start_execution_date
89
93
  `;
90
- return await client.query(query);
94
+ return await client.query(query, undefined, args.server);
91
95
  },
92
96
  },
93
97
  get_failed_jobs: {
94
98
  description: 'Get jobs that failed in their last execution or recent history',
95
99
  inputSchema: z.object({
100
+ server: serverParam,
96
101
  hours: z.number().optional().default(24).describe('Look back this many hours for failures'),
97
102
  }),
98
103
  handler: async (client, args) => {
@@ -119,12 +124,13 @@ export const jobTools = {
119
124
  AS DATETIME) > DATEADD(HOUR, -${args.hours || 24}, GETDATE())
120
125
  ORDER BY h.run_date DESC, h.run_time DESC
121
126
  `;
122
- return await client.query(query);
127
+ return await client.query(query, undefined, args.server);
123
128
  },
124
129
  },
125
130
  get_job_history: {
126
131
  description: 'Get execution history for a specific job',
127
132
  inputSchema: z.object({
133
+ server: serverParam,
128
134
  jobName: z.string().describe('Name of the job'),
129
135
  top: z.number().optional().default(50).describe('Number of history records to return'),
130
136
  }),
@@ -154,7 +160,7 @@ export const jobTools = {
154
160
  WHERE j.name = @jobName
155
161
  ORDER BY h.run_date DESC, h.run_time DESC, h.step_id
156
162
  `;
157
- return await client.query(query, { jobName: args.jobName });
163
+ return await client.query(query, { jobName: args.jobName }, args.server);
158
164
  },
159
165
  },
160
166
  };
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE;QACT,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACtF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAA+B,EAAE,EAAE;YACtE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmDV,aAAa;;OAEhB,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;OAkBb,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAC5F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAwB,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;wCAoBoB,IAAI,CAAC,KAAK,IAAI,EAAE;;OAEjD,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACvF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAuC,EAAE,EAAE;YAC9E,MAAM,KAAK,GAAG;qBACC,IAAI,CAAC,GAAG,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;OAuB5B,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC,CAAC;AAEtJ,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE;QACT,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACtF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAgD,EAAE,EAAE;YACvF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmDV,aAAa;;OAEhB,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAyB,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;OAkBb,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAC5F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAyC,EAAE,EAAE;YAChF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;wCAoBoB,IAAI,CAAC,KAAK,IAAI,EAAE;;OAEjD,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACvF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAwD,EAAE,EAAE;YAC/F,MAAM,KAAK,GAAG;qBACC,IAAI,CAAC,GAAG,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;OAuB5B,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,CAAC;KACF;CACF,CAAC"}
@@ -3,58 +3,78 @@ import { MssqlClient } from '../mssqlClient.js';
3
3
  export declare const performanceTools: {
4
4
  get_blocking: {
5
5
  description: string;
6
- inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
7
- handler: (client: MssqlClient) => Promise<{
6
+ inputSchema: z.ZodObject<{
7
+ server: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ server?: string | undefined;
10
+ }, {
11
+ server?: string | undefined;
12
+ }>;
13
+ handler: (client: MssqlClient, args: {
14
+ server?: string;
15
+ }) => Promise<{
8
16
  blockingCount: number;
9
- chains: import("mssql").IRecordSet<unknown>[];
17
+ chains: Record<string, unknown>[];
10
18
  }>;
11
19
  };
12
20
  get_wait_stats: {
13
21
  description: string;
14
22
  inputSchema: z.ZodObject<{
23
+ server: z.ZodOptional<z.ZodString>;
15
24
  top: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16
25
  excludeIdle: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
26
  }, "strip", z.ZodTypeAny, {
18
27
  top: number;
19
28
  excludeIdle: boolean;
29
+ server?: string | undefined;
20
30
  }, {
31
+ server?: string | undefined;
21
32
  top?: number | undefined;
22
33
  excludeIdle?: boolean | undefined;
23
34
  }>;
24
35
  handler: (client: MssqlClient, args: {
36
+ server?: string;
25
37
  top?: number;
26
38
  excludeIdle?: boolean;
27
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
39
+ }) => Promise<Record<string, unknown>[]>;
28
40
  };
29
41
  get_cpu_usage: {
30
42
  description: string;
31
43
  inputSchema: z.ZodObject<{
44
+ server: z.ZodOptional<z.ZodString>;
32
45
  minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
33
46
  }, "strip", z.ZodTypeAny, {
34
47
  minutes: number;
48
+ server?: string | undefined;
35
49
  }, {
50
+ server?: string | undefined;
36
51
  minutes?: number | undefined;
37
52
  }>;
38
53
  handler: (client: MssqlClient, args: {
54
+ server?: string;
39
55
  minutes?: number;
40
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
56
+ }) => Promise<Record<string, unknown>[]>;
41
57
  };
42
58
  get_index_usage: {
43
59
  description: string;
44
60
  inputSchema: z.ZodObject<{
61
+ server: z.ZodOptional<z.ZodString>;
45
62
  database: z.ZodString;
46
63
  showUnused: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
64
  }, "strip", z.ZodTypeAny, {
48
65
  database: string;
49
66
  showUnused: boolean;
67
+ server?: string | undefined;
50
68
  }, {
51
69
  database: string;
70
+ server?: string | undefined;
52
71
  showUnused?: boolean | undefined;
53
72
  }>;
54
73
  handler: (client: MssqlClient, args: {
74
+ server?: string;
55
75
  database: string;
56
76
  showUnused?: boolean;
57
- }) => Promise<import("mssql").IRecordSet<unknown>[]>;
77
+ }) => Promise<Record<string, unknown>[]>;
58
78
  };
59
79
  };
60
80
  //# sourceMappingURL=performance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/tools/performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,gBAAgB;;;;0BAID,WAAW;;;;;;;;;;;;;;;;;0BAoDX,WAAW,QAAQ;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;0BA2C1D,WAAW,QAAQ;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;0BAmCvC,WAAW,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE;;CAkCxF,CAAC"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/tools/performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,gBAAgB;;;;;;;;;;0BAMD,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BAqDtC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;0BA4C3E,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;0BAoCxD,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE;;CAkCzG,CAAC"}
@@ -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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"}