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
Related MCP server: MCP PostgreSQL Server
Inicio rápido
Instalación
Instalación mediante herrería
Para instalar PostgreSQL MCP Server para Claude Desktop automáticamente a través de Smithery :
Instalación manual
Clonar este repositorio:
Crear y activar un entorno virtual (recomendado):
Instalar dependencias:
Uso
Inicie el servidor MCP.
# Without a connection string (server starts, DB‑backed tools will return a friendly error) python postgres_server.py # Or set the connection string via environment variable: export POSTGRES_CONNECTION_STRING="postgresql://username:password@host:port/database" python postgres_server.py # Or pass it using the --conn flag: python postgres_server.py --conn "postgresql://username:password@host:port/database"El servidor proporciona las siguientes herramientas:
query: Ejecutar consultas SQL contra la base de datoslist_schemas: enumera todos los esquemas disponibleslist_tables: enumera todas las tablas en un esquema específicodescribe_table: Obtenga información detallada sobre la estructura de una tablaget_foreign_keys: Obtener relaciones de clave externa para una tablafind_relationships: descubre relaciones explícitas e implícitas para una tabla
Ejecutando con Docker
Construye la imagen:
Ejecute el contenedor sin una conexión de base de datos (el servidor permanece inspeccionable):
Ejecute una base de datos PostgreSQL en vivo suministrando POSTGRES_CONNECTION_STRING :
Si se omite la variable de entorno, el servidor se inicia normalmente y todas las herramientas respaldadas por bases de datos devuelven un mensaje amigable que dice “la cadena de conexión no está configurada” hasta que usted lo proporcione.
Configuración con mcp.json
Para integrar este servidor con herramientas compatibles con MCP (como Cursor), agréguelo a su ~/.cursor/mcp.json :
Si se omite
Reemplazar:
/path/to/venvcon la ruta de su entorno virtual/path/to/postgres_server.pycon la ruta absoluta al script del servidor
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.