Servidor MCP de PostgreSQL (mejorado)
Un servidor de Protocolo de Contexto de Modelo que proporciona acceso de lectura y escritura a bases de datos PostgreSQL. Este servidor permite a los LLM inspeccionar esquemas de bases de datos, ejecutar consultas, modificar datos y crear o modificar objetos de esquemas de bases de datos.
Nota: Esta es una versión mejorada del servidor PostgreSQL MCP original de Anthropic. El servidor original proporciona acceso de solo lectura, mientras que esta versión mejorada añade capacidades de escritura y gestión de esquemas.
Componentes
Herramientas
Consulta de datos
consulta
Ejecutar consultas SQL de solo lectura contra la base de datos conectada
Entrada:
sql(cadena): La consulta SQL a ejecutarTodas las consultas se ejecutan dentro de una transacción de SOLO LECTURA
Modificación de datos
ejecutar
Ejecutar una sentencia SQL que modifica datos (INSERTAR, ACTUALIZAR, ELIMINAR)
Entrada:
sql(cadena): La declaración SQL a ejecutarEjecutado dentro de una transacción con manejo adecuado de COMMIT/ROLLBACK
insertar
Insertar un nuevo registro en una tabla
Aporte:
table(cadena): el nombre de la tabladata(objeto): pares clave-valor donde las claves son los nombres de las columnas y los valores son los datos a insertar
actualizar
Actualizar registros en una tabla
Aporte:
table(cadena): el nombre de la tabladata(objeto): pares clave-valor para los campos a actualizarwhere(cadena): La condición WHERE para identificar los registros a actualizar
borrar
Eliminar registros de una tabla
Aporte:
table(cadena): el nombre de la tablawhere(cadena): La condición WHERE para identificar los registros a eliminar
Gestión de esquemas
crearTabla
Crear una nueva tabla con columnas y restricciones específicas
Aporte:
tableName(cadena): El nombre de la tablacolumns(matriz): Matriz de definiciones de columnas con nombre, tipo y restricciones opcionalesconstraints(matriz): matriz opcional de restricciones a nivel de tabla
crearFunción
Crear una función/procedimiento de PostgreSQL
Aporte:
name(cadena): Nombre de la funciónparameters(cadena): parámetros de funciónreturnType(cadena): Tipo de retornolanguage(cadena): Idioma (plpgsql, sql, etc.)body(cadena): Cuerpo de la funciónoptions(cadena): Opciones de función adicionales opcionales
crearDisparador
Crear un disparador en una tabla
Aporte:
name(cadena): nombre del disparadortableName(cadena): Tabla a la que aplicar el disparadorfunctionName(cadena): Función a llamarwhen(cadena): ANTES, DESPUÉS o EN LUGAR DEevents(matriz): Matriz de eventos (INSERTAR, ACTUALIZAR, ELIMINAR)forEach(cadena): FILA o DECLARACIÓNcondition(cadena): condición WHEN opcional
crearÍndice
Crear un índice en una tabla
Aporte:
tableName(cadena): nombre de la tablaindexName(cadena): nombre del índicecolumns(matriz): columnas para indexarunique(booleano): si el índice es únicotype(cadena): tipo de índice opcional (BTREE, HASH, GIN, GIST, etc.)where(cadena): condición opcional
alterarTabla
Modificar la estructura de una tabla
Aporte:
tableName(cadena): nombre de la tablaoperation(cadena): Operación (AGREGAR COLUMNA, ELIMINAR COLUMNA, etc.)details(cadena): Detalles de la operación
Recursos
El servidor proporciona información de esquema para cada tabla de la base de datos:
Esquemas de tabla (
postgres://<host>/<table>/schema)Información del esquema JSON para cada tabla
Incluye nombres de columnas y tipos de datos.
Descubierto automáticamente a partir de metadatos de la base de datos
Related MCP server: PostgreSQL MCP Server
Uso con Claude Desktop
Para usar este servidor con la aplicación Claude Desktop, agregue la siguiente configuración a la sección "mcpServers" de su claude_desktop_config.json :
Estibador
Al ejecutar Docker en macOS, use host.docker.internal si el servidor se ejecuta en la red del host (por ejemplo, localhost).
El nombre de usuario y la contraseña se pueden agregar a la URL de postgresql con
postgresql://user:password@host:port/db-nameAgregue
?sslmode=no-verifysi necesita omitir la verificación del certificado SSL
NPX
Reemplace /mydb con el nombre de su base de datos.
Ejemplo de uso
Consultar datos
Insertar datos
Actualizar datos
Crear una tabla
Crear una función y un disparador
Edificio
Estibador:
Consideraciones de seguridad
Todas las operaciones de modificación de datos utilizan transacciones con el manejo adecuado de COMMIT/ROLLBACK
Cada operación devuelve el SQL que se ejecutó para la transparencia.
El servidor utiliza consultas parametrizadas para operaciones de inserción/actualización para evitar la inyección de SQL
Licencia
Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.