About mcp-psycopg2
mcp-psycopg2 exposes psycopg2 PostgreSQL adapter functions as an MCP server for clients that connect to and operate on databases. It covers transactions, cursors, COPY, type registration, and large objects.
Key features
- 01Manage database connections and transactions
- 02Execute SQL and retrieve results
- 03Compose SQL with parameters
- 04Register JSON, hstore, and composite types
- 05Use COPY and large-object operations
- 06Inspect server and session information
Use cases
- 01Run PostgreSQL queries through a client
- 02Control transactions and iterate over results
- 03Import or export table data in bulk
MCP support
As an MCP server, it provides MCP clients with psycopg2 tools for connecting to PostgreSQL, executing queries, managing transactions, and handling data.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-psycopg2
MCP server exposing psycopg2 PostgreSQL database adapter functionality.
mcp-name: io.github.daedalus/mcp-psycopg2
Install
pip install mcp-psycopg2
Usage
from mcp_psycopg2 import mcp
# Run the MCP server
mcp.run()
MCP Tools
The server exposes the following tools for interacting with PostgreSQL databases:
Connection Management
connect- Create a new database connectionclose_connection- Close an existing connectionget_connection_info- Get connection details
Transaction Management
begin_transaction- Start a new transactioncommit_transaction- Commit the current transactionrollback_transaction- Rollback the current transactionset_isolation_level- Set transaction isolation level
Cursor Operations
create_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 rows
SQL Composition
quote_identifier- Quote an SQL identifiermogrify- Return query string after parameter binding
Type Registration
register_json- Register JSON type adapterregister_hstore- Register hstore type adapterregister_composite- Register composite type adapter
COPY Operations
copy_from- Copy data from file to tablecopy_to- Copy data from table to filecopy_expert- Execute custom COPY statement
Server-Side Cursors
create_named_cursor- Create a server-side named cursorscroll_cursor- Scroll through cursor results
Large Objects
create_large_object- Create or open a large objectread_large_object- Read from a large objectwrite_large_object- Write to a large object
Information
get_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 string
Utility
cancel_query- Cancel the current database operationset_session- Set session parameterslist_connections- List all active connectionslist_cursors- List all active cursors
Development
git 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/
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.