Connect AI agents to PostgreSQL with MCP
Your relational application or analytics database. Wiring it to your agents over the Model Context Protocol lets Claude Code, Cursor, and other clients work against it safely.
Why connect PostgreSQL to your AI agents?
The Model Context Protocol (MCP) is an open standard for exposing a system’s capabilities to AI models as typed tools. Wire PostgreSQL up once as an MCP server and any MCP-capable client — Claude Code, Cursor, and others — can use it, instead of every developer hand-rolling their own integration.
Your relational application or analytics database. Today, most engineers copy-paste data from PostgreSQL into a chat by hand. With an MCP connection the agent reaches it directly and safely — which is the difference between a demo and something a whole team can rely on.
What an agent can do with PostgreSQL
Once connected, the agent can act against PostgreSQL as part of a task rather than asking you to fetch context for it. Common uses:
- Let an agent inspect schema and write a query you describe
- Investigate a data question against a read replica
- Generate and explain migrations against the real schema
The right default is read-only: let the agent observe and reason first, then grant specific write actions deliberately, each behind audit logging and — for anything high-impact — human approval.
Connect Claude Code to PostgreSQL
- Pick or build an MCP server for PostgreSQL (official mcp server commonly available).
- Register it with Claude Code via
claude mcp add(or your project’s MCP config), pointing at the server’s command or URL. - Provide credentials out of band — A dedicated read-only database role, ideally against a replica. Never hardcode them in the repo.
- Restart Claude Code so it discovers the server’s tools, then confirm the PostgreSQL tools appear.
- Try a read-only task first to validate scope and permissions before granting any write access.
Connect Cursor to PostgreSQL
- Open Cursor’s settings and find the MCP / tools configuration.
- Add the PostgreSQL MCP server entry (command or URL + transport).
- Supply credentials via environment or Cursor’s secret handling — A dedicated read-only database role, ideally against a replica.
- Reload Cursor and verify the PostgreSQL tools are available to the agent.
Authentication
A dedicated read-only database role, ideally against a replica.
Claude Code or Cursor for PostgreSQL?
Both speak MCP, so the same PostgreSQL server works in either. Reach for Claude Code when you want an agent to use PostgreSQLas part of an autonomous, multi-step task or in automation; reach for Cursor when you’re working interactively in the editor and want PostgreSQL context inline. Many teams wire it into both — see Claude Code vs Cursor for the full breakdown.
What a production setup needs
A working connection is the easy part. The hard part — and what actually matters for letting a team use agents against PostgreSQL — is read-only roles, statement timeouts, and never touching primary write paths. A well-built server adds scoped credentials, read-only defaults, audit logging, and human approval gates on high-impact actions.
PostgreSQL MCP security checklist
What separates a safe team-wide integration from a liability:
- Scope credentials to the minimum PostgreSQL access the task needs — never a full-access token.
- Default to read-only; add write actions one at a time, deliberately.
- Log every tool call with who, what, and when, so agent actions are auditable.
- Keep credentials out of the repo and out of the agent’s sandbox — inject them at the boundary.
- Gate high-impact or irreversible actions behind explicit human approval.
Troubleshooting
If the PostgreSQL tools don’t appear after setup, it’s almost always auth or transport. See MCP server not connecting for the step-by-step fix — and note that hosted servers often need OAuth, not a plain API key. To understand how MCP relates to ordinary tool use, see MCP vs function calling.
Frequently asked questions
Is there an official MCP server for PostgreSQL?
Official MCP server commonly available. Whichever you use, a production setup needs read-only roles, statement timeouts, and never touching primary write paths.
How does authentication work for PostgreSQL over MCP?
A dedicated read-only database role, ideally against a replica. Credentials should never live in the sandbox or the repo; route them through your client’s secret handling or a vaulted credential.
What can an agent actually do with PostgreSQL?
Let an agent inspect schema and write a query you describe; Investigate a data question against a read replica; Generate and explain migrations against the real schema. Start read-only and add write access deliberately, behind audit logging.
Is it safe to give agents access to PostgreSQL?
Yes, when scoped correctly: least-privilege credentials, read-only by default, audit logs on every call, and human approval for any high-impact action. Read-only roles, statement timeouts, and never touching primary write paths.
Reference current as of June 2026.