From 26081332ab5e20fd519da914a14104464a1a1e1f Mon Sep 17 00:00:00 2001 From: Henning Berge Date: Fri, 30 Jan 2026 10:01:25 +0100 Subject: [PATCH] Return error message if table does not exist --- src/postgres_mcp/server.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/postgres_mcp/server.py b/src/postgres_mcp/server.py index f3ba8f8b..0261e2c3 100644 --- a/src/postgres_mcp/server.py +++ b/src/postgres_mcp/server.py @@ -215,6 +215,22 @@ async def get_object_details( """, [schema_name, object_name], ) + + # If no columns found, check if table/view actually exists + if not col_rows: + exists_rows = await SafeSqlDriver.execute_param_query( + sql_driver, + """ + SELECT tablename FROM pg_tables WHERE schemaname = {} AND tablename = {} + UNION + SELECT viewname FROM pg_views WHERE schemaname = {} AND viewname = {} + """, + [schema_name, object_name, schema_name, object_name], + ) + + if not exists_rows: + return format_error_response(f"{object_type.capitalize()} '{schema_name}.{object_name}' does not exist") + columns = ( [ {