Postgres Analytics MCP Server
Postgres Analytics MCP Server
Un servidor de Model Context Protocol (MCP) que permite a los asistentes de IA (Claude, Cursor y otros clientes compatibles con MCP) inspeccionar y consultar una base de datos PostgreSQL de forma segura, con aplicación de solo lectura, límites de filas/tiempo de espera y registro de auditoría completo.
Creado para responder a una pregunta sencilla: ¿cómo se permite que un agente de IA toque una base de datos real sin darle la capacidad de romper nada?
Qué hace
Una vez conectado, un cliente de IA puede preguntar cosas como:
"¿Qué tablas hay en mi base de datos?"
"Muéstrame los 10 pedidos más recientes."
"¿Por qué esta consulta es lenta?"
"¿Qué tablas no tienen índices?"
El servidor expone 5 herramientas a través de MCP:
Herramienta | Propósito |
list_schemas | Listar todos los esquemas que no son del sistema |
list_tables | Listar las tablas de un esquema dado |
run_query | Ejecutar una consulta SQL de solo lectura (solo SELECT/WITH) |
explain_query | Devolver un plan de ejecución de consulta y marcar si es lento |
get_table_stats | Devolver estimaciones de filas y recuentos de escaneos de índice/seq para una tabla |
Related MCP server: PostgreSQL MCP Server
Por qué existe esto
Las empresas están conectando cada vez más agentes de IA a sistemas internos (bases de datos, Kubernetes, APIs), y la parte difícil es hacerlo de forma segura. Este proyecto es un ejemplo pequeño y concreto de eso: un puente protegido entre un cliente de IA y una base de datos de estilo producción.
Decisiones de diseño
Solo lectura por defecto, dos veces: cada consulta se valida contra una lista negra y debe comenzar con SELECT, WITH o EXPLAIN. La conexión a la base de datos también se abre en modo de solo lectura como segunda línea de defensa.
Límites de filas y tiempos de espera de consulta: cada consulta tiene un límite de filas configurable y un tiempo de espera de declaración para que no pueda devolver datos ilimitados ni bloquear el servidor.
La autenticación vive en el entorno del proceso, no en el chat: la clave API se establece mediante la configuración del cliente MCP como variable de entorno, por lo que el modelo de IA nunca la ve ni la maneja directamente.
Registro de auditoría: cada llamada a una herramienta se registra con una marca de tiempo, nombre de la herramienta, argumentos y resultado.
Configuración
Requisitos: Python 3.11+, PostgreSQL
Crea un entorno virtual e instala las dependencias: python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt
Crea una base de datos y carga el esquema de ejemplo: psql -U postgres -c "CREATE DATABASE sampledb;" psql -U postgres -d sampledb -f seed.sql
Copia .env.example a .env y completa tus propios valores.
Ejecútalo directamente para comprobar que funciona: python -m server.main
Conexión con Claude Desktop
Añade a claude_desktop_config.json (Claude Desktop -> Configuración -> Desarrollador -> Editar configuración):
"mcpServers": {
"postgres-analytics": {
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["-m", "server.main"],
"env": {
"PYTHONPATH": "C:\\path\\to\\project",
"MCP_API_KEY": "same-value-as-in-.env"
}
}
}Stack
Python, PostgreSQL, MCP Python SDK, psycopg2
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases through read-only operations, providing schema discovery, table inspection, and query execution capabilities with structured context awareness.MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to PostgreSQL databases, enabling users to list tables, view table structures and statistics, and execute SELECT queries safely through natural language.134 npmMIT
- FlicenseAqualityDmaintenanceEnables AI agents to inspect and query PostgreSQL databases safely, with features like listing tables, retrieving schemas, and running read-only SQL queries.3-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.2-