Enhanced PostgreSQL MCP Server
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
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/postgres",
"postgresql://host.docker.internal:5432/mydb"]
}
}
}NPX
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
}
}
}Reemplace /mydb con el nombre de su base de datos.
Ejemplo de uso
Consultar datos
/query SELECT * FROM users LIMIT 5Insertar datos
/insert table="users", data={"name": "John Doe", "email": "john@example.com"}Actualizar datos
/update table="users", data={"status": "inactive"}, where="id='123'"Crear una tabla
/createTable tableName="tasks", columns=[
{"name": "id", "type": "SERIAL", "constraints": "PRIMARY KEY"},
{"name": "title", "type": "VARCHAR(100)", "constraints": "NOT NULL"},
{"name": "created_at", "type": "TIMESTAMP", "constraints": "DEFAULT CURRENT_TIMESTAMP"}
]Crear una función y un disparador
/createFunction name="update_timestamp", parameters="", returnType="TRIGGER", language="plpgsql", body="BEGIN NEW.updated_at = NOW(); RETURN NEW; END;"
/createTrigger name="set_timestamp", tableName="tasks", functionName="update_timestamp", when="BEFORE", events=["UPDATE"], forEach="ROW"Edificio
Estibador:
docker build -t mcp/postgres -f Dockerfile . 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
- XataOAuthio.github.xataio
Xata MCP server lets AI agents interact with your Xata projects, and Postgres database branches.
Versioned agent memory in your own Postgres: portable context, permissioned, audit trail.
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceA Model Context Protocol server that provides read-only access to PostgreSQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.100,74590,042MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server providing LLMs read-only access to PostgreSQL databases for inspecting schemas and executing queries.100,74527MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides read-only access to PostgreSQL databases, enabling LLMs to inspect database schemas and execute read-only queries.100,745MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides read-only access to PostgreSQL databases, enabling LLMs to inspect database schemas and execute read-only queries.100,745MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GarethCott/enhanced-postgres-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server