From 7a03c6eacc75267bc982b8d422c2f00b85ca3493 Mon Sep 17 00:00:00 2001 From: wenjiachengy Date: Thu, 27 Feb 2025 23:22:27 +0800 Subject: [PATCH] fix: handle result sets for SHOW INDEX and SHOW CREATE TABLE commands --- src/mysql_mcp_server/server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mysql_mcp_server/server.py b/src/mysql_mcp_server/server.py index 6d74e70..de72b99 100644 --- a/src/mysql_mcp_server/server.py +++ b/src/mysql_mcp_server/server.py @@ -131,8 +131,8 @@ async def call_tool(name: str, arguments: dict) -> list[TextContent]: result.extend([table[0] for table in tables]) return [TextContent(type="text", text="\n".join(result))] - # Regular SELECT queries - elif query.strip().upper().startswith("SELECT"): + # Handle all other queries that return result sets (SELECT, SHOW, DESCRIBE etc.) + elif cursor.description: columns = [desc[0] for desc in cursor.description] rows = cursor.fetchall() result = [",".join(map(str, row)) for row in rows]