import { z } from "zod";
import { ToolContext } from "../types.js";
export const listTablesSchema = {
description: "Lista todas las tablas disponibles en la base de datos PostgreSQL",
inputSchema: {
schema: z.string().optional().describe("Nombre del schema (por defecto: 'public')"),
},
};
export async function listTablesHandler(
args: { schema?: string },
context: ToolContext
) {
const schema = args.schema || context.defaultSchema;
const result = await context.pool.query(
`SELECT
table_name,
table_type
FROM information_schema.tables
WHERE table_schema = $1
ORDER BY table_name`,
[schema]
);
return {
content: [
{
type: "text" as const,
text: JSON.stringify(result.rows, null, 2),
},
],
};
}