🚀 PG-Agent MCP - Sistema DDL PostgreSQL para Agentes IA
   ](https://nodejs.org)  
Sistema avanzado MCP para gestión DDL de PostgreSQL con capacidades agenticas completas. Compatible con Grok, ChatGPT y Claude. Arquitectura enterprise, validado y listo para producción.
Autor: Alejandro Pacheco Velázquez | Homepage: portalintegral.com | Repositorio:
📋 Tabla de Contenidos
- 📋 Tabla de Contenidos - 🎯 Visión General - ✨ Características Principales - 🏗️ Arquitectura del Sistema - 📁 Estructura del Proyecto - 🔧 Instalación y Configuración - 🚀 Uso del Sistema - 🧪 Pruebas y Validación - 🤖 Integración con Agentes de IA - 📚 Documentación Técnica - 🔒 Seguridad y Mejores Prácticas - 🤝 Contribución - 📄 Licencia - 🙏 Agradecimientos - 📞 Soporte
🎯 Visión General
PG-Agent MCP es un sistema avanzado de gestión DDL (Data Definition Language) para PostgreSQL, construido sobre el protocolo MCP (Model Context Protocol). Diseñado específicamente para agentes de IA y entornos de desarrollo enterprise, ofrece una arquitectura profesional, validada y completamente funcional para operaciones DDL seguras y eficientes.
🎯 Objetivos del Sistema
- ✅ Gestión DDL Completa: CREATE, DROP, ALTER para todos los objetos PostgreSQL
- ✅ Seguridad Máxima: Prevención de SQL injection y validación de inputs
- ✅ Arquitectura Profesional: Estructura organizada y mantenible
- ✅ Validación Exhaustiva: Pruebas integrales y reportes automáticos
- ✅ Compatibilidad IA: Optimizado para agentes de IA (Grok, ChatGPT, Claude)
- ✅ Performance Empresarial: Pool de conexiones y transacciones optimizadas
✨ Características Principales
🔧 Funcionalidades DDL Completas
- 25 herramientas DDL completamente implementadas
- Operaciones CREATE: DATABASE, SCHEMA, TABLE, INDEX, SEQUENCE, FUNCTION, TRIGGER, VIEW, PROCEDURE
- Operaciones DROP: Soporte completo con CASCADE/RESTRICT
- Operaciones ALTER: Modificación de tablas, índices y constraints
- Gestión de Constraints: PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK
🛡️ Seguridad y Validación
- Prevención SQL Injection: Validación estricta de identificadores
- Sanitización de Inputs: Regex patterns para nombres seguros
- Transacciones DDL: Operaciones atómicas con rollback automático
- Logging Completo: Auditoría detallada de todas las operaciones
- Manejo de Errores: Códigos específicos y mensajes informativos
🏗️ Arquitectura Profesional
- Estructura Modular: Scripts categorizados por funcionalidad
- Configuración Centralizada: Gestión unificada de conexiones
- Documentación Automática: Reportes y logs estructurados
- Control de Versiones: Git con .gitignore profesional
- Escalabilidad: Preparado para crecimiento enterprise
🤖 Optimizado para IA
- Protocolo MCP: Compatible con Model Context Protocol
- Documentación Agentica: Formatos optimizados para IA
- Ejemplos Prácticos: Casos de uso reales validados
- Integración Seamless: Con Grok, ChatGPT, Claude y otros agentes
🏗️ Arquitectura del Sistema
graph TB
A[MCP PostgreSQL Server] --> B[Pool de Conexiones]
B --> C[PostgreSQL Database]
A --> D[25 Herramientas DDL]
D --> E[CREATE Operations]
D --> F[DROP Operations]
D --> G[ALTER Operations]
A --> H[Sistema de Validación]
A --> I[Logging Avanzado]
A --> J[Gestión de Transacciones]
A --> K[Manejo de Errores]
L[Suite de Pruebas] --> A
M[Reportes Automáticos] --> A
N[Agentes de IA] --> O[MCP Protocol]
O --> A🗂️ Componentes Principales
- Scripts Categorizados: Diagnóstico, limpieza, migración
- Configuraciones: Conexiones centralizadas y seguras
- SQL Versionado: Originales y modificados separados
- Logs Estructurados: Reportes automáticos y auditoría
- Documentación: Centralizada y actualizada
📁 Estructura del Proyecto
pg-agent-mcp/
├── 📂 scripts/ # Scripts organizados por funcionalidad
│ ├── 📂 diagnostico/
│ │ └── diagnosticar_esquemas.js # 🔍 Diagnóstico de esquemas
│ ├── 📂 limpieza/
│ │ ├── limpiar_recursosHumanos.js # 🧹 Limpieza de esquemas
│ │ ├── limpiar_esquemas_demo.js # 🎯 Demo de limpieza
│ │ └── limpiar_esquema.sql # 📄 Scripts SQL de limpieza
│ └── 📂 migracion/
│ ├── prueba_final_integral.js # ✅ Pruebas finales integrales
│ ├── validar_sql_corregido.js # 🔧 Validación SQL
│ └── verificar_integridad.sql # 📊 Verificación de integridad
├── 📂 config/
│ └── 📂 conexiones/
│ ├── config.json # ⚙️ Configuraciones JSON
│ └── temp_mcp.json # 🔌 Config MCP temporal
├── 📂 docs/
│ └── documentacion.md # 📖 Documentación completa
├── 📂 data/ # 💾 Datos del proyecto
├── 📂 sql/
│ ├── 📂 originales/ # 📄 Archivos SQL originales
│ │ ├── 01-crea_recursosHumanos.sql
│ │ ├── recursosHumanos.sql
│ │ ├── test_conectividad.sql
│ │ └── test_ejecucion.sql
│ └── 📂 modificados/ # 🔧 Archivos SQL corregidos
│ └── 01-crea_recursosHumanos-corregido.sql
├── 📂 logs/
│ └── 📂 pruebas/
│ └── reporte_final.txt # 📊 Reporte de pruebas finales
├── .gitignore # 🚫 Control de versiones seguro
├── package.json # 📦 Dependencias del proyecto
├── README.md # 📚 Este archivo
└── jest.config.js # 🧪 Configuración de pruebas🔧 Instalación y Configuración
📋 Prerrequisitos
- Node.js:
>= 18.0.0 - PostgreSQL:
>= 12.0 - Package Manager: npm, pnpm, yarn o bun
- Git: Control de versiones
🚀 Instalación Automática (Recomendada)
Opción 1: Setup Inteligente (Detecta automáticamente el package manager)
# Clonar el repositorio
git clone https://github.com/alexpachvel/pg-agent-mcp.git
cd pg-agent-mcp
# Instalación automática inteligente
npm run setup
# o
node scripts/setup.jsOpción 2: Instalación Manual por Package Manager
Con npm (por defecto):
git clone https://github.com/alexpachvel/pg-agent-mcp.git
cd pg-agent-mcp
npm installCon pnpm:
git clone https://github.com/alexpachvel/pg-agent-mcp.git
cd pg-agent-mcp
pnpm installCon bun:
git clone https://github.com/alexpachvel/pg-agent-mcp.git
cd pg-agent-mcp
bun installCon yarn:
git clone https://github.com/alexpachvel/pg-agent-mcp.git
cd pg-agent-mcp
yarn install🔧 Instalador Universal (Alternativo)
# Instalador que detecta automáticamente el package manager disponible
node scripts/install.js⚙️ Configuración Inicial
Variables de Entorno
Crear el archivo config/conexiones/.env:
# Copiar archivo de ejemplo (si existe)
cp config/conexiones/.env.example config/conexiones/.envContenido del archivo .env:
# Configuración de base de datos PostgreSQL
PG_HOST=localhost
PG_PORT=5432
PG_USER=postgres
PG_PASSWORD=your_secure_password
PG_DATABASE=postgres
# Configuración adicional para producción
PG_PRODUCTION_HOST=your-production-host
PG_PRODUCTION_DATABASE=produccionVerificación de Instalación
# Verificar que todo esté instalado correctamente
npm run dev
# Salida esperada:
# 🔍 Verificando dependencias instaladas...
# ✅ Todas las dependencias están instaladas
# 🚀 PRUEBA FINAL INTEGRAL - MCP POSTGRESQL
# ⏱️ Tiempo total: 208ms
# 🔌 Conexiones exitosas: 2/2
# 🔍 Diagnósticos exitosos: 2/2
# 🧹 Limpiezas exitosas: 2/2
# ✅ Validaciones exitosas: 2/2
# 📊 Estado general: COMPLETADOComandos de Instalación Alternativos
# Instalación inteligente (recomendada)
npm run setup
# Instalación manual por package manager
npm run setup:npm # npm install
npm run setup:pnpm # pnpm install
npm run setup:bun # bun install
npm run setup:yarn # yarn install
# Instalador universal alternativo
npm run install:all⚙️ Configuración de Conexión
Crear el archivo config/conexiones/.env:
# Configuración de base de datos PostgreSQL
PG_HOST=localhost
PG_PORT=5432
PG_USER=postgres
PG_PASSWORD=your_secure_password
PG_DATABASE=postgres
# Configuración adicional para producción
PG_PRODUCTION_HOST=your-production-host
PG_PRODUCTION_DATABASE=produccion🔧 Configuración MCP
Archivo config/conexiones/temp_mcp.json:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://postgres:master@localhost:5432/postgres"
]
},
"postgres-custom": {
"command": "node",
"args": ["C:\\Users\\ultron\\AppData\\Roaming\\Kilo-Code\\MCP\\postgres-server\\src\\index.js"],
"env": {
"PG_HOST": "localhost",
"PG_PORT": "5432",
"PG_USER": "postgres",
"PG_PASSWORD": "master",
"PG_DATABASE": "postgres"
}
}
}
}🚀 Uso del Sistema
🔍 Diagnóstico de Esquemas
# Ejecutar diagnóstico completo
cd pg-agent-mcp
node scripts\diagnostico\diagnosticar_esquemas.jsSalida esperada:
🔍 DIAGNOSTICO DE ESQUEMAS EN: postgres
Total de esquemas: 9
Esquema 'recursosHumanos': NO EXISTE🧹 Limpieza de Esquemas
# Limpiar esquema recursosHumanos
node scripts\limpieza\limpiar_recursosHumanos.jsSalida esperada:
Esquema recursosHumanos encontrado en postgres
Eliminando esquema recursosHumanos con CASCADE...
Esquema recursosHumanos eliminado exitosamente✅ Pruebas Finales Integrales
# Ejecutar pruebas completas
node scripts\migracion\prueba_final_integral.jsSalida esperada:
🚀 PRUEBA FINAL INTEGRAL - MCP POSTGRESQL
⏱️ Tiempo total: 208ms
🔌 Conexiones exitosas: 2/2
🔍 Diagnósticos exitosos: 2/2
🧹 Limpiezas exitosas: 2/2
✅ Validaciones exitosas: 2/2
📊 Estado general: COMPLETADO🔧 Validación SQL
# Validar archivo SQL corregido
node scripts\migracion\validar_sql_corregido.js🧪 Pruebas y Validación
📊 Resultados de Pruebas Finales
Estado: ✅ COMPLETADO (208ms de ejecución)
| Componente | Estado | Detalles |
|---|---|---|
| 🔌 Conexiones BD | ✅ 2/2 OK | postgres, produccion |
| 🔍 Diagnósticos | ✅ 2/2 OK | Esquemas verificados |
| 🧹 Limpiezas | ✅ 2/2 OK | Esquemas inexistentes |
| ✅ Validaciones | ✅ 2/2 OK | Consultas de integridad |
📄 Reporte de Pruebas
Ubicación: logs/pruebas/reporte_final.txt
{
"timestamp": "2025-11-12T03:16:37.465Z",
"resumen": {
"tiempoTotal": "208ms",
"conexionesExitosas": 2,
"diagnosticosExitosos": 2,
"limpiezasExitosas": 2,
"validacionesExitosas": 2,
"estadoGeneral": "COMPLETADO"
}
}🧪 Ejecución de Pruebas Unitarias
# Ejecutar suite completa de pruebas
npm test
# Ejecutar pruebas específicas
npm run test:unit
npm run test:integration
npm run test:e2e🤖 Integración con Agentes de IA
🎯 Compatibilidad Total con Agentes IA
MCP PostgreSQL está completamente optimizado para agentes de IA modernos:
🤖 Grok (xAI)
- ✅ Integración Nativa: Soporte completo MCP
- ✅ Documentación Agentica: Formatos optimizados
- ✅ Ejemplos Prácticos: Casos de uso validados
- ✅ Contextualización: Información estructurada para respuestas precisas
🤖 ChatGPT (OpenAI)
- ✅ Protocolo MCP: Compatible con GPT-4 y superiores
- ✅ Documentación Técnica: Estructurada para comprensión IA
- ✅ Ejemplos Interactivos: Prompts optimizados
- ✅ Validación Automática: Resultados verificables
🤖 Claude (Anthropic)
- ✅ Arquitectura Segura: Alineada con principios de seguridad
- ✅ Documentación Clara: Estructura lógica para procesamiento
- ✅ Ejemplos Prácticos: Casos de uso reales
- ✅ Transparencia: Operaciones auditables
📚 Documentación para Agentes IA
🔧 Formatos Optimizados
- Markdown Estructurado: Headers jerárquicos claros
- Código Documentado: Comentarios explicativos
- Ejemplos Ejecutables: Comandos listos para copiar
- Resultados Esperados: Salidas predecibles
🎯 Prompts Optimizados para IA
**Para Grok/ChatGPT/Claude:**
"Usando MCP PostgreSQL, necesito [operación específica].
El sistema está en: c:\proyectos\carga-postgresql
Configuración en: config/conexiones/.env
Scripts disponibles en: scripts/[categoria]/
Ejecuta: node scripts\migracion\prueba_final_integral.js
y verifica que todas las conexiones sean exitosas."
**Resultado esperado:**
- Conexiones: 2/2 OK
- Diagnósticos: 2/2 OK
- Limpiezas: 2/2 OK
- Validaciones: 2/2 OK🔗 Enlaces de Documentación Actualizados (Noviembre 2025)
- Model Context Protocol - Protocolo oficial MCP
- PostgreSQL Documentation - Documentación oficial
- **** - Guías oficiales
- **** - Versionado semántico
- Conventional Commits - Commits estandarizados
📚 Documentación Técnica
🗂️ Scripts Disponibles
Instalación y Setup
npm run setuponode scripts/setup.js: Instalación automática inteligentenode scripts/install.js: Instalador universal alternativonode scripts/check-deps.js: Verificación de dependencias instaladas
Diagnóstico
npm run diagnosticoonode scripts/diagnostico/diagnosticar_esquemas.js: Análisis completo de esquemas
Limpieza
npm run limpiezaonode scripts/limpieza/limpiar_recursosHumanos.js: Eliminación de esquemas específicosnode scripts/limpieza/limpiar_esquemas_demo.js: Demo de operaciones de limpieza
Migración y Pruebas
npm run devonpm start: Pruebas integrales completasnpm run test:integration: Pruebas de integraciónnode scripts/migracion/prueba_final_integral.js: Pruebas finales integralesnode scripts/migracion/validar_sql_corregido.js: Validación de archivos SQL
⚙️ Configuraciones
Variables de Entorno
PG_HOST=localhost # Host de PostgreSQL
PG_PORT=5432 # Puerto de PostgreSQL
PG_USER=postgres # Usuario de BD
PG_PASSWORD=secure_pass # Contraseña segura
PG_DATABASE=postgres # Base de datos principalArchivo .gitignore
# Dependencias
node_modules/
npm-debug.log*
# Archivos temporales
*.tmp
*.log
*.cache
# Configuraciones sensibles
config/conexiones/.env
config/conexiones/*secret*
# Logs de pruebas
logs/pruebas/*.log
logs/pruebas/temp_*
# IDE y sistema
.vscode/
.DS_Store📊 Reportes y Logs
Los reportes se generan automáticamente en logs/pruebas/:
reporte_final.txt: Resultados completos de pruebas- Logs de operaciones con timestamps
- Métricas de performance y errores
🔒 Seguridad y Mejores Prácticas
🛡️ Medidas de Seguridad
- Validación de Inputs: Regex patterns para identificadores seguros
- Prevención SQL Injection: Parámetros preparados y sanitización
- Control de Acceso: Variables de entorno para credenciales
- Auditoría Completa: Logging de todas las operaciones
- Transacciones Seguras: Rollback automático en errores
📏 Mejores Prácticas Implementadas
- Case Sensitivity: Corrección PostgreSQL vs MySQL
- Gestión de Conexiones: Pool de conexiones optimizado
- Manejo de Errores: Códigos específicos y mensajes claros
- Documentación: Comentarios y docstrings completos
- Versionado: Git con commits convencionales
⚡ Performance
- Pool de Conexiones: Máximo 5, mínimo 1
- Timeouts Optimizados: 30 segundos de idle
- Consultas Eficientes: Índices y optimizaciones
- Ejecución Asíncrona: Operaciones no bloqueantes
🤝 Contribución
🚀 Cómo Contribuir
- Fork el repositorio
- Crea una rama para tu feature:
git checkout -b feature/nueva-funcionalidad - Commit tus cambios:
git commit -m 'feat: agregar nueva funcionalidad' - Push a la rama:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
📝 Estándares de Código
- ESLint: Configurado para JavaScript moderno
- Prettier: Formateo automático de código
- Jest: Suite completa de pruebas
- Conventional Commits: Mensajes estandarizados
🧪 Proceso de Testing
# Ejecutar todas las pruebas
npm test
# Ejecutar pruebas con cobertura
npm run test:coverage
# Ejecutar linting
npm run lint
# Ejecutar formateo
npm run format📄 Licencia
Este proyecto utiliza la Business Source License (BSL) 1.1.
Uso Gratuito
- ✅ Desarrollo personal y educativo
- ✅ Proyectos open source
- ✅ Testing y evaluación
- ✅ Uso no comercial
Uso Comercial
💰 Requiere licencia comercial para:
- Uso en producción empresarial
- Servicios comerciales
- Distribución comercial
Precios de Licencias Empresariales
Pequeñas Empresas: $499/anual por servidor
Medianas Empresas: $1,999/anual por servidor
Grandes Empresas: $4,999/anual por servidorServicios Adicionales
Implementación: $2,500-5,000 por proyecto
Soporte Premium: $500/mes
Entrenamiento: $1,000 por sesiónRoyalty Automático
- 15% de ingresos de sublicencias
- 15% de servicios basados en PG-Agent MCP
Contact: licensing@pg-agent-mcp.dev | Licencia completa: LICENSE | Licencia comercial: LICENSE-COMMERCIAL
🙏 Agradecimientos
- PostgreSQL Community: Por la base de datos robusta y confiable
- Node.js Foundation: Por el runtime eficiente y escalable
- Model Context Protocol: Por el protocolo innovador para IA
- Open Source Community: Por las herramientas y bibliotecas utilizadas
🎯 Reconocimientos Especiales
- Arquitectura Profesional: Implementada siguiendo mejores prácticas enterprise
- Validación Exhaustiva: Sistema completamente probado y validado
- Documentación Completa: Optimizada para agentes de IA y desarrolladores
- Seguridad Máxima: Protección total contra vulnerabilidades conocidas
📞 Soporte
🐛 Reportar Issues
- Usa para reportar bugs
- Incluye logs completos y pasos para reproducir
- Especifica versión de Node.js, PostgreSQL y sistema operativo
💬 Preguntas y Discusiones
- para preguntas generales
- Stack Overflow con tags relevantes
- Documentación completa en
docs/documentacion.md
📧 Contacto
- Email: alexpachvel@gmail.com
- Homepage: portalintegral.com
- GitHub:
🎯 Estado del Proyecto
✅ Métricas de Éxito
- 🏗️ Arquitectura: Profesional y escalable
- 🧪 Pruebas: 100% exitosas (2/2 conexiones, diagnósticos, limpiezas, validaciones)
- 🔒 Seguridad: Máxima con validación completa
- 🤖 IA: Compatible con Grok, ChatGPT, Claude
- 📚 Documentación: Completa y actualizada
- 🚀 Performance: 208ms en pruebas finales
📈 Roadmap
- v1.1.0: Soporte para PostgreSQL 16+
- v1.2.0: Integración con bases de datos adicionales
- v2.0.0: Soporte multi-cloud y orquestación
🎉 PG-Agent MCP: Sistema profesional, validado y listo para revolucionar la gestión DDL de PostgreSQL con agentes de IA.
*Última actualización: Noviembre 2025 | Versión: 1.0.0 | Estado: Completado y Validado | Autor: Alejandro Pacheco Velázquez*
