Yapay zeka kodlama ajanlarının PostgreSQL veritabanlarını sorgulamasına, değiştirmesine, incelemesine, bağlantı profillerini yönetmesine ve performans teşhisleri yapmasına olanak tanır.
Ayrıca bilinen adı microsoft/postgres-mcp, @microsoft/postgres-mcp
- Yıldızlar
- 86
- Araçlar
- —
- İndirmeler, 30 gün
- —
- En son sürüm
- —
- Son commit
- 5 Kas 2026
- Lisans
- MIT
PostgreSQL MCP nedir?
PostgreSQL bir MCP sunucusudur. Yapay zeka kodlama ajanlarının PostgreSQL veritabanlarını sorgulamasına, değiştirmesine, incelemesine, bağlantı profillerini yönetmesine ve performans teşhisleri yapmasına olanak tanır.
Özet, projenin README dosyasından oluşturuldu
PostgreSQL MCP sunucusu hakkında
Bir PostgreSQL veritabanı üzerinde doğrudan çalışması gereken kodlama ajanları; sorgular, şema tasarımı, teşhisler ve CSV içe aktarma işlemleri için postgres-mcp'yi çağırabilir. Node.js 22+ üzerinde stdio üzerinden çalışan bir MCP server olarak çalışır, npx ile herhangi bir kurulum adımı gerektirmeden başlatılır ve GitHub Copilot, Claude Code, Codex, Open Code, Cursor, VS Code ve Claude Desktop dahil tüm MCP istemcileriyle uyumludur. İstemci yapılandırmaları npx çalıştırma komutunu gösterir ve kimlik bilgisi taşımaz; ajan, çalışma zamanında kaydedilmiş bir profili otomatik olarak alır.
Profiller, bir libpq URI'si veya key=value dizisinden connection add komutuyla bir kez oluşturulur ve şifre bir yapılandırma dosyası yerine işletim sistemi anahtarlığında tutulur. Anahtarlık bulunmayan headless veya CI kurulumları, bağlantı dizesini ortam değişkenlerinden alabilir. Saklanmış bir anahtarlık şifresi olmayan Azure profilleri için Microsoft Entra ID otomatik olarak seçilir. Araç seti; postgres_mcp_query ile salt okunur SQL, postgres_mcp_modify ile DDL ve DML, tablolar, indeksler, fonksiyonlar ve diziler için CREATE betikleri, COPY aracılığıyla CSV açıklaması ve toplu yükleme, yetenek sorgulama ve performans metrik gruplarını kapsar.
Erişim kontrolü veritabanı rolüne dayanır, çünkü sunucu istekleri o kullanıcı olarak yürütür; salt okunur profiller access_mode: ro ile ayarlanır. Yerel dosya okuma işlemleri, yollar açıkça izinli kılınmadıkça başlangıç çalışma dizini ile sınırlıdır ve gizli bilgiler hata mesajlarından temizlenir.
Neler yapabilirsiniz
- 1Postgres'ten güncel siparişleri çekmeBir SQL istemcisi açmadan test verilerini kontrol edebilmek için ajandan en son on siparişi göstermesini isteyin.
- 2Mevcut veritabanı darboğazlarını bulmaSunucuyu şu anda neyin yavaşlattığını görmek için ajanın performans metrik gruplarını toplamasını sağlayın.
- 3Veritabanındaki tabloları listelemeŞema çalışmaları için başlangıç noktası olarak bağlı veritabanındaki tabloların envanterini çıkarın.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
PostgreSQL MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıPostgreSQL MCP'yi Claude Code içine yükleyin
$ claude mcp add postgres-mcp -- npx -y @microsoft/postgres-mcpPostgreSQL MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}PostgreSQL MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"postgres-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}PostgreSQL MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}PostgreSQL MCP'yi Codex içine yükleyin
~/.codex/config.toml
[mcp_servers.postgres-mcp] command = "npx" args = ["-y", "@microsoft/postgres-mcp"]
PostgreSQL MCP'yi Gemini CLI içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}Otomatik kontroller
Çalıştırıldı 13 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirGeçti
- Açık kaynak lisansı (OSI)Geçti
- Son bir yıl içinde commit veya sürüm mevcutGeçti
- Paket adı popüler bir pakete yakın değilGeçti
- Uzak uç nokta HTTPS kullanıyorKontrol edilmedi
- Yıkıcı araçlar etiketlenmişKontrol edilmedi
- Modele yönelik gizli talimat yokGeçti
- Pakette ve bağımlılıklarında kritik uyarı yokKontrol edilmedi
Postgres MCP Server
Connect your coding agent to PostgreSQL. postgres-mcp lets you generate
queries and run analytics, design database schemas, diagnose performance of the
server and queries, securely manage connections, and import data. It is
compatible with any MCP client — GitHub Copilot, Claude Code, Codex, Open Code,
Cursor, VS Code, and more.
- npm: https://www.npmjs.com/package/@microsoft/postgres-mcp
- No install required — run it straight from
npx.
Quick start
1. Save a connection profile
Create a named profile once — the password is stored in your OS keyring, never in a config file:
# add a profile from a libpq URI or key=value string
npx -y @microsoft/postgres-mcp connection add local \
"postgresql://postgres@localhost:5432/postgres"
# store its password securely (hidden prompt)
npx -y @microsoft/postgres-mcp connection set-password local
# check it
npx -y @microsoft/postgres-mcp connection list
Profiles created by
connection addpermit write tools unlessaccess_mode: rois set. For autonomous agents that should not write, use an explicit read-only profile and a read-only database role — see Read-only profiles.
2. Add postgres-mcp to your coding agent
The server speaks MCP over stdio. Point your client at
npx @microsoft/postgres-mcp run — no credentials go in the client config; the
coding agent discovers and connects to your saved profile at runtime.
GitHub Copilot CLI, Claude Code, Cursor & Claude Desktop — clients that use the mcpServers format (~/.copilot/mcp-config.json, mcp.json, .cursor/mcp.json, claude_desktop_config.json, …):
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@microsoft/postgres-mcp", "run"]
}
}
}
Running headless or in CI, without a keyring? The server can also take a database connection string from the environment — see Connecting without a profile in the guide.
3. Ask your coding agent
"List the tables in my PostgreSQL database." "Show me the 10 most recent orders from my PostgreSQL database." "What's slowing down my PostgreSQL server right now?"
The agent calls the server's tools (postgres_mcp_connect,
postgres_mcp_query, postgres_mcp_db_context, …) for you.
What it can do
| Area | Tools |
|---|---|
| Connections | list / add / remove profiles, connect, disconnect, list databases |
| Query | read‑only SQL (postgres_mcp_query), DDL/DML (postgres_mcp_modify) |
| Schema | fetch CREATE scripts for tables, indexes, functions, sequences… |
| Data | describe a CSV, bulk‑load a CSV via COPY |
| Diagnostics | probe server capabilities, collect performance metric groups |
See the usage guide for tools, configuration, authentication (including Microsoft Entra ID), TLS, and the security model.
Security in one minute
- The server doesn't decide what's allowed — your database does. It just passes requests along to PostgreSQL and runs them as the database user in your connection profile. It can't tell the difference between a request you meant to make and one the AI invented or was tricked into making, so anything that database user can do, the AI can do. What actually protects you is the permissions you give that user, the approval prompts in your MCP client, and the model you choose to run. See Security model for who's responsible for what, plus a checklist for locking things down.
postgres_mcp_queryis read‑only. Omitted profileaccess_modepermits write tools; setaccess_mode: roand use a read-only database role unless writes are intentionally delegated.- Microsoft Entra ID (AAD) is selected automatically for Azure profiles without a stored keyring password. Store a profile password to use password authentication instead.
- Local file reads (
postgres_mcp_bulk_load_csv,postgres_mcp_describe_csv) are limited to the MCP server's startup working directory by default and paths allowed withallow-access-to-path <path>. A file allows only itself; a directory allows recursive access. - Secrets are scrubbed from error messages before they leave the process.
See more info about security model in the usage guide.
Requirements
- Node.js 22+ (to run via
npx). - Linux x64/arm64, macOS x64/arm64, or Windows x64. Windows ARM uses x64 emulation.
- A reachable PostgreSQL database — local, Docker, on‑premises, Azure Database for PostgreSQL, Amazon RDS/Aurora, Google Cloud SQL/AlloyDB, or any wire‑compatible server.
Changelog
See CHANGELOG.md for release notes.
License
This repository is a getting started information package. It is licensed under the MIT License © Microsoft. The postgres-mcp project itself is proprietary and its source code is not avialable under MIT license.
PostgreSQL MCP soruları
PostgreSQL MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add postgres-mcp -- npx -y @microsoft/postgres-mcp komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
PostgreSQL MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
postgres-mcp'yi Claude Code veya GitHub Copilot'a nasıl bağlarım?
İstemcinizin mcpServers yapılandırmasına npx @microsoft/postgres-mcp run komutunu gösteren bir stdio girişi ekleyin; bu yapılandırmaya herhangi bir kimlik bilgisi girilmez.
Veritabanı şifresi nerede saklanır?
Şifreler bir yapılandırma dosyasında değil, connection set-password komutuyla işletim sistemi anahtarlığında (keyring) saklanır.
Sorgu aracı salt okunur mu?
Evet, postgres_mcp_query salt okunurdur; ancak profil access_mode değerini ro olarak ayarlamadığı sürece yazma araçları kullanılabilir.
Bir profil kaydetmeden, örneğin CI ortamında kullanabilir miyim?
Evet, anahtarlık erişimi olmadığında sunucu, ortam değişkenlerinden bir veritabanı bağlantı dizesi alabilir.
Hangi Node.js sürümünü gerektirir?
npx üzerinden çalıştırmak için Node.js 22 veya daha yeni bir sürüm gereklidir.