PostgreSQL MCP Server

Un servidor MCP para explorar y consultar bases de datos PostgreSQL.

Documentación

Certified by mcpreview.com

PostgreSQL MCP Server

Una implementación de servidor de Model Context Protocol (MCP) para la exploración y consulta de bases de datos PostgreSQL.

Tabla de Contenidos

Descripción General

Este proyecto proporciona un servidor de Model Context Protocol (MCP) que se conecta a una base de datos PostgreSQL y expone diversas capacidades de descubrimiento y consulta de datos como herramientas MCP. Estas herramientas le permiten explorar la estructura de la base de datos, consultar datos y obtener estadísticas de la base de datos a través de una interfaz estandarizada.

Características

  • Conéctese a cualquier base de datos PostgreSQL usando una cadena de conexión estándar
  • Ejecute consultas SELECT personalizadas con resultados devueltos en un formato estructurado
  • Liste todas las tablas en la base de datos conectada
  • Obtenga información detallada del esquema para cualquier tabla
  • Filtre registros de la base de datos con condiciones simples de igualdad
  • Obtenga estadísticas de la base de datos, incluido el tamaño, el número de tablas y las tablas más grandes

Requisitos

  • Python 3.7+
  • Paquetes de Python requeridos (listados en requirements.txt):
    • mcp
    • pg8000
    • sqlalchemy

Instalación

  1. Clone este repositorio o descargue el código fuente
  2. Cree un entorno virtual (recomendado)
  3. Instale los paquetes requeridos:
pip install -r requirements.txt

Uso

Uso Básico

Ejecute el servidor proporcionando una cadena de conexión de PostgreSQL:

python server.py postgresql://username:password@hostname:port/database

Uso con Claude Desktop

Para integrarse con Claude Desktop, agregue la siguiente configuración a su archivo de configuración de Claude Desktop:

{
  "mcpServers": {
    "postgres": {
      "command": "python",
      "args": [
        "/ABOSLUTE/PATH/TO/postgres-mcp-server/server.py",
        "postgresql://user:password@host:port/database"
      ]
    }
  }
}

Después de agregar o realizar cualquier cambio en el archivo de configuración anterior, asegúrese de relanzar Claude Desktop forzándolo a cerrar.

Ubicación del Archivo de Configuración

El archivo de configuración de Claude Desktop generalmente se encuentra en:

  • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Herramientas Disponibles

El servidor proporciona las siguientes herramientas MCP:

Tools

execute_query

Ejecute una consulta SQL SELECT personalizada y devuelva los resultados.

list_tables

Liste todas las tablas en la base de datos PostgreSQL actual.

get_table_schema

Obtenga la definición del esquema para una tabla especificada.

filter_instances

Filtre registros de la base de datos según criterios especificados.

get_database_stats

Obtenga estadísticas generales y metadatos sobre la base de datos PostgreSQL.

Consideraciones de Seguridad

  • Este servidor solo permite consultas SELECT para prevenir modificaciones en la base de datos
  • Las credenciales de conexión se proporcionan a través de la línea de comandos y no se almacenan
  • Considere usar variables de entorno o un método de configuración seguro en entornos de producción

Ejemplo de Interacción en Claude

Una vez conectado a Claude Desktop, puede hacer preguntas como:

  • "¿Qué tablas están disponibles en la base de datos?"
  • "Muéstrame el esquema de la tabla de clientes"
  • "¿Cuántos registros hay en la tabla de pedidos?"
  • "¿Cuál es el tamaño total de la base de datos?"

Output

Claude usará las herramientas MCP apropiadas para responder estas preguntas consultando su base de datos PostgreSQL.

Solución de Problemas

  • Si la conexión falla, verifique que su cadena de conexión de PostgreSQL sea correcta

  • Compruebe que su servidor PostgreSQL permita conexiones desde su máquina cliente

  • Servidor No Encontrado: Asegúrese de que las rutas en su archivo de configuración sean correctas y absolutas

    Use una ruta absoluta para el comando ejecutando where python

    Por ejemplo - "command": "python" debería escribirse como "command": "/Users/username/miniconda3/bin/python"

  • Problemas de Permisos: Asegúrese de que la aplicación Claude Desktop tenga permiso para ejecutar el script

  • Bloqueos del Servidor: Revise los registros del servidor para ver errores y asegúrese de que todas las dependencias estén instaladas

Contacto

No dude en plantear un problema en este repositorio.

El postgres-mcp-server SSE y Streamable-HTTP está en desarrollo....