Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Pgsql Server

FreeNot checked

Enables interaction with PostgreSQL databases through MCP, supporting queries, DDL, DML, and schema inspection.

GitHubEmbed

About

Enables interaction with PostgreSQL databases through MCP, supporting queries, DDL, DML, and schema inspection.

README

PyPI - Version PyPI - Python Version Maintainability

English | 简体中文

A powerful tool server based on the Model Context Protocol (MCP), enabling interaction with PostgreSQL databases via MCP calls.


🚀 Overview

This project is built on the FastMCP framework and leverages the SQLAlchemy and asyncpg libraries to deliver high-performance asynchronous database operations, ensuring efficiency and responsiveness when handling database requests.

✨ Key Features

  • Asynchronous & Efficient: Fully asynchronous implementation based on asyncio, utilizing asyncpg for a high-performance asynchronous PostgreSQL driver.
  • Transactional Safety: DDL, DML, and DCL operations are executed within transactions with error handling and rollback mechanisms.
  • Easy Deployment: Start the server with a simple command line interface.

📦 Installation

Ensure you have Python 3.10+ installed. Recommendation:

Using uv (Recommended)

uv tool install pgsql-mcp-server

Then run it:

pgsql-mcp-server --dsn "postgresql://user:password@localhost:5432/db"

Or run directly without installation:

uvx pgsql-mcp-server --dsn "postgresql://user:password@localhost:5432/db"

Using pip

pip install pgsql-mcp-server

🛠️ Available Tools

The server provides the following tools for database interaction:

  • get_schema_names: List all schemas in the database.
  • get_tables: List all tables in a specific schema (defaults to public).
  • get_columns: Get detailed column information for a specific table.
  • get_indexes: Get index details for a specific table.
  • get_foreign_keys: Get foreign key constraints for a specific table.
  • run_dql_query: Execute Data Query Language (DQL) statements like SELECT, SHOW, EXPLAIN.
  • run_dml_query: Execute Data Manipulation Language (DML) statements like INSERT, UPDATE, DELETE.
  • run_ddl_query: Execute Data Definition Language (DDL) statements like CREATE, ALTER, DROP.
  • run_dcl_query: Execute Data Control Language (DCL) statements like GRANT, REVOKE.

🔍 Preview and Debugging

You can use the official MCP Inspector tool to visually inspect the tools provided by this server, view their parameters and descriptions, and perform test calls directly.

npx @modelcontextprotocol/inspector uvx pgsql-mcp-server --dsn "postgresql://user:password@host:port/database"

This will start a local web service. Open the provided URL in your browser to begin debugging.

🧪 Testing

This project uses pytest for testing.

Run all tests

uv run pytest

Run unit tests only

uv run pytest tests/test_app.py

Run integration tests only

Integration tests require a local PostgreSQL instance. They default to localhost:5432/postgres.

uv run pytest tests/test_integration.py

🤝 Contributing

Contributions are welcome! If you have suggestions for improvements, feature requests, or find any bugs, please feel free to:

  1. Open an Issue to discuss.
  2. Fork the repository and create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

from github.com/twn39/pgsql-mcp-server

Install Pgsql Server in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install pgsql-mcp-server

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add pgsql-mcp-server -- uvx pgsql-mcp-server

FAQ

Is Pgsql Server MCP free?

Yes, Pgsql Server MCP is free — one-click install via Unyly at no cost.

Does Pgsql Server need an API key?

No, Pgsql Server runs without API keys or environment variables.

Is Pgsql Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Pgsql Server in Claude Desktop, Claude Code or Cursor?

Open Pgsql Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Pgsql Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs