Skip to main content

PostgreSQL MCP Server

Project description

PgSQL MCP Server

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.8+ installed. Installation via uvx is recommended:

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

🔍 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgsql_mcp_server-1.4.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pgsql_mcp_server-1.4.4-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file pgsql_mcp_server-1.4.4.tar.gz.

File metadata

  • Download URL: pgsql_mcp_server-1.4.4.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pgsql_mcp_server-1.4.4.tar.gz
Algorithm Hash digest
SHA256 19c1a40e0231f7317568ba431f6a58363a60f17b89a8f13a9718e7c32d1fd69d
MD5 9470915c22c4c6296a500e854e59b056
BLAKE2b-256 e8df8ade38e700f0352fba2bffef54a40a1eb0f74644aed02792b4e72eb335f3

See more details on using hashes here.

File details

Details for the file pgsql_mcp_server-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: pgsql_mcp_server-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pgsql_mcp_server-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cfd3e1673ca058933d9cea9b79db348d0ce97611ab6b473a35ae5e0a45a62846
MD5 3b8b1eabea02765357cb6bf364b3a3ee
BLAKE2b-256 486bb1c1457ef3d0e2ddb26bd0f0c5dfcbedab8bb9039a468e6930de1521a5f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page