Data as of
Postgres MCP Pro for Cursor: Setup & Config
Give Cursor PostgreSQL schema access, SQL execution, health checks, and performance analysis.
Postgres MCP Pro Cursor configuration
Choose Cursor configuration scope
For Postgres MCP Pro, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.
Add Postgres MCP Pro to Cursor
Use the postgres-mcp entry below in mcpServers. Keep Postgres MCP Pro's documented stdio connection fields and your other Cursor entries.
Check Postgres MCP Pro in Cursor
Postgres MCP Pro: Enable in Cursor’s MCP settings; inspect tools.
Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
{
"mcpServers": {
"postgres-mcp": {
"command": "uvx",
"args": [
"postgres-mcp",
"--access-mode=restricted"
],
"env": {
"DATABASE_URI": "<PostgreSQL connection URI with your database credentials>"
}
}
}
}Postgres MCP Pro in Cursor: stdio checks
- Cursor must find uvx postgres-mcp (from uv, for Python tools) for Postgres MCP Pro. Enable the project/user entry in MCP settings and inspect its tools.
- Review DATABASE_URI for Postgres MCP Pro before sharing project .cursor/mcp.json; project scope travels with the repository.
- Postgres MCP Pro uses stdio here: Cursor must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Tools
- list_schemas, list_objects, get_object_details
Postgres MCP Pro — details. Cursor guide
Frequently asked questions
Cursor's Postgres MCP Pro entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.
Cursor's postgres-mcp example uses stdio.
Postgres MCP Pro's Cursor configuration invokes uvx postgres-mcp (from uv, for Python tools).
Cursor's Postgres MCP Pro example references DATABASE_URI. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.
Postgres MCP Pro's stored list contains 9 tools, including list_schemas, list_objects, get_object_details. Compare those names with Cursor's connected tool list; the stored list is not a live check.