PostgreSQL MCP Server
Servidor MCP de PostgreSQL
Una implementación de servidor MCP de PostgreSQL que utiliza el SDK de Python del Protocolo de Contexto de Modelo (MCP), un protocolo abierto que permite una integración fluida entre aplicaciones LLM y fuentes de datos externas. Este servidor permite a los agentes de IA interactuar con bases de datos PostgreSQL a través de una interfaz estandarizada.
Características
Lista de esquemas de bases de datos
Listar tablas dentro de esquemas
Describir las estructuras de las tablas
Lista de restricciones y relaciones de tablas
Obtener información de clave externa
Ejecutar consultas SQL
Related MCP server: PostgreSQL MCP Server
Inicio rápido
# Run the server without a DB connection (useful for Glama or inspection)
python postgres_server.py
# With a live database – pick one method:
export POSTGRES_CONNECTION_STRING="postgresql://user:pass@host:5432/db"
python postgres_server.py
# …or…
python postgres_server.py --conn "postgresql://user:pass@host:5432/db"
# Or using Docker (build once, then run):
# docker build -t mcp-postgres . && docker run -p 8000:8000 mcp-postgresInstalación
Instalación mediante herrería
Para instalar PostgreSQL MCP Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @gldc/mcp-postgres --client claudeInstalación manual
Clonar este repositorio:
git clone <repository-url>
cd mcp-postgresCrear y activar un entorno virtual (recomendado):
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activateInstalar dependencias:
pip install -r requirements.txtUso
Inicie el servidor MCP.
# Without a connection string (server starts, DB‑backed tools will return a friendly error) python postgres_server.py # Or set the connection string via environment variable: export POSTGRES_CONNECTION_STRING="postgresql://username:password@host:port/database" python postgres_server.py # Or pass it using the --conn flag: python postgres_server.py --conn "postgresql://username:password@host:port/database"El servidor proporciona las siguientes herramientas:
query: Ejecutar consultas SQL contra la base de datoslist_schemas: enumera todos los esquemas disponibleslist_tables: enumera todas las tablas en un esquema específicodescribe_table: Obtenga información detallada sobre la estructura de una tablaget_foreign_keys: Obtener relaciones de clave externa para una tablafind_relationships: descubre relaciones explícitas e implícitas para una tabla
Ejecutando con Docker
Construye la imagen:
docker build -t mcp-postgres .Ejecute el contenedor sin una conexión de base de datos (el servidor permanece inspeccionable):
docker run -p 8000:8000 mcp-postgresEjecute una base de datos PostgreSQL en vivo suministrando POSTGRES_CONNECTION_STRING :
docker run \
-e POSTGRES_CONNECTION_STRING="postgresql://username:password@host:5432/database" \
-p 8000:8000 \
mcp-postgresSi se omite la variable de entorno, el servidor se inicia normalmente y todas las herramientas respaldadas por bases de datos devuelven un mensaje amigable que dice “la cadena de conexión no está configurada” hasta que usted lo proporcione.
Configuración con mcp.json
Para integrar este servidor con herramientas compatibles con MCP (como Cursor), agréguelo a su ~/.cursor/mcp.json :
{
"servers": {
"postgres": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/postgres_server.py"
],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://username:password@host:5432/database?ssl=true"
}
}
}
}Si se omite POSTGRES_CONNECTION_STRING , el servidor aún se inicia y es completamente inspeccionable; las herramientas respaldadas por bases de datos simplemente devolverán un error informativo hasta que se proporcione la variable.
Reemplazar:
/path/to/venvcon la ruta de su entorno virtual/path/to/postgres_server.pycon la ruta absoluta al script del servidor
Seguridad
Nunca exponga credenciales de base de datos confidenciales en su código
Utilice variables de entorno o archivos de configuración seguros para las cadenas de conexión de la base de datos
Considere usar agrupación de conexiones para una mejor gestión de recursos
Implementar controles de acceso adecuados y autenticación de usuarios
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Proyectos relacionados
Licencia
Licencia MIT
Derechos de autor (c) 2025 gldc
Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.
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 Servers
- AlicenseBqualityFmaintenanceEnables AI models to interact with PostgreSQL databases through a standardized interface, supporting operations like queries, table manipulation, and schema inspection.650516MIT
- Alicense-qualityDmaintenanceEnables AI agents to query, explore, and analyze PostgreSQL databases through the Model Context Protocol. It provides robust security features including read-only mode, schema restrictions, and query timeouts for safe data interaction.11MIT
- Flicense-qualityDmaintenanceEnables AI assistants to interact with PostgreSQL databases by executing SQL queries and inspecting database schemas. It provides tools to facilitate database exploration and management through the Model Context Protocol.
- AlicenseAqualityCmaintenanceEnables AI assistants to query PostgreSQL databases, inspect schemas, and retrieve complete DDL with built-in read-only protection. It supports multiple database connections and allows for secure database interaction and exploration via the Model Context Protocol.5231MIT
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Comprehensive PostgreSQL documentation and best practices, including ecosystem tools
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/gldc/mcp-postgres'
If you have feedback or need assistance with the MCP directory API, please join our Discord server