PostgreSQL MCP Server
Un servidor MCP para explorar y consultar bases de datos PostgreSQL.
Documentación
PostgreSQL MCP Server
Una implementación de servidor de Model Context Protocol (MCP) para la exploración y consulta de bases de datos PostgreSQL.
Tabla de Contenidos
- Descripción General
- Características
- Requisitos
- Instalación
- Uso
- Herramientas Disponibles
- Consideraciones de Seguridad
- Ejemplo de Interacción en Claude
- Solución de Problemas
- Contacto
Descripción General
Este proyecto proporciona un servidor de Model Context Protocol (MCP) que se conecta a una base de datos PostgreSQL y expone diversas capacidades de descubrimiento y consulta de datos como herramientas MCP. Estas herramientas le permiten explorar la estructura de la base de datos, consultar datos y obtener estadísticas de la base de datos a través de una interfaz estandarizada.
Características
- Conéctese a cualquier base de datos PostgreSQL usando una cadena de conexión estándar
- Ejecute consultas SELECT personalizadas con resultados devueltos en un formato estructurado
- Liste todas las tablas en la base de datos conectada
- Obtenga información detallada del esquema para cualquier tabla
- Filtre registros de la base de datos con condiciones simples de igualdad
- Obtenga estadísticas de la base de datos, incluido el tamaño, el número de tablas y las tablas más grandes
Requisitos
- Python 3.7+
- Paquetes de Python requeridos (listados en
requirements.txt):- mcp
- pg8000
- sqlalchemy
Instalación
- Clone este repositorio o descargue el código fuente
- Cree un entorno virtual (recomendado)
- Instale los paquetes requeridos:
pip install -r requirements.txt
Uso
Uso Básico
Ejecute el servidor proporcionando una cadena de conexión de PostgreSQL:
python server.py postgresql://username:password@hostname:port/database
Uso con Claude Desktop
Para integrarse con Claude Desktop, agregue la siguiente configuración a su archivo de configuración de Claude Desktop:
{
"mcpServers": {
"postgres": {
"command": "python",
"args": [
"/ABOSLUTE/PATH/TO/postgres-mcp-server/server.py",
"postgresql://user:password@host:port/database"
]
}
}
}
Después de agregar o realizar cualquier cambio en el archivo de configuración anterior, asegúrese de relanzar Claude Desktop forzándolo a cerrar.
Ubicación del Archivo de Configuración
El archivo de configuración de Claude Desktop generalmente se encuentra en:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Herramientas Disponibles
El servidor proporciona las siguientes herramientas MCP:

execute_query
Ejecute una consulta SQL SELECT personalizada y devuelva los resultados.
list_tables
Liste todas las tablas en la base de datos PostgreSQL actual.
get_table_schema
Obtenga la definición del esquema para una tabla especificada.
filter_instances
Filtre registros de la base de datos según criterios especificados.
get_database_stats
Obtenga estadísticas generales y metadatos sobre la base de datos PostgreSQL.
Consideraciones de Seguridad
- Este servidor solo permite consultas SELECT para prevenir modificaciones en la base de datos
- Las credenciales de conexión se proporcionan a través de la línea de comandos y no se almacenan
- Considere usar variables de entorno o un método de configuración seguro en entornos de producción
Ejemplo de Interacción en Claude
Una vez conectado a Claude Desktop, puede hacer preguntas como:
- "¿Qué tablas están disponibles en la base de datos?"
- "Muéstrame el esquema de la tabla de clientes"
- "¿Cuántos registros hay en la tabla de pedidos?"
- "¿Cuál es el tamaño total de la base de datos?"

Claude usará las herramientas MCP apropiadas para responder estas preguntas consultando su base de datos PostgreSQL.
Solución de Problemas
-
Si la conexión falla, verifique que su cadena de conexión de PostgreSQL sea correcta
-
Compruebe que su servidor PostgreSQL permita conexiones desde su máquina cliente
-
Servidor No Encontrado: Asegúrese de que las rutas en su archivo de configuración sean correctas y absolutas
Use una ruta absoluta para el comando ejecutando
where pythonPor ejemplo -
"command": "python"debería escribirse como"command": "/Users/username/miniconda3/bin/python" -
Problemas de Permisos: Asegúrese de que la aplicación Claude Desktop tenga permiso para ejecutar el script
-
Bloqueos del Servidor: Revise los registros del servidor para ver errores y asegúrese de que todas las dependencias estén instaladas
Contacto
No dude en plantear un problema en este repositorio.
El postgres-mcp-server SSE y Streamable-HTTP está en desarrollo....