MCP.so
Sign In

PostgreSQL MCP Server

@habuvo

About PostgreSQL MCP Server

MCP server to interact with and inspect PostgreSQL DB

Basic information

Category

Databases

Runtime

go

Transports

stdio

Publisher

habuvo

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is PostgreSQL MCP Server?

PostgreSQL MCP Server is a Model Context Protocol (MCP) server that provides a standardized API for interacting with PostgreSQL databases. It enables developers to execute queries, perform database operations, and manage transactions through MCP-compatible clients while using parameterized inputs for secure SQL execution.

How to use PostgreSQL MCP Server?

Clone the repository, install dependencies via go mod download, configure database credentials in a .env file, build with go build -o postgres-mcp, and run the server with ./postgres-mcp. The server exposes four MCP tools—execute_tool, query_tool, transaction_tool, and schema_tool—that accept JSON-formatted requests and return structured responses. A Go client example is provided in the README.

Key features of PostgreSQL MCP Server

  • Execute SQL queries with parameterized inputs
  • Perform database operations (INSERT, UPDATE, DELETE)
  • Execute transactions with multiple statements
  • Retrieve database schema information for tables
  • Secure parameter handling to prevent SQL injection

Use cases of PostgreSQL MCP Server

  • Running SELECT queries and returning result rows with column metadata
  • Inserting, updating, or deleting records via parameterized statements
  • Executing multiple statements atomically within a single transaction
  • Obtaining column names, data types, and nullability for a given table

FAQ from PostgreSQL MCP Server

What MCP tools does the server expose?

The server provides four tools: execute_tool (single SQL statement), query_tool (SELECT queries), transaction_tool (multi-statement transactions), and schema_tool (table schema).

How does the server prevent SQL injection?

All queries must use parameterized inputs (e.g., $1, $2) rather than concatenating user-provided values directly into SQL strings.

What are the runtime dependencies?

The server is written in Go and requires a PostgreSQL database. Database connection details are configured in a .env file using credentials provided by the user.

Can I run multiple statements in a single request?

Yes, the transaction_tool accepts an array of statements and executes them as an atomic transaction, returning results for each statement.

Is SSL/TLS supported for database connections?

Yes, the README recommends using SSL/TLS for database connections in production environments.

Comments

More Databases MCP servers