Skip to main content
Glama

PostgreSQL MCP Server

by sreedhag
queryTool.ts1.01 kB
// src/tools/queryTool.ts import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { pool } from "../config/database.js"; import { logger } from "../utils/logger.js"; export function registerQueryTool(mcpServer: McpServer) { mcpServer.tool( "query", "Execute SQL queries with read-only transactions", { sql: z.string(), }, async ({ sql }) => { const client = await pool.connect(); try { await client.query("BEGIN TRANSACTION READ ONLY"); const result = await client.query(sql); return { content: [ { type: "text", text: JSON.stringify(result.rows, null, 2) }, ], isError: false, }; } catch (error) { throw error; } finally { client .query("ROLLBACK") .catch((error) => logger.warn("Could not roll back transaction:", error), ); client.release(); } }, ); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sreedhag/postgres-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server