Gives you direct access to PostgreSQL through psycopg2's full API, exposed as MCP tools. You get connection pooling, transaction control with isolation levels, cursor management including server-side cursors, and COPY operations for bulk data transfer. It surfaces less common features like large object handling, hstore and composite type registration, and query parameter mogrification. Useful when you need programmatic database operations beyond basic queries, like managing transactions across multiple operations, working with PostgreSQL-specific types, or handling binary data through large objects. The tool set mirrors psycopg2's structure closely, so if you know the adapter, you'll recognize the operations.
MCP server exposing psycopg2 PostgreSQL database adapter functionality.
mcp-name: io.github.daedalus/mcp-psycopg2
pip install mcp-psycopg2
from mcp_psycopg2 import mcp
# Run the MCP server
mcp.run()
The server exposes the following tools for interacting with PostgreSQL databases:
connect - Create a new database connectionclose_connection - Close an existing connectionget_connection_info - Get connection detailsbegin_transaction - Start a new transactioncommit_transaction - Commit the current transactionrollback_transaction - Rollback the current transactionset_isolation_level - Set transaction isolation levelcreate_cursor - Create a new cursorclose_cursor - Close a cursorexecute_query - Execute a SQL queryexecute_many - Execute a query with multiple parameter setsfetch_one - Fetch one rowfetch_many - Fetch multiple rowsfetch_all - Fetch all remaining rowsquote_identifier - Quote an SQL identifiermogrify - Return query string after parameter bindingregister_json - Register JSON type adapterregister_hstore - Register hstore type adapterregister_composite - Register composite type adaptercopy_from - Copy data from file to tablecopy_to - Copy data from table to filecopy_expert - Execute custom COPY statementcreate_named_cursor - Create a server-side named cursorscroll_cursor - Scroll through cursor resultscreate_large_object - Create or open a large objectread_large_object - Read from a large objectwrite_large_object - Write to a large objectget_server_version - Get PostgreSQL server versionget_backend_pid - Get backend process IDget_dsn_parameters - Get connection parametersget_notices - Get database noticesparse_dsn - Parse a connection stringmake_dsn - Create a connection stringcancel_query - Cancel the current database operationset_session - Set session parameterslist_connections - List all active connectionslist_cursors - List all active cursorsgit clone https://github.com/daedalus/mcp-psycopg2.git
cd mcp-psycopg2
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
hovecapital/read-only-local-postgres-mcp-server
cocaxcode/database-mcp
io.github.infoinlet-marketplace/mcp-mysql
io.github.cybeleri/database-admin
io.github.yash-0620/postgres-mcp-secured