Servidor PostgreSQL MCP
Un servidor de Protocolo de Contexto de Modelo que proporciona operaciones con bases de datos PostgreSQL. Este servidor permite que los modelos de IA interactúen con bases de datos PostgreSQL mediante una interfaz estandarizada.
Instalación
Instalación manual
npm install mcp-postgres-serverO ejecutar directamente con:
npx mcp-postgres-serverRelated MCP server: PostgreSQL MCP Server
Configuración
El servidor requiere las siguientes variables de entorno:
{
"mcpServers": {
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-postgres-server"],
"env": {
"PG_HOST": "your_host",
"PG_PORT": "5432",
"PG_USER": "your_user",
"PG_PASSWORD": "your_password",
"PG_DATABASE": "your_database"
}
}
}
}Herramientas disponibles
1. connect_db
Establecer conexión a la base de datos PostgreSQL utilizando las credenciales proporcionadas.
use_mcp_tool({
server_name: "postgres",
tool_name: "connect_db",
arguments: {
host: "localhost",
port: 5432,
user: "your_user",
password: "your_password",
database: "your_database"
}
});2. consulta
Ejecuta consultas SELECT con parámetros opcionales de sentencias preparadas. Admite marcadores de posición de parámetros de estilo PostgreSQL ($1, $2) y MySQL (?).
use_mcp_tool({
server_name: "postgres",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = $1",
params: [1]
}
});3. ejecutar
Ejecute consultas INSERT, UPDATE o DELETE con parámetros opcionales de sentencias preparadas. Admite marcadores de posición de parámetros de estilo PostgreSQL ($1, $2) y MySQL (?).
use_mcp_tool({
server_name: "postgres",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES ($1, $2)",
params: ["John Doe", "john@example.com"]
}
});4. esquemas_de_lista
Enumere todos los esquemas en la base de datos conectada.
use_mcp_tool({
server_name: "postgres",
tool_name: "list_schemas",
arguments: {}
});5. tablas_de_lista
Enumera las tablas de la base de datos conectada. Acepta un parámetro de esquema opcional (el valor predeterminado es "público").
// List tables in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {}
});
// List tables in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {
schema: "my_schema"
}
});6. describe_tabla
Obtiene la estructura de una tabla específica. Acepta un parámetro de esquema opcional (el valor predeterminado es "público").
// Describe a table in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
// Describe a table in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users",
schema: "my_schema"
}
});Características
Manejo seguro de conexiones con limpieza automática
Soporte de declaraciones preparadas para parámetros de consulta
Compatibilidad con marcadores de posición de parámetros de estilo PostgreSQL ($1, $2) y de estilo MySQL (?)
Manejo integral de errores y validación
Compatibilidad con TypeScript
Gestión automática de conexiones
Admite sintaxis y funciones específicas de PostgreSQL
Compatibilidad con múltiples esquemas para operaciones de bases de datos
Seguridad
Utiliza sentencias preparadas para evitar la inyección de SQL
Admite el manejo seguro de contraseñas a través de variables de entorno
Valida las consultas antes de su ejecución
Cierra automáticamente las conexiones cuando termina
Manejo de errores
El servidor proporciona mensajes de error detallados para problemas comunes:
Fallos de conexión
Consultas no válidas
Parámetros faltantes
Errores de base de datos
Licencia
Instituto Tecnológico de Massachusetts (MIT)