PostgreSQL MCP Server
Project description
PgSQL MCP Server
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, utilizingasyncpgfor 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:
- Open an Issue to discuss.
- Fork the repository and create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pgsql_mcp_server-1.4.3.tar.gz.
File metadata
- Download URL: pgsql_mcp_server-1.4.3.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ac10ee984d1f7cf58fa9f6014cb3324e5d0aa5d312104e15ac32559464a2061
|
|
| MD5 |
e148b16ca7ad067210dc711e67739d2b
|
|
| BLAKE2b-256 |
211896331ec975b320a2ce56535f5fb42f34a29ea88fef004a6f90c6b96b60c9
|
File details
Details for the file pgsql_mcp_server-1.4.3-py3-none-any.whl.
File metadata
- Download URL: pgsql_mcp_server-1.4.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
494d36a55dc64699513fbd01a5a2feb81c167cdae5cc629ee754fefff5bffbb1
|
|
| MD5 |
4ffd08cbb8e9ee89852c001424a9bdec
|
|
| BLAKE2b-256 |
da4a48c0606c42f04c24a79efba471b8ef8d75be6ee861a3eb8c89a88ec3adcf
|