@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.
- package/dist/mssqlClient.d.ts +6 -4
- package/dist/mssqlClient.d.ts.map +1 -1
- package/dist/mssqlClient.js +49 -20
- package/dist/mssqlClient.js.map +1 -1
- package/dist/tools/availability.d.ts +30 -10
- package/dist/tools/availability.d.ts.map +1 -1
- package/dist/tools/availability.js +18 -12
- package/dist/tools/availability.js.map +1 -1
- package/dist/tools/connection.d.ts +26 -5
- package/dist/tools/connection.d.ts.map +1 -1
- package/dist/tools/connection.js +14 -8
- package/dist/tools/connection.js.map +1 -1
- package/dist/tools/health.d.ts +42 -10
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +22 -13
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/jobs.d.ts +25 -5
- package/dist/tools/jobs.d.ts.map +1 -1
- package/dist/tools/jobs.js +12 -6
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/performance.d.ts +26 -6
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +12 -6
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/queries.d.ts +15 -3
- package/dist/tools/queries.d.ts.map +1 -1
- package/dist/tools/queries.js +7 -3
- package/dist/tools/queries.js.map +1 -1
- package/dist/tools/schema.d.ts +45 -9
- package/dist/tools/schema.d.ts.map +1 -1
- package/dist/tools/schema.js +19 -9
- package/dist/tools/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/mssqlClient.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import sql from 'mssql';
|
|
2
2
|
import { Config } from './config.js';
|
|
3
3
|
export declare class MssqlClient {
|
|
4
|
-
private
|
|
4
|
+
private pools;
|
|
5
5
|
private config;
|
|
6
6
|
constructor(config: Config);
|
|
7
|
+
private parseServer;
|
|
7
8
|
private getSqlConfig;
|
|
8
|
-
connect(): Promise<sql.ConnectionPool>;
|
|
9
|
-
query<T =
|
|
10
|
-
testConnection(): Promise<{
|
|
9
|
+
connect(server?: string): Promise<sql.ConnectionPool>;
|
|
10
|
+
query<T = Record<string, unknown>>(queryText: string, params?: Record<string, unknown>, server?: string): Promise<T[]>;
|
|
11
|
+
testConnection(server?: string): Promise<{
|
|
11
12
|
success: boolean;
|
|
13
|
+
server: string;
|
|
12
14
|
version?: string;
|
|
13
15
|
error?: string;
|
|
14
16
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mssqlClient.d.ts","sourceRoot":"","sources":["../src/mssqlClient.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,WAAW;IACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"mssqlClient.d.ts","sourceRoot":"","sources":["../src/mssqlClient.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAgDd,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAgBrD,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,EAAE,CAAC;IAcT,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAUhH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
package/dist/mssqlClient.js
CHANGED
|
@@ -1,22 +1,43 @@
|
|
|
1
1
|
import sql from 'mssql';
|
|
2
2
|
export class MssqlClient {
|
|
3
|
-
|
|
3
|
+
pools = new Map();
|
|
4
4
|
config;
|
|
5
5
|
constructor(config) {
|
|
6
6
|
this.config = config;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
parseServer(server) {
|
|
9
|
+
// Handle formats:
|
|
10
|
+
// - server\instance
|
|
11
|
+
// - server,port
|
|
12
|
+
// - server
|
|
13
|
+
if (server.includes(',')) {
|
|
14
|
+
const [host, portStr] = server.split(',');
|
|
15
|
+
return { host, port: parseInt(portStr, 10) };
|
|
16
|
+
}
|
|
17
|
+
return { host: server };
|
|
18
|
+
}
|
|
19
|
+
getSqlConfig(server) {
|
|
20
|
+
const targetServer = server || this.config.host;
|
|
21
|
+
const parsed = this.parseServer(targetServer);
|
|
9
22
|
const baseConfig = {
|
|
10
|
-
server:
|
|
11
|
-
port: this.config.port,
|
|
23
|
+
server: parsed.host,
|
|
24
|
+
port: parsed.port || this.config.port,
|
|
12
25
|
database: this.config.database,
|
|
13
26
|
options: {
|
|
14
27
|
encrypt: this.config.encrypt,
|
|
15
28
|
trustServerCertificate: this.config.trustServerCertificate,
|
|
29
|
+
// Enable named instance support
|
|
30
|
+
instanceName: targetServer.includes('\\')
|
|
31
|
+
? targetServer.split('\\')[1]
|
|
32
|
+
: undefined,
|
|
16
33
|
},
|
|
17
34
|
connectionTimeout: this.config.connectionTimeout,
|
|
18
35
|
requestTimeout: this.config.requestTimeout,
|
|
19
36
|
};
|
|
37
|
+
// If instance name is used, don't specify port (SQL Browser will resolve it)
|
|
38
|
+
if (baseConfig.options?.instanceName) {
|
|
39
|
+
delete baseConfig.port;
|
|
40
|
+
}
|
|
20
41
|
// Use Windows Auth if no user/password provided
|
|
21
42
|
if (this.config.user && this.config.password) {
|
|
22
43
|
return {
|
|
@@ -32,7 +53,7 @@ export class MssqlClient {
|
|
|
32
53
|
authentication: {
|
|
33
54
|
type: 'ntlm',
|
|
34
55
|
options: {
|
|
35
|
-
domain: '',
|
|
56
|
+
domain: '',
|
|
36
57
|
userName: '',
|
|
37
58
|
password: '',
|
|
38
59
|
},
|
|
@@ -40,16 +61,21 @@ export class MssqlClient {
|
|
|
40
61
|
};
|
|
41
62
|
}
|
|
42
63
|
}
|
|
43
|
-
async connect() {
|
|
44
|
-
|
|
45
|
-
|
|
64
|
+
async connect(server) {
|
|
65
|
+
const key = server || this.config.host || 'default';
|
|
66
|
+
// Check for existing pool
|
|
67
|
+
const existingPool = this.pools.get(key);
|
|
68
|
+
if (existingPool?.connected) {
|
|
69
|
+
return existingPool;
|
|
46
70
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
71
|
+
// Create new pool
|
|
72
|
+
const sqlConfig = this.getSqlConfig(server);
|
|
73
|
+
const pool = await sql.connect(sqlConfig);
|
|
74
|
+
this.pools.set(key, pool);
|
|
75
|
+
return pool;
|
|
50
76
|
}
|
|
51
|
-
async query(queryText, params) {
|
|
52
|
-
const pool = await this.connect();
|
|
77
|
+
async query(queryText, params, server) {
|
|
78
|
+
const pool = await this.connect(server);
|
|
53
79
|
const request = pool.request();
|
|
54
80
|
if (params) {
|
|
55
81
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -59,19 +85,22 @@ export class MssqlClient {
|
|
|
59
85
|
const result = await request.query(queryText);
|
|
60
86
|
return result.recordset;
|
|
61
87
|
}
|
|
62
|
-
async testConnection() {
|
|
88
|
+
async testConnection(server) {
|
|
89
|
+
const targetServer = server || this.config.host;
|
|
63
90
|
try {
|
|
64
|
-
const result = await this.query('SELECT @@VERSION as version');
|
|
65
|
-
return { success: true, version: result[0]?.version };
|
|
91
|
+
const result = await this.query('SELECT @@VERSION as version', undefined, server);
|
|
92
|
+
return { success: true, server: targetServer, version: result[0]?.version };
|
|
66
93
|
}
|
|
67
94
|
catch (error) {
|
|
68
|
-
return { success: false, error: error instanceof Error ? error.message : String(error) };
|
|
95
|
+
return { success: false, server: targetServer, error: error instanceof Error ? error.message : String(error) };
|
|
69
96
|
}
|
|
70
97
|
}
|
|
71
98
|
async close() {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
99
|
+
for (const [key, pool] of this.pools) {
|
|
100
|
+
if (pool?.connected) {
|
|
101
|
+
await pool.close();
|
|
102
|
+
}
|
|
103
|
+
this.pools.delete(key);
|
|
75
104
|
}
|
|
76
105
|
}
|
|
77
106
|
}
|
package/dist/mssqlClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mssqlClient.js","sourceRoot":"","sources":["../src/mssqlClient.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AAGxB,MAAM,OAAO,WAAW;IACd,
|
|
1
|
+
{"version":3,"file":"mssqlClient.js","sourceRoot":"","sources":["../src/mssqlClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,36 +3,56 @@ import { MssqlClient } from '../mssqlClient.js';
|
|
|
3
3
|
export declare const availabilityTools: {
|
|
4
4
|
get_ag_status: {
|
|
5
5
|
description: string;
|
|
6
|
-
inputSchema: z.ZodObject<{
|
|
7
|
-
|
|
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
|
hadrEnabled: boolean;
|
|
9
17
|
message: string;
|
|
10
18
|
replicas?: undefined;
|
|
11
19
|
databases?: undefined;
|
|
12
20
|
} | {
|
|
13
21
|
hadrEnabled: boolean;
|
|
14
|
-
replicas:
|
|
15
|
-
databases:
|
|
22
|
+
replicas: Record<string, unknown>[];
|
|
23
|
+
databases: Record<string, unknown>[];
|
|
16
24
|
message?: undefined;
|
|
17
25
|
}>;
|
|
18
26
|
};
|
|
19
27
|
get_replica_states: {
|
|
20
28
|
description: string;
|
|
21
29
|
inputSchema: z.ZodObject<{
|
|
30
|
+
server: z.ZodOptional<z.ZodString>;
|
|
22
31
|
agName: z.ZodOptional<z.ZodString>;
|
|
23
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
server?: string | undefined;
|
|
24
34
|
agName?: string | undefined;
|
|
25
35
|
}, {
|
|
36
|
+
server?: string | undefined;
|
|
26
37
|
agName?: string | undefined;
|
|
27
38
|
}>;
|
|
28
39
|
handler: (client: MssqlClient, args: {
|
|
40
|
+
server?: string;
|
|
29
41
|
agName?: string;
|
|
30
|
-
}) => Promise<
|
|
42
|
+
}) => Promise<Record<string, unknown>[]>;
|
|
31
43
|
};
|
|
32
44
|
get_cluster_status: {
|
|
33
45
|
description: string;
|
|
34
|
-
inputSchema: z.ZodObject<{
|
|
35
|
-
|
|
46
|
+
inputSchema: z.ZodObject<{
|
|
47
|
+
server: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
server?: string | undefined;
|
|
50
|
+
}, {
|
|
51
|
+
server?: string | undefined;
|
|
52
|
+
}>;
|
|
53
|
+
handler: (client: MssqlClient, args: {
|
|
54
|
+
server?: string;
|
|
55
|
+
}) => Promise<{
|
|
36
56
|
isClustered: boolean;
|
|
37
57
|
message: string;
|
|
38
58
|
cluster?: undefined;
|
|
@@ -40,9 +60,9 @@ export declare const availabilityTools: {
|
|
|
40
60
|
networks?: undefined;
|
|
41
61
|
} | {
|
|
42
62
|
isClustered: boolean;
|
|
43
|
-
cluster:
|
|
44
|
-
members:
|
|
45
|
-
networks:
|
|
63
|
+
cluster: Record<string, unknown>;
|
|
64
|
+
members: Record<string, unknown>[];
|
|
65
|
+
networks: Record<string, unknown>[];
|
|
46
66
|
message?: undefined;
|
|
47
67
|
}>;
|
|
48
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../src/tools/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../src/tools/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,iBAAiB;;;;;;;;;;0BAMF,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;0BAkFtC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;0BAqCvD,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;CAwDjE,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
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 availabilityTools = {
|
|
3
4
|
get_ag_status: {
|
|
4
5
|
description: 'Get Always On Availability Group status and health',
|
|
5
|
-
inputSchema: z.object({
|
|
6
|
-
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
server: serverParam,
|
|
8
|
+
}),
|
|
9
|
+
handler: async (client, args) => {
|
|
7
10
|
// First check if HADR is enabled
|
|
8
|
-
const hadrCheck = await client.query("SELECT CAST(SERVERPROPERTY('IsHadrEnabled') AS INT) as is_hadr_enabled");
|
|
11
|
+
const hadrCheck = await client.query("SELECT CAST(SERVERPROPERTY('IsHadrEnabled') AS INT) as is_hadr_enabled", undefined, args.server);
|
|
9
12
|
if (!hadrCheck[0]?.is_hadr_enabled) {
|
|
10
13
|
return {
|
|
11
14
|
hadrEnabled: false,
|
|
@@ -36,7 +39,7 @@ export const availabilityTools = {
|
|
|
36
39
|
INNER JOIN sys.dm_hadr_availability_replica_states ars ON ar.replica_id = ars.replica_id
|
|
37
40
|
ORDER BY ag.name, ar.replica_server_name
|
|
38
41
|
`;
|
|
39
|
-
const replicas = await client.query(query);
|
|
42
|
+
const replicas = await client.query(query, undefined, args.server);
|
|
40
43
|
// Get database-level sync status
|
|
41
44
|
const dbQuery = `
|
|
42
45
|
SELECT
|
|
@@ -60,7 +63,7 @@ export const availabilityTools = {
|
|
|
60
63
|
INNER JOIN sys.dm_hadr_database_replica_states drs ON adc.group_database_id = drs.group_database_id
|
|
61
64
|
ORDER BY ag.name, adc.database_name, drs.is_primary_replica DESC
|
|
62
65
|
`;
|
|
63
|
-
const databases = await client.query(dbQuery);
|
|
66
|
+
const databases = await client.query(dbQuery, undefined, args.server);
|
|
64
67
|
return {
|
|
65
68
|
hadrEnabled: true,
|
|
66
69
|
replicas,
|
|
@@ -71,6 +74,7 @@ export const availabilityTools = {
|
|
|
71
74
|
get_replica_states: {
|
|
72
75
|
description: 'Get detailed state information for all availability group replicas',
|
|
73
76
|
inputSchema: z.object({
|
|
77
|
+
server: serverParam,
|
|
74
78
|
agName: z.string().optional().describe('Filter by availability group name'),
|
|
75
79
|
}),
|
|
76
80
|
handler: async (client, args) => {
|
|
@@ -99,15 +103,17 @@ export const availabilityTools = {
|
|
|
99
103
|
${agFilter}
|
|
100
104
|
ORDER BY ag.name, ars.role_desc, ar.replica_server_name
|
|
101
105
|
`;
|
|
102
|
-
return await client.query(query);
|
|
106
|
+
return await client.query(query, undefined, args.server);
|
|
103
107
|
},
|
|
104
108
|
},
|
|
105
109
|
get_cluster_status: {
|
|
106
110
|
description: 'Get Windows Server Failover Cluster status for the SQL Server instance',
|
|
107
|
-
inputSchema: z.object({
|
|
108
|
-
|
|
111
|
+
inputSchema: z.object({
|
|
112
|
+
server: serverParam,
|
|
113
|
+
}),
|
|
114
|
+
handler: async (client, args) => {
|
|
109
115
|
// Check if this is a clustered instance
|
|
110
|
-
const clusterCheck = await client.query("SELECT CAST(SERVERPROPERTY('IsClustered') AS INT) as is_clustered");
|
|
116
|
+
const clusterCheck = await client.query("SELECT CAST(SERVERPROPERTY('IsClustered') AS INT) as is_clustered", undefined, args.server);
|
|
111
117
|
if (!clusterCheck[0]?.is_clustered) {
|
|
112
118
|
return {
|
|
113
119
|
isClustered: false,
|
|
@@ -121,7 +127,7 @@ export const availabilityTools = {
|
|
|
121
127
|
quorum_state_desc as quorum_state
|
|
122
128
|
FROM sys.dm_hadr_cluster
|
|
123
129
|
`;
|
|
124
|
-
const cluster = await client.query(query);
|
|
130
|
+
const cluster = await client.query(query, undefined, args.server);
|
|
125
131
|
const membersQuery = `
|
|
126
132
|
SELECT
|
|
127
133
|
member_name,
|
|
@@ -130,7 +136,7 @@ export const availabilityTools = {
|
|
|
130
136
|
number_of_quorum_votes
|
|
131
137
|
FROM sys.dm_hadr_cluster_members
|
|
132
138
|
`;
|
|
133
|
-
const members = await client.query(membersQuery);
|
|
139
|
+
const members = await client.query(membersQuery, undefined, args.server);
|
|
134
140
|
const networksQuery = `
|
|
135
141
|
SELECT
|
|
136
142
|
network_subnet_ip,
|
|
@@ -140,7 +146,7 @@ export const availabilityTools = {
|
|
|
140
146
|
is_ipv4
|
|
141
147
|
FROM sys.dm_hadr_cluster_networks
|
|
142
148
|
`;
|
|
143
|
-
const networks = await client.query(networksQuery);
|
|
149
|
+
const networks = await client.query(networksQuery, undefined, args.server);
|
|
144
150
|
return {
|
|
145
151
|
isClustered: true,
|
|
146
152
|
cluster: cluster[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../src/tools/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE;QACb,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../src/tools/availability.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,18 @@ import { MssqlClient } from '../mssqlClient.js';
|
|
|
3
3
|
export declare const connectionTools: {
|
|
4
4
|
test_connection: {
|
|
5
5
|
description: string;
|
|
6
|
-
inputSchema: z.ZodObject<{
|
|
7
|
-
|
|
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
|
success: boolean;
|
|
17
|
+
server: string;
|
|
9
18
|
version?: string;
|
|
10
19
|
error?: string;
|
|
11
20
|
}>;
|
|
@@ -13,20 +22,32 @@ export declare const connectionTools: {
|
|
|
13
22
|
list_databases: {
|
|
14
23
|
description: string;
|
|
15
24
|
inputSchema: z.ZodObject<{
|
|
25
|
+
server: z.ZodOptional<z.ZodString>;
|
|
16
26
|
includeSystem: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
17
27
|
}, "strip", z.ZodTypeAny, {
|
|
18
28
|
includeSystem: boolean;
|
|
29
|
+
server?: string | undefined;
|
|
19
30
|
}, {
|
|
31
|
+
server?: string | undefined;
|
|
20
32
|
includeSystem?: boolean | undefined;
|
|
21
33
|
}>;
|
|
22
34
|
handler: (client: MssqlClient, args: {
|
|
35
|
+
server?: string;
|
|
23
36
|
includeSystem?: boolean;
|
|
24
|
-
}) => Promise<
|
|
37
|
+
}) => Promise<Record<string, unknown>[]>;
|
|
25
38
|
};
|
|
26
39
|
get_server_info: {
|
|
27
40
|
description: string;
|
|
28
|
-
inputSchema: z.ZodObject<{
|
|
29
|
-
|
|
41
|
+
inputSchema: z.ZodObject<{
|
|
42
|
+
server: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
server?: string | undefined;
|
|
45
|
+
}, {
|
|
46
|
+
server?: string | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
handler: (client: MssqlClient, args: {
|
|
49
|
+
server?: string;
|
|
50
|
+
}) => Promise<Record<string, unknown>>;
|
|
30
51
|
};
|
|
31
52
|
};
|
|
32
53
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/tools/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/tools/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,eAAO,MAAM,eAAe;;;;;;;;;;0BAMA,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;0BAWtC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;0BAgC/D,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;CAoBjE,CAAC"}
|
package/dist/tools/connection.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
// Shared server parameter for all tools
|
|
3
|
+
const serverParam = z.string().optional().describe('SQL Server instance (e.g., "server\\instance" or "server,port"). Uses default if not specified.');
|
|
2
4
|
export const connectionTools = {
|
|
3
5
|
test_connection: {
|
|
4
6
|
description: 'Test the connection to SQL Server and verify authentication',
|
|
5
|
-
inputSchema: z.object({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
server: serverParam,
|
|
9
|
+
}),
|
|
10
|
+
handler: async (client, args) => {
|
|
11
|
+
return await client.testConnection(args.server);
|
|
9
12
|
},
|
|
10
13
|
},
|
|
11
14
|
list_databases: {
|
|
12
15
|
description: 'List all databases on the SQL Server instance with their status and size',
|
|
13
16
|
inputSchema: z.object({
|
|
17
|
+
server: serverParam,
|
|
14
18
|
includeSystem: z.boolean().optional().default(false).describe('Include system databases (master, model, msdb, tempdb)'),
|
|
15
19
|
}),
|
|
16
20
|
handler: async (client, args) => {
|
|
@@ -34,13 +38,15 @@ export const connectionTools = {
|
|
|
34
38
|
d.compatibility_level, d.collation_name, d.create_date
|
|
35
39
|
ORDER BY d.name
|
|
36
40
|
`;
|
|
37
|
-
return await client.query(query);
|
|
41
|
+
return await client.query(query, undefined, args.server);
|
|
38
42
|
},
|
|
39
43
|
},
|
|
40
44
|
get_server_info: {
|
|
41
45
|
description: 'Get SQL Server instance information including version, edition, and configuration',
|
|
42
|
-
inputSchema: z.object({
|
|
43
|
-
|
|
46
|
+
inputSchema: z.object({
|
|
47
|
+
server: serverParam,
|
|
48
|
+
}),
|
|
49
|
+
handler: async (client, args) => {
|
|
44
50
|
const query = `
|
|
45
51
|
SELECT
|
|
46
52
|
SERVERPROPERTY('ServerName') as server_name,
|
|
@@ -55,7 +61,7 @@ export const connectionTools = {
|
|
|
55
61
|
@@MAX_CONNECTIONS as max_connections,
|
|
56
62
|
(SELECT COUNT(*) FROM sys.dm_exec_connections) as current_connections
|
|
57
63
|
`;
|
|
58
|
-
const result = await client.query(query);
|
|
64
|
+
const result = await client.query(query, undefined, args.server);
|
|
59
65
|
return result[0];
|
|
60
66
|
},
|
|
61
67
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/tools/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE;QACf,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/tools/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wCAAwC;AACxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC,CAAC;AAEtJ,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE;QACf,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAyB,EAAE,EAAE;YAChE,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC;SACxH,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAmB,EAAE,IAAkD,EAAE,EAAE;YACzF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,2DAA2D,CAAC;YAEhE,MAAM,KAAK,GAAG;;;;;;;;;;;;UAYV,YAAY;;;;OAIf,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,mFAAmF;QAChG,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;;;;;;;;;;;;;OAab,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;KACF;CACF,CAAC"}
|
package/dist/tools/health.d.ts
CHANGED
|
@@ -3,8 +3,16 @@ import { MssqlClient } from '../mssqlClient.js';
|
|
|
3
3
|
export declare const healthTools: {
|
|
4
4
|
get_database_states: {
|
|
5
5
|
description: string;
|
|
6
|
-
inputSchema: z.ZodObject<{
|
|
7
|
-
|
|
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
|
summary: {
|
|
9
17
|
total: number;
|
|
10
18
|
critical: number;
|
|
@@ -19,29 +27,49 @@ export declare const healthTools: {
|
|
|
19
27
|
get_disk_space: {
|
|
20
28
|
description: string;
|
|
21
29
|
inputSchema: z.ZodObject<{
|
|
30
|
+
server: z.ZodOptional<z.ZodString>;
|
|
22
31
|
database: z.ZodOptional<z.ZodString>;
|
|
23
32
|
}, "strip", z.ZodTypeAny, {
|
|
24
33
|
database?: string | undefined;
|
|
34
|
+
server?: string | undefined;
|
|
25
35
|
}, {
|
|
26
36
|
database?: string | undefined;
|
|
37
|
+
server?: string | undefined;
|
|
27
38
|
}>;
|
|
28
39
|
handler: (client: MssqlClient, args: {
|
|
40
|
+
server?: string;
|
|
29
41
|
database?: string;
|
|
30
|
-
}) => Promise<
|
|
42
|
+
}) => Promise<Record<string, unknown>[]>;
|
|
31
43
|
};
|
|
32
44
|
get_memory_usage: {
|
|
33
45
|
description: string;
|
|
34
|
-
inputSchema: z.ZodObject<{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
inputSchema: z.ZodObject<{
|
|
47
|
+
server: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
server?: string | undefined;
|
|
50
|
+
}, {
|
|
51
|
+
server?: string | undefined;
|
|
52
|
+
}>;
|
|
53
|
+
handler: (client: MssqlClient, args: {
|
|
54
|
+
server?: string;
|
|
55
|
+
}) => Promise<{
|
|
56
|
+
serverMemory: Record<string, unknown>;
|
|
57
|
+
topMemoryClerks: Record<string, unknown>[];
|
|
58
|
+
bufferPoolByDatabase: Record<string, unknown>[];
|
|
39
59
|
}>;
|
|
40
60
|
};
|
|
41
61
|
get_log_space: {
|
|
42
62
|
description: string;
|
|
43
|
-
inputSchema: z.ZodObject<{
|
|
44
|
-
|
|
63
|
+
inputSchema: z.ZodObject<{
|
|
64
|
+
server: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, "strip", z.ZodTypeAny, {
|
|
66
|
+
server?: string | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
server?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
handler: (client: MssqlClient, args: {
|
|
71
|
+
server?: string;
|
|
72
|
+
}) => Promise<{
|
|
45
73
|
summary: {
|
|
46
74
|
total: number;
|
|
47
75
|
critical: number;
|
|
@@ -59,13 +87,17 @@ export declare const healthTools: {
|
|
|
59
87
|
get_backup_status: {
|
|
60
88
|
description: string;
|
|
61
89
|
inputSchema: z.ZodObject<{
|
|
90
|
+
server: z.ZodOptional<z.ZodString>;
|
|
62
91
|
maxAgeDays: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
63
92
|
}, "strip", z.ZodTypeAny, {
|
|
64
93
|
maxAgeDays: number;
|
|
94
|
+
server?: string | undefined;
|
|
65
95
|
}, {
|
|
96
|
+
server?: string | undefined;
|
|
66
97
|
maxAgeDays?: number | undefined;
|
|
67
98
|
}>;
|
|
68
99
|
handler: (client: MssqlClient, args: {
|
|
100
|
+
server?: string;
|
|
69
101
|
maxAgeDays?: number;
|
|
70
102
|
}) => Promise<{
|
|
71
103
|
summary: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,eAAO,MAAM,WAAW;;;;;;;;;;0BAMI,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;+BAwBT,MAAM;;;;;;;;;;;;;;;;0BAsBnC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;0BAqCzD,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;0BAmDtC,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;iCAMzC,MAAM;iCACN,MAAM;sCACD,MAAM;wBACpB,MAAM;;;;;;;;;;;;;;;;0BAgCM,WAAW,QAAQ;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;+BAqBhE,MAAM;gCACL,MAAM;kCACJ,IAAI,GAAG,IAAI;kCACX,IAAI,GAAG,IAAI;iCACZ,IAAI,GAAG,IAAI;iCACX,MAAM,GAAG,IAAI;iCACb,MAAM,GAAG,IAAI;;;;CAwBrC,CAAC"}
|