PostgreSQL MCP Server

by gldc
MIT License
4
  • Linux
  • Apple

Servidor MCP de PostgreSQL

Una implementación de servidor MCP de PostgreSQL que utiliza el SDK de Python del Protocolo de Contexto de Modelo (MCP), un protocolo abierto que permite una integración fluida entre aplicaciones LLM y fuentes de datos externas. Este servidor permite a los agentes de IA interactuar con bases de datos PostgreSQL a través de una interfaz estandarizada.

Características

  • Lista de esquemas de bases de datos
  • Listar tablas dentro de esquemas
  • Describir las estructuras de las tablas
  • Lista de restricciones y relaciones de tablas
  • Obtener información de clave externa
  • Ejecutar consultas SQL

Prerrequisitos

  • Python 3.x
  • Servidor de bases de datos PostgreSQL
  • Acceso a una base de datos PostgreSQL

Instalación

  1. Clonar este repositorio:
git clone <repository-url> cd mcp-postgres
  1. Crear y activar un entorno virtual (recomendado):
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
  1. Instalar dependencias:
pip install -r requirements.txt

Uso

  1. Inicie el servidor MCP proporcionando su cadena de conexión PostgreSQL:
python postgres_server.py "postgresql://username:password@host:port/database"
  1. El servidor proporciona las siguientes herramientas:
  • query : Ejecutar consultas SQL contra la base de datos
  • list_schemas : enumera todos los esquemas disponibles
  • list_tables : enumera todas las tablas en un esquema específico
  • describe_table : Obtenga información detallada sobre la estructura de una tabla
  • get_foreign_keys : Obtener relaciones de clave externa para una tabla
  • find_relationships : descubre relaciones explícitas e implícitas para una tabla

Configuración con mcp.json

Para integrar este servidor con herramientas compatibles con MCP (como Cursor), agréguelo a su ~/.cursor/mcp.json :

{ "servers": { "postgres": { "command": "/path/to/venv/bin/python", "args": [ "/path/to/postgres_server.py", "postgresql://username:password@host:5432/database?ssl=true" ] } } }

Reemplazar:

  • /path/to/venv con la ruta de su entorno virtual
  • /path/to/postgres_server.py con la ruta absoluta al script del servidor
  • Cadena de conexión con las credenciales de su base de datos PostgreSQL

Nota: asegúrese de proteger adecuadamente su archivo mcp.json ya que contiene credenciales de base de datos confidenciales.

Seguridad

  • Nunca exponga credenciales de base de datos confidenciales en su código
  • Utilice variables de entorno o archivos de configuración seguros para las cadenas de conexión de la base de datos
  • Considere usar agrupación de conexiones para una mejor gestión de recursos
  • Implementar controles de acceso adecuados y autenticación de usuarios

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Proyectos relacionados

Licencia

Licencia MIT

Derechos de autor (c) 2025 gldc

Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.

-
security - not tested
A
license - permissive license
-
quality - not tested

Permite que los agentes de IA interactúen con bases de datos PostgreSQL a través del Protocolo de contexto de modelo, proporcionando exploración del esquema de base de datos, inspección de la estructura de la tabla y capacidades de ejecución de consultas SQL.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Configuration with mcp.json
        2. Security
          1. Contributing
            1. Related Projects
              1. License
                ID: 82p12it588