npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

postgresql-mcp-server

v1.0.0

Published

MCP server for PostgreSQL database access and interaction with LLMs

Readme

PostgreSQL MCP Server

Un serveur Model Context Protocol (MCP) permettant aux LLMs d'interagir avec des bases de données PostgreSQL. Ce serveur peut être utilisé avec Claude ou d'autres LLMs compatibles avec MCP pour inspecter des schémas de base de données et exécuter des requêtes SQL.

Fonctionnalités

  • Connexion aux bases de données PostgreSQL
  • Inspection du schéma de la base de données (tables, colonnes, contraintes, etc.)
  • Exécution de requêtes SQL (SELECT, INSERT, UPDATE, DELETE)
  • Opérations DDL (CREATE TABLE, ALTER TABLE)
  • Validation et sécurisation des requêtes SQL
  • Intégration avec n8n en environnement Docker

Prérequis

  • Node.js 16+
  • PostgreSQL
  • Pour l'intégration avec Docker: Docker et Docker Compose

Installation

Installation depuis npm

npm install -g postgresql-mcp

Installation à partir des sources

git clone https://github.com/votrecompte/postgresql-mcp.git
cd postgresql-mcp
npm install
npm run build

Configuration

Le serveur PostgreSQL MCP ne nécessite pas de fichier de configuration. Les informations de connexion à la base de données sont fournies via l'outil connect_database au moment de l'exécution.

Utilisation

Démarrage du serveur

postgresql-mcp

Le serveur MCP communique via stdin/stdout, ce qui le rend compatible avec les applications qui prennent en charge le protocole MCP.

Intégration avec Claude

Pour utiliser ce serveur MCP avec Claude, vous devez l'ajouter aux paramètres MCP de votre application Claude. Par exemple, pour Claude Desktop:

{
  "mcpServers": {
    "postgresql": {
      "command": "postgresql-mcp",
      "env": {},
      "disabled": false
    }
  }
}

Outils disponibles

Le serveur MCP PostgreSQL fournit les outils suivants:

  • connect_database: Se connecter à une base de données PostgreSQL
  • disconnect_database: Se déconnecter de la base de données
  • execute_query: Exécuter une requête SQL arbitraire
  • get_schema: Récupérer le schéma complet de la base de données
  • create_table: Créer une nouvelle table
  • alter_table: Modifier une table existante
  • insert_data: Insérer des données dans une table
  • update_data: Mettre à jour des données dans une table
  • delete_data: Supprimer des données d'une table

Ressources disponibles

Le serveur expose également des ressources pour explorer la base de données:

  • postgresql://schema: Schéma complet de la base de données
  • postgresql://{schema}/{table}: Données d'une table spécifique (limité à 100 lignes)
  • postgresql://{schema}/{table}/columns: Colonnes d'une table spécifique
  • postgresql://{schema}/{table}/constraints: Contraintes d'une table spécifique
  • postgresql://{schema}/{table}/foreign-keys: Clés étrangères d'une table spécifique

Utilisation avec Docker et n8n

Construction de l'image Docker

docker build -t postgresql-mcp -f docker/Dockerfile .

Démarrage avec Docker Compose

cd docker
docker-compose up -d

Cela va démarrer:

  1. Un serveur PostgreSQL pour les tests
  2. Le serveur MCP PostgreSQL

Configuration de n8n

Pour utiliser ce serveur MCP dans n8n dockerisé:

  1. Ajoutez le service postgresql-mcp au fichier docker-compose.yml de n8n
  2. Configurez n8n pour utiliser le serveur MCP en définissant les variables d'environnement appropriées

Exemple d'ajout au docker-compose.yml de n8n:

services:
  # Autres services n8n...
  
  postgresql-mcp:
    image: votre-image/postgresql-mcp:latest
    stdin_open: true
    tty: true

Exemple d'utilisation

Voici un exemple d'utilisation du serveur MCP PostgreSQL avec Claude:

Claude: Comment puis-je me connecter à une base de données PostgreSQL?

Vous: Vous pouvez utiliser l'outil connect_database pour vous connecter à votre base de données PostgreSQL.

Claude: Je vais vous aider à vous connecter à une base de données PostgreSQL.

<use_mcp_tool>
<server_name>postgresql</server_name>
<tool_name>connect_database</tool_name>
<arguments>
{
  "host": "localhost",
  "port": 5432,
  "database": "mabase",
  "user": "utilisateur",
  "password": "motdepasse",
  "ssl": false
}
</arguments>
</use_mcp_tool>

Sécurité

Le serveur PostgreSQL MCP inclut plusieurs fonctionnalités de sécurité:

  • Validation des requêtes SQL pour éviter les injections
  • Possibilité de limiter les types d'opérations SQL autorisées
  • Restriction des tables accessibles
  • Prévention des opérations dangereuses comme DROP DATABASE

Contribution

Les contributions sont les bienvenues! N'hésitez pas à ouvrir une issue ou une pull request.

Licence

MIT