Permet aux agents de codage IA d'interroger, de modifier et d'inspecter des bases de données PostgreSQL, de gérer des profils de connexion et de diagnostiquer les performances.
Aussi connu sous microsoft/postgres-mcp, @microsoft/postgres-mcp
- Étoiles
- 87
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 5 nov. 2026
- Licence
- MIT
Qu'est-ce que PostgreSQL MCP ?
PostgreSQL est un serveur MCP. Permet aux agents de codage IA d'interroger, de modifier et d'inspecter des bases de données PostgreSQL, de gérer des profils de connexion et de diagnostiquer les performances.
Résumé généré à partir du README du projet
À propos du MCP server PostgreSQL
Les agents de codage qui doivent travailler directement sur une base de données PostgreSQL peuvent appeler postgres-mcp pour effectuer des requêtes, concevoir des schémas, réaliser des diagnostics et importer des fichiers CSV. Il s'exécute sur Node.js 22+ en tant que MCP server via stdio, lancé par npx sans étape d'installation, et fonctionne avec n'importe quel client MCP, y compris GitHub Copilot, Claude Code, Codex, Open Code, Cursor, VS Code et Claude Desktop. Les configurations client pointent vers la commande npx run et ne contiennent aucun identifiant ; l'agent récupère un profil enregistré lors de l'exécution.
Les profils sont créés une seule fois avec la commande connection add à partir d'une URI libpq ou d'une chaîne clé=valeur, et le mot de passe est conservé dans le trousseau de clés du système d'exploitation plutôt que dans un fichier de configuration. Les configurations sans interface (headless) ou en CI sans trousseau de clés peuvent utiliser une chaîne de connexion provenant de l'environnement. Microsoft Entra ID est choisi automatiquement pour les profils Azure sans mot de passe stocké dans le trousseau. La suite d'outils couvre le SQL en lecture seule via postgres_mcp_query, le DDL et le DML via postgres_mcp_modify, des scripts CREATE pour les tables, index, fonctions et séquences, la description de fichiers CSV et le chargement groupé via COPY, ainsi que l'exploration des capacités et les groupes de métriques de performance.
Le contrôle d'accès repose sur le rôle de la base de données, puisque le serveur exécute les requêtes en tant que cet utilisateur ; les profils en lecture seule sont configurés avec access_mode: ro. La lecture de fichiers locaux est limitée au répertoire de travail de démarrage, sauf si les chemins sont explicitement autorisés, et les secrets sont supprimés des messages d'erreur.
Ce que vous pouvez faire avec
- 1Récupérer les commandes récentes de PostgresDemandez à l'agent d'afficher les dix commandes les plus récentes afin de vérifier les données de test sans ouvrir de client SQL.
- 2Identifier les goulots d'étranglement de la base de donnéesDemandez à l'agent de collecter des groupes de métriques de performance pour voir ce qui ralentit le serveur actuellement.
- 3Lister les tables d'une base de donnéesObtenez un inventaire des tables de la base de données connectée comme point de départ pour le travail sur le schéma.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer PostgreSQL MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller PostgreSQL MCP dans Claude Code
$ claude mcp add postgres-mcp -- npx -y @microsoft/postgres-mcpInstaller PostgreSQL MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}Installer PostgreSQL MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"postgres-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}Installer PostgreSQL MCP dans VS Code CLI
$ code --add-mcp '{"name":"postgres-mcp","type":"stdio","command":"npx","args":["-y","@microsoft/postgres-mcp"]}'Installer PostgreSQL MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}Installer PostgreSQL MCP dans Codex
$ codex mcp add postgres-mcp -- npx -y @microsoft/postgres-mcpInstaller PostgreSQL MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.postgres-mcp] command = "npx" args = ["-y", "@microsoft/postgres-mcp"]
Installer PostgreSQL MCP dans Gemini CLI
$ gemini mcp add -s user postgres-mcp npx -- -y @microsoft/postgres-mcpInstaller PostgreSQL MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@microsoft/postgres-mcp"
]
}
}
}Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleRéussi
- Licence open source (OSI)Réussi
- Commit ou version publiée au cours de l'année écouléeRéussi
- Nom du package non proche d'un package populaireRéussi
- L'endpoint distant utilise HTTPSNon vérifié
- Les outils destructifs sont étiquetésNon vérifié
- Aucune instruction cachée destinée au modèleRéussi
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
README
Voir sur GitHubPostgres 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.
Questions sur PostgreSQL MCP
Comment ajouter PostgreSQL MCP à Claude Code ?
Exécutez claude mcp add postgres-mcp -- npx -y @microsoft/postgres-mcp dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter PostgreSQL MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Comment connecter postgres-mcp à Claude Code ou GitHub Copilot ?
Ajoutez une entrée stdio pointant vers npx @microsoft/postgres-mcp run dans la configuration mcpServers de votre client ; aucun identifiant ne doit figurer dans cette configuration.
Où est stocké le mot de passe de la base de données ?
Les mots de passe sont enregistrés dans le trousseau de clés (keyring) du système d'exploitation via la commande connection set-password, et non dans un fichier de configuration.
L'outil de requête est-il en lecture seule ?
Oui, postgres_mcp_query est en lecture seule, mais des outils d'écriture sont disponibles à moins que le profil ne définisse l'access_mode sur ro.
Puis-je l'utiliser sans enregistrer de profil, par exemple dans une CI ?
Oui, le serveur peut récupérer une chaîne de connexion à la base de données depuis les variables d'environnement lorsqu'aucun trousseau de clés n'est disponible.
Quelle version de Node.js est requise ?
Node.js 22 ou une version ultérieure est nécessaire pour l'exécuter via npx.