postgres-mcp
Allows interaction with PostgreSQL databases, providing tools for executing SQL queries, listing tables, and describing table schemas.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@postgres-mcplist all tables in the public schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP PostgreSQL Server
Un servidor MCP (Model Context Protocol) para PostgreSQL que permite a Cursor y otras herramientas interactuar con bases de datos PostgreSQL a través de HTTP.
Características
✅ Protocolo MCP completo implementado
✅ Conexión a PostgreSQL
✅ Servidor HTTP con Express
✅ Endpoints REST para pruebas directas
✅ Herramientas MCP para consultas SQL
✅ Soporte para esquemas y metadatos
✅ Manejo de errores robusto
Related MCP server: PostgreSQL MCP Server
Instalación
Clona o descarga este proyecto.
Instala las dependencias:
npm installCopia el archivo de configuración:
cp .env.example .envConfigura las variables de entorno en
.env:
PORT=3000
DB_HOST=localhost
DB_PORT=5432
DB_NAME=tu_base_de_datos
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña
DB_SSL=falseUso
Iniciar el servidor
# Modo desarrollo (con auto-reload)
npm run dev
# Modo producción
npm startEl servidor estará disponible en http://localhost:3000
Endpoints disponibles
Health Check
GET /healthMCP Protocol
POST /mcpEndpoint principal para comunicación MCP.
Consulta directa
POST /query
Content-Type: application/json
{
"query": "SELECT * FROM users LIMIT 10",
"params": []
}Listar tablas
GET /tablesDescribir tabla
GET /tables/:tableNameConfiguración en Cursor
Para usar este servidor MCP en Cursor, agrega la siguiente configuración:
Configuración MCP en Cursor
Crea o edita el archivo de configuración de Cursor (ubicación depende del OS):
macOS: ~/Library/Application Support/Cursor/User/globalStorage/cursor.mcp/config.json
Windows: %APPDATA%\Cursor\User\globalStorage\cursor.mcp\config.json
Linux: ~/.config/Cursor/User/globalStorage/cursor.mcp/config.json
{
"mcpServers": {
"postgres": {
"url": "http://localhost:3000/mcp"
}
}
}También se incluye un archivo cursor-mcp-config.json en el proyecto como ejemplo de configuración.
Herramientas MCP disponibles
postgres_query
Ejecuta consultas SQL en la base de datos.
{
"name": "postgres_query",
"arguments": {
"query": "SELECT * FROM users WHERE id = $1",
"params": ["123"]
}
}postgres_tables
Lista todas las tablas en la base de datos.
{
"name": "postgres_tables",
"arguments": {}
}postgres_schema
Obtiene información del esquema de la base de datos.
{
"name": "postgres_schema",
"arguments": {
"table_name": "users"
}
}postgres_describe_table
Describe la estructura de una tabla específica.
{
"name": "postgres_describe_table",
"arguments": {
"table_name": "users"
}
}Ejemplos de uso
Consulta simple
curl -X POST http://localhost:3000/query \
-H "Content-Type: application/json" \
-d '{"query": "SELECT version()"}'Consulta con parámetros
curl -X POST http://localhost:3000/query \
-H "Content-Type: application/json" \
-d '{"query": "SELECT * FROM users WHERE age > $1", "params": ["25"]}'Solicitud MCP
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "postgres_tables",
"arguments": {}
}
}'Desarrollo
Estructura del proyecto
src/
├── server.js # Servidor HTTP principal
├── mcp-protocol.js # Implementación del protocolo MCP
└── database.js # Conexión y utilidades de PostgreSQL
test/
└── test.js # Tests básicos
.env.example # Ejemplo de variables de entorno
package.json # Dependencias y scripts
README.md # Este archivoAgregar nuevas herramientas
Edita
src/mcp-protocol.jsRegistra la nueva herramienta en
initialize()Implementa el manejador en
handleToolCall()
Requisitos
Node.js 18+
PostgreSQL 12+
npm o yarn
Solución de problemas
Error de conexión a la base de datos
Verifica que PostgreSQL esté ejecutándose
Comprueba las credenciales en
.envAsegúrate de que la base de datos existe
Puerto en uso
Cambia el puerto en
.envconPORT=otro_puerto
Permisos insuficientes
Verifica que el usuario de la base de datos tenga permisos de lectura/escritura
Contribuir
Fork del proyecto
Crea una rama para tu feature
Commit tus cambios
Push a la rama
Abre un Pull Request
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for PostgreSQL diagnostics: slow queries, missing indexes, connection pressure.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server implementation that provides a simple interface to interact with PostgreSQL databases, enabling SQL queries, database operations, and schema management through MCP.-
- AlicenseCqualityDmaintenanceEnables querying PostgreSQL database metadata including table lists and schema information through the MCP protocol. Supports stdio transport for Cursor/IDE integration as well as HTTP transport with health check endpoints.2MIT
- AlicenseNot gradedqualityDmaintenanceAn open-source MCP server for PostgreSQL schema introspection and guarded read-only queries. It enables MCP clients to discover schemas, tables, columns, indexes, relationships, and safe queryable data from a configured PostgreSQL database.8MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes PostgreSQL database operations via psycopg2, including connection management, query execution, and transaction control.MIT