From a6ff5f03118f6ee92332d11bed3985b8aa0507f0 Mon Sep 17 00:00:00 2001 From: shivanit Date: Fri, 24 Apr 2026 09:55:57 +0530 Subject: [PATCH] Fix DescribeTable tool to handle tables with the schema name --- MssqlMcp/Node/src/tools/DescribeTableTool.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/MssqlMcp/Node/src/tools/DescribeTableTool.ts b/MssqlMcp/Node/src/tools/DescribeTableTool.ts index eb93092..0e09058 100644 --- a/MssqlMcp/Node/src/tools/DescribeTableTool.ts +++ b/MssqlMcp/Node/src/tools/DescribeTableTool.ts @@ -17,9 +17,14 @@ export class DescribeTableTool implements Tool { async run(params: { tableName: string }) { try { const { tableName } = params; + // Split "dbo.Users" into ["dbo", "Users"] + const parts = tableName.split('.'); + const name = parts.pop(); + const schema = parts.pop() || 'dbo'; // Default to 'dbo' if no schema provided const request = new sql.Request(); - const query = `SELECT COLUMN_NAME as name, DATA_TYPE as type FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @tableName`; - request.input("tableName", sql.NVarChar, tableName); + const query = `SELECT COLUMN_NAME as name, DATA_TYPE as type FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @tableName AND TABLE_SCHEMA = @tableSchema`; + request.input("tableName", sql.NVarChar, name); + request.input("tableSchema", sql.NVarChar, schema); const result = await request.query(query); return { success: true,