Skip to main content
Glama

Enhanced PostgreSQL MCP Server

by GarethCott

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 ejecutar
    • Todas 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 ejecutar
    • Ejecutado 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 tabla
      • data (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 tabla
      • data (objeto): pares clave-valor para los campos a actualizar
      • where (cadena): La condición WHERE para identificar los registros a actualizar
  • borrar
    • Eliminar registros de una tabla
    • Aporte:
      • table (cadena): el nombre de la tabla
      • where (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 tabla
      • columns (matriz): Matriz de definiciones de columnas con nombre, tipo y restricciones opcionales
      • constraints (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ón
      • parameters (cadena): parámetros de función
      • returnType (cadena): Tipo de retorno
      • language (cadena): Idioma (plpgsql, sql, etc.)
      • body (cadena): Cuerpo de la función
      • options (cadena): Opciones de función adicionales opcionales
  • crearDisparador
    • Crear un disparador en una tabla
    • Aporte:
      • name (cadena): nombre del disparador
      • tableName (cadena): Tabla a la que aplicar el disparador
      • functionName (cadena): Función a llamar
      • when (cadena): ANTES, DESPUÉS o EN LUGAR DE
      • events (matriz): Matriz de eventos (INSERTAR, ACTUALIZAR, ELIMINAR)
      • forEach (cadena): FILA o DECLARACIÓN
      • condition (cadena): condición WHEN opcional
  • crearÍndice
    • Crear un índice en una tabla
    • Aporte:
      • tableName (cadena): nombre de la tabla
      • indexName (cadena): nombre del índice
      • columns (matriz): columnas para indexar
      • unique (booleano): si el índice es único
      • type (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 tabla
      • operation (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

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-name
  • Agregue ?sslmode=no-verify si 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 5

Insertar 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

  1. Todas las operaciones de modificación de datos utilizan transacciones con el manejo adecuado de COMMIT/ROLLBACK
  2. Cada operación devuelve el SQL que se ejecutó para la transparencia.
  3. 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.

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de protocolo de contexto de modelo que proporciona acceso de lectura y escritura a bases de datos PostgreSQL, lo que permite a los LLM consultar datos, modificar registros y administrar esquemas de bases de datos.

  1. Componentes
    1. Herramientas
    2. Recursos
  2. Uso con Claude Desktop
    1. Estibador
    2. NPX
  3. Ejemplo de uso
    1. Consultar datos
    2. Insertar datos
    3. Actualizar datos
    4. Crear una tabla
    5. Crear una función y un disparador
  4. Edificio
    1. Consideraciones de seguridad
      1. Licencia

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server providing LLMs read-only access to PostgreSQL databases for inspecting schemas and executing queries.
          Last updated -
          16,948
          17
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that provides read-only access to PostgreSQL databases with enhanced multi-schema support, allowing LLMs to inspect database schemas across multiple namespaces and execute read-only queries while maintaining schema isolation.
          Last updated -
          13
          2
          JavaScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.
          Last updated -
          16,948
          JavaScript
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that provides LLMs with full read-write access to PostgreSQL databases, allowing both querying and modifying database content with transaction management and safety controls.
          Last updated -
          84
          7
          TypeScript
          • Apple

        View all related MCP servers

        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